  :root {
    --ink:#201b20;--ink-soft:#5f5965;--line:rgba(41,38,49,0.10);
    --bg:#f6f2ed;--bg-alt:#fffdfa;--card:rgba(255,255,255,0.76);
    --card-strong:#fffdf8;--glass:rgba(255,255,255,0.56);
    --shadow:0 24px 80px rgba(95,67,86,0.10);
    --shadow-soft:0 10px 30px rgba(95,67,86,0.08);
    --header-height:74px;
    --pink:#e73568;--pink-deep:#c92556;--sand:#e8d6bb;--aqua:#2ea8c9;
    --navy:#2c2740;--navy-mid:#3a3451;--navy-light:#5d5675;
    --amber:#e8d6bb;--amber-light:#f2e7d4;--green:#22c55e;--red:#dc5f6d;--blue:#2ea8c9;
    --text:var(--ink);--muted:var(--ink-soft);--border:var(--line);
    --radius-xl:28px;--radius-lg:22px;--radius-md:16px;
  }
  *{margin:0;padding:0;box-sizing:border-box;}
  html,body{overscroll-behavior:none;}
  body{font-family:'Manrope',sans-serif;background:radial-gradient(circle at top left,rgba(231,53,104,0.08),transparent 30%),radial-gradient(circle at top right,rgba(46,168,201,0.10),transparent 34%),linear-gradient(180deg,#fbf8f3 0%,#f5f1eb 100%);color:var(--text);min-height:100vh;display:flex;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;touch-action:manipulation;}

  /* LOADING SCREEN */
  #loading-screen{position:fixed;top:0;right:0;bottom:0;left:0;background:linear-gradient(145deg,#fff8f5 0%,#f6f1ea 54%,#eef8fb 100%);display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:9999;transition:opacity 0.5s;}
  #loading-screen.hidden{display:none;}
  .loading-logo{font-family:'Fraunces',serif;color:var(--pink);font-size:2.5rem;letter-spacing:-0.04em;margin-bottom:10px;}
  .loading-sub{color:var(--aqua);font-size:0.88rem;letter-spacing:0.12em;text-transform:uppercase;font-weight:700;margin-bottom:28px;}
  .loading-spinner{width:42px;height:42px;border:3px solid rgba(44,39,64,0.08);border-top-color:var(--pink);border-radius:50%;animation:spin 0.8s linear infinite;}
  @keyframes spin{to{transform:rotate(360deg);}}
  .loading-status{color:rgba(44,39,64,0.55);font-size:0.8rem;margin-top:16px;}

  .brand-lockup{display:flex;align-items:center;justify-content:flex-start;gap:14px;}
  .brand-mark{width:52px;height:52px;border-radius:18px;box-shadow:0 18px 36px rgba(231,53,104,0.18);flex-shrink:0;overflow:hidden;background:transparent;}
  .brand-image{display:block;width:100%;height:100%;object-fit:contain;}
  .sidebar-brand-copy{display:flex;flex-direction:column;gap:4px;min-width:0;}
  .sidebar-brand-copy strong{font-family:'Fraunces',serif;font-size:1.42rem;color:var(--navy);letter-spacing:-0.05em;line-height:0.95;}
  .sidebar-brand-copy em{font-style:normal;font-size:0.76rem;color:var(--aqua);font-weight:800;letter-spacing:0.18em;text-transform:uppercase;}
  .brand-panel{display:flex;align-items:center;gap:16px;margin-bottom:18px;}
  .brand-panel .brand-mark{width:64px;height:64px;border-radius:22px;}
  .brand-panel .brand-image{width:64px;height:64px;border-radius:22px;object-fit:contain;display:block;}
  .brand-panel h3{font-family:'Fraunces',serif;font-size:1.8rem;line-height:0.92;letter-spacing:-0.06em;color:var(--navy);}
  .brand-panel p{font-size:0.78rem;letter-spacing:0.22em;text-transform:uppercase;color:var(--aqua);font-weight:800;margin-top:4px;}
  .page-intro{display:flex;align-items:center;justify-content:space-between;gap:24px;}
  .home-next-termin-card{flex-shrink:0;background:rgba(255,255,255,0.92);border:1.5px solid rgba(41,38,49,0.08);border-radius:20px;padding:16px 20px;min-width:220px;max-width:280px;cursor:pointer;transition:all 0.18s;box-shadow:0 2px 12px rgba(44,39,64,0.06);}
  .home-next-termin-card:hover{border-color:rgba(231,53,104,0.3);transform:translateY(-2px);}
  .page-intro-copy h2{font-family:'Fraunces',serif;font-size:2.25rem;letter-spacing:-0.05em;color:var(--navy);margin-bottom:8px;}
  .page-intro-copy p{max-width:700px;color:rgba(44,39,64,0.68);line-height:1.7;}
  .soft-glow{position:relative;}
  .soft-glow::after{content:'';position:absolute;inset:auto -40px -50px auto;width:180px;height:180px;background:radial-gradient(circle,rgba(231,53,104,0.12),rgba(231,53,104,0));pointer-events:none;}

  /* SIDEBAR */
  .sidebar{width:292px;background:rgba(255,252,248,0.92);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-right:1px solid rgba(41,38,49,0.08);height:100vh;height:100dvh;display:flex;flex-direction:column;position:fixed;top:0;left:0;bottom:0;z-index:100;box-shadow:18px 0 50px rgba(76,55,74,0.06);overflow:hidden;}
  .sidebar-logo{padding:20px 18px 16px;border-bottom:1px solid rgba(41,38,49,0.06);}
  .sidebar-logo h1{font-family:'Fraunces',serif;color:var(--navy);font-size:1.45rem;line-height:1.05;letter-spacing:-0.04em;}
  .sidebar-logo span{color:var(--aqua);font-size:0.76rem;font-weight:800;letter-spacing:0.18em;text-transform:uppercase;}
  .sidebar-module-pill{margin-top:16px;display:inline-flex;align-items:center;gap:8px;padding:7px 13px;border-radius:999px;background:rgba(231,53,104,0.08);color:var(--pink);font-size:0.72rem;font-weight:800;letter-spacing:0.08em;text-transform:uppercase;border:1px solid rgba(231,53,104,0.10);}
  .nav-section{padding:20px 0 8px;flex:1;overflow-y:auto;}
  .nav-label{color:rgba(44,39,64,0.34);font-size:0.66rem;letter-spacing:0.18em;text-transform:uppercase;font-weight:800;padding:0 24px 10px;}
  .nav-item{display:flex;align-items:center;gap:12px;padding:13px 18px;margin:4px 14px;border-radius:16px;color:rgba(44,39,64,0.72);cursor:pointer;transition:all 0.2s;font-size:0.92rem;font-weight:600;border:1px solid transparent;}
  .nav-item:hover{background:rgba(46,168,201,0.08);color:var(--navy);border-color:rgba(46,168,201,0.08);}
  .nav-item.active{background:linear-gradient(135deg,rgba(231,53,104,0.11),rgba(46,168,201,0.10));color:var(--navy);border-color:rgba(231,53,104,0.10);font-weight:800;box-shadow:var(--shadow-soft);}
  .nav-item svg{width:18px;height:18px;flex-shrink:0;}
  .nav-item{position:relative;}
  .notif-dot{position:absolute;top:50%;right:14px;transform:translateY(-50%);font-size:0.68rem;font-weight:800;color:var(--pink);letter-spacing:0.04em;display:none;white-space:nowrap;}
  .notif-dot.visible{display:inline-block;}
  .notif-card-dot{display:inline-block;font-size:0.62rem;font-weight:800;color:var(--pink);letter-spacing:0.04em;margin-left:6px;vertical-align:middle;white-space:nowrap;}
  .sidebar-year{padding:18px 22px;border-top:1px solid rgba(41,38,49,0.06);flex-shrink:0;}
  .sidebar-year label{color:rgba(44,39,64,0.45);font-size:0.72rem;text-transform:uppercase;letter-spacing:0.12em;display:block;margin-bottom:8px;font-weight:800;}
  .sidebar-year select{background:rgba(255,255,255,0.88);color:var(--navy);border:1px solid rgba(41,38,49,0.08);border-radius:14px;padding:11px 12px;font-size:0.92rem;width:100%;cursor:pointer;font-family:inherit;box-shadow:var(--shadow-soft);}
  .sync-indicator{padding:12px 22px;display:flex;align-items:center;gap:8px;font-size:0.78rem;color:rgba(44,39,64,0.48);flex-shrink:0;}
  .sync-dot{width:7px;height:7px;border-radius:50%;background:#2ecc71;flex-shrink:0;}
  .sync-dot.syncing{background:var(--amber);animation:pulse 1s infinite;}
  .sync-dot.error{background:var(--red);}
  @keyframes pulse{0%,100%{opacity:1;}50%{opacity:0.3;}}

  /* MAIN */
  .main{margin-left:292px;flex:1;min-height:100vh;display:flex;flex-direction:column;}
  .topbar{background:rgba(255,252,248,0.72);backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px);border-bottom:1px solid rgba(41,38,49,0.06);padding:0 38px;height:76px;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:50;}
  .topbar-left{display:flex;align-items:center;gap:12px;min-width:0;}
  .topbar-title{font-family:'Fraunces',serif;font-size:1.55rem;color:var(--navy);letter-spacing:-0.04em;}
  .topbar-actions{display:flex;gap:10px;align-items:center;}
  .mobile-menu-btn{display:none;align-items:center;justify-content:center;width:44px;height:44px;border:1px solid rgba(41,38,49,0.08);border-radius:14px;background:rgba(255,255,255,0.8);color:var(--navy);cursor:pointer;flex-shrink:0;box-shadow:var(--shadow-soft);}
  .mobile-menu-btn svg{width:18px;height:18px;}
  .sidebar-overlay{display:none;}

  .btn{display:inline-flex;align-items:center;gap:8px;padding:11px 18px;border-radius:999px;font-size:0.88rem;font-weight:800;cursor:pointer;border:none;transition:all 0.22s;font-family:inherit;letter-spacing:-0.01em;}
  .btn:disabled{opacity:0.5;cursor:not-allowed;}
  .btn-primary{background:linear-gradient(135deg,var(--pink),var(--pink-deep));color:#fff;box-shadow:0 16px 30px rgba(231,53,104,0.24);}
  .btn-primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 18px 32px rgba(231,53,104,0.28);}
  .btn-amber{background:linear-gradient(135deg,var(--sand),#f4e7d4);color:var(--navy);box-shadow:0 14px 28px rgba(168,132,80,0.16);}
  .btn-amber:hover:not(:disabled){transform:translateY(-1px);}
  .btn-outline{background:rgba(255,255,255,0.72);border:1px solid rgba(41,38,49,0.08);color:var(--navy);box-shadow:var(--shadow-soft);}
  .btn-outline:hover:not(:disabled){border-color:rgba(46,168,201,0.18);background:rgba(255,255,255,0.95);transform:translateY(-1px);}
  .btn-danger{background:#fff0f1;color:var(--red);box-shadow:none;}
  .btn-danger:hover:not(:disabled){background:#ffe4e7;}
  .btn-sm{padding:8px 13px;font-size:0.79rem;}
  .btn svg{width:16px;height:16px;}

  .content{padding:34px 38px 46px;flex:1;}
  .page{display:none;}.page.active{display:block;}
  .module-shell{display:grid;gap:24px;}
  /* Hero ohne eigenen Hintergrund/Border/Shadow - Body-Hintergrund läuft durchgängig durch */
  /* overflow:hidden zwingend, sonst bluten die dekorativen Pink/Aqua-Kreise in den Chat-Card-Bereich */
  .module-hero{background:transparent;color:var(--navy);border:none;border-radius:0;padding:20px 34px 12px;box-shadow:none;position:relative;overflow:hidden;backdrop-filter:none;-webkit-backdrop-filter:none;}
  .module-hero::before{content:'';position:absolute;inset:auto auto -40px -50px;width:240px;height:240px;border-radius:50%;background:radial-gradient(circle,rgba(231,53,104,0.14),rgba(231,53,104,0));}
  .module-hero::after{content:'';position:absolute;right:-40px;top:-40px;width:220px;height:220px;border-radius:50%;background:radial-gradient(circle,rgba(46,168,201,0.16),rgba(46,168,201,0));}
  .module-kicker{font-size:0.74rem;letter-spacing:0.22em;text-transform:uppercase;color:var(--aqua);font-weight:800;margin-bottom:12px;}
  .module-hero h2{font-family:'Fraunces',serif;font-size:3rem;line-height:0.98;margin-bottom:14px;letter-spacing:-0.05em;position:relative;z-index:1;}
  .module-hero p{max-width:760px;color:rgba(44,39,64,0.74);font-size:1rem;line-height:1.72;position:relative;z-index:1;}
  .module-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;}
  .module-card{background:#fff;border:1.5px solid rgba(41,38,49,0.07);border-radius:24px;box-shadow:0 2px 12px rgba(44,39,64,0.06);padding:22px 20px 18px;display:flex;flex-direction:column;gap:14px;cursor:pointer;transition:box-shadow 0.2s,transform 0.2s,border-color 0.2s;user-select:none;position:relative;overflow:hidden;}
  .module-card::after{content:'';position:absolute;top:0;right:0;bottom:0;left:0;border-radius:24px;opacity:0;background:rgba(44,39,64,0.025);transition:opacity 0.2s;}
  .module-card:hover{box-shadow:0 10px 36px rgba(44,39,64,0.13);transform:translateY(-4px);border-color:rgba(41,38,49,0.13);}
  .module-card:hover::after{opacity:1;}
  .module-card:active{transform:translateY(-1px);box-shadow:0 4px 16px rgba(44,39,64,0.09);}
  .module-card-top{display:flex;align-items:flex-start;justify-content:space-between;}
  .module-card-arrow{width:18px;height:18px;color:rgba(44,39,64,0.22);flex-shrink:0;margin-top:4px;transition:color 0.2s,transform 0.2s;}
  .module-card:hover .module-card-arrow{color:rgba(44,39,64,0.5);transform:translateX(2px);}
  .module-card-icon{width:56px;height:56px;border-radius:16px;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
  .module-card-icon svg{width:26px;height:26px;}
  .module-card-icon.hours{background:rgba(232,214,187,0.6);color:#7a5a2e;}
  .module-card-icon.members{background:rgba(231,53,104,0.1);color:var(--pink);}
  .module-card-icon.inventory{background:rgba(46,168,201,0.12);color:var(--aqua);}
  .module-card-icon.settings{background:rgba(44,39,64,0.08);color:var(--navy);}
  .module-card h3{font-family:'Fraunces',serif;font-size:1.18rem;color:var(--navy);letter-spacing:-0.03em;line-height:1.2;margin:0;min-width:0;overflow-wrap:break-word;}
  .module-card-header{display:flex;align-items:center;gap:14px;}
  .module-card-header h3{margin:0;min-width:0;overflow-wrap:break-word;word-break:break-word;}
  .module-card-meta{display:flex;gap:5px;flex-wrap:wrap;margin-top:2px;}
  .module-chip{display:inline-flex;align-items:center;padding:2px 7px;border-radius:999px;background:rgba(44,39,64,0.04);color:rgba(44,39,64,0.45);font-size:0.62rem;font-weight:700;letter-spacing:0.08em;text-transform:uppercase;border:1px solid rgba(41,38,49,0.07);}
  .module-card-footer{display:none;}
  .module-placeholder{background:var(--card);border:1px dashed #bfd0ea;border-radius:18px;padding:38px 32px;box-shadow:var(--shadow);}
  .module-placeholder h3{font-family:'Fraunces',serif;font-size:1.5rem;color:var(--navy);margin-bottom:12px;}
  .module-placeholder p{max-width:760px;color:var(--muted);line-height:1.65;margin-bottom:18px;}
  .inventory-toolbar{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-bottom:20px;justify-content:flex-end;}
  /* ── Inventar Kachelansicht ── */
  .inv-view-toggle{display:flex;gap:4px;background:rgba(44,39,64,0.07);padding:4px;border-radius:10px;}
  .inv-view-btn{width:34px;height:34px;border:none;background:transparent;border-radius:7px;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--muted);transition:all 0.15s;}
  .inv-view-btn.active{background:#fff;color:var(--navy);box-shadow:0 1px 4px rgba(44,39,64,0.12);}
  .inv-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px;padding:16px 20px;}
  .inv-tile{border-radius:16px;overflow:hidden;background:#fff;border:1.5px solid rgba(41,38,49,0.07);cursor:pointer;transition:transform 0.15s,box-shadow 0.15s;box-shadow:0 2px 8px rgba(44,39,64,0.06);}
  .inv-tile:hover{transform:translateY(-2px);box-shadow:0 6px 20px rgba(44,39,64,0.12);}
  .inv-tile:active{transform:scale(0.97);}
  .inv-tile-img{width:100%;aspect-ratio:1/1;background:#e6ecf6 center/cover no-repeat;display:flex;align-items:center;justify-content:center;color:var(--muted);font-size:0.8rem;font-weight:700;position:relative;}
  .inv-tile-badge{position:absolute;top:8px;right:8px;width:10px;height:10px;border-radius:50%;border:2px solid #fff;}
  .inv-tile-badge.available{background:#22c55e;}
  .inv-tile-badge.loaned{background:#dc5f6d;}
  .inv-tile-badge.warn{background:#f59e0b;}
  .inv-tile-foot{padding:8px 10px 10px;}
  .inv-tile-name{font-size:0.82rem;font-weight:700;color:var(--navy);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
  .inv-tile-sub{font-size:0.72rem;color:var(--muted);margin-top:1px;}
  /* Detail-Sheet */
  .inv-detail-sheet{position:fixed;top:0;right:0;bottom:0;left:0;z-index:600;display:flex;flex-direction:column;justify-content:flex-end;pointer-events:none;}
  .inv-detail-sheet.open{pointer-events:auto;}
  .inv-detail-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:rgba(13,20,40,0.46);opacity:0;transition:opacity 0.25s;}
  .inv-detail-sheet.open .inv-detail-backdrop{opacity:1;}
  .inv-detail-panel{position:relative;background:#fff;border-radius:28px 28px 0 0;padding:0 0 32px;max-height:88vh;overflow-y:auto;transform:translateY(100%);transition:transform 0.3s cubic-bezier(.32,.72,0,1);}
  .inv-detail-sheet.open .inv-detail-panel{transform:translateY(0);}
  .inv-detail-drag{width:40px;height:4px;background:rgba(44,39,64,0.15);border-radius:2px;margin:12px auto 0;}
  .inv-detail-img{width:100%;height:220px;object-fit:cover;background:#e6ecf6 center/cover no-repeat;display:flex;align-items:center;justify-content:center;color:var(--muted);font-size:1.2rem;font-weight:700;}
  .inv-detail-body{padding:20px 22px 0;}
  .inv-detail-title{font-family:'Fraunces',serif;font-size:1.4rem;color:var(--navy);line-height:1.15;margin-bottom:4px;}
  .inv-detail-number{font-size:0.78rem;color:var(--muted);font-weight:600;letter-spacing:0.06em;margin-bottom:14px;}
  .inv-detail-row{display:flex;justify-content:space-between;align-items:center;padding:10px 0;border-bottom:1px solid rgba(41,38,49,0.07);font-size:0.88rem;}
  .inv-detail-row:last-of-type{border-bottom:none;}
  .inv-detail-label{color:var(--muted);font-weight:600;}
  .inv-detail-val{color:var(--navy);font-weight:600;text-align:right;}
  .inv-detail-actions{display:flex;gap:10px;padding:18px 22px 0;}
  /* ── Inventar Tags ── */
  .inv-tag{display:inline-flex;align-items:center;padding:3px 9px;border-radius:999px;font-size:0.72rem;font-weight:700;background:rgba(46,168,201,0.12);color:var(--aqua);border:1px solid rgba(46,168,201,0.22);white-space:nowrap;}
  .inv-tag-toggle{display:inline-flex;align-items:center;gap:6px;padding:6px 13px;border-radius:999px;font-size:0.8rem;font-weight:600;border:1.5px solid rgba(41,38,49,0.15);background:transparent;color:var(--muted);cursor:pointer;transition:all 0.15s;user-select:none;}
  .inv-tag-toggle.selected{background:rgba(46,168,201,0.12);border-color:var(--aqua);color:var(--aqua);}
  .inv-tag-toggle:hover{border-color:var(--aqua);color:var(--aqua);}
  .inv-tags-wrap{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px;}
  .inv-tag-filter{display:inline-flex;align-items:center;padding:5px 12px;border-radius:999px;font-size:0.76rem;font-weight:700;border:1.5px solid rgba(41,38,49,0.12);background:transparent;color:var(--muted);cursor:pointer;transition:all 0.15s;white-space:nowrap;}
  .inv-tag-filter.active{background:rgba(46,168,201,0.12);border-color:var(--aqua);color:var(--aqua);}
  .inv-tag-filter:hover{border-color:var(--aqua);}
  /* Katalog Filter Dropdown */
  .katalog-filter-btn{display:inline-flex;align-items:center;gap:7px;padding:0 16px;height:44px;border-radius:12px;border:1.5px solid rgba(41,38,49,0.14);background:#fff;color:var(--navy);font-size:0.85rem;font-weight:700;cursor:pointer;transition:all 0.15s;white-space:nowrap;flex-shrink:0;}
  .katalog-filter-btn:hover{border-color:var(--aqua);color:var(--aqua);}
  .katalog-filter-btn.has-filter{border-color:var(--aqua);background:rgba(46,168,201,0.08);color:var(--aqua);}
  .katalog-filter-count{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:var(--aqua);color:#fff;font-size:0.65rem;font-weight:800;}
  .katalog-filter-dropdown{position:absolute;right:0;top:calc(100% + 8px);background:#fff;border-radius:16px;box-shadow:0 8px 40px rgba(44,39,64,0.16),0 2px 8px rgba(44,39,64,0.08);min-width:220px;z-index:200;overflow:hidden;border:1px solid rgba(41,38,49,0.07);}
  .katalog-filter-dropdown-header{padding:12px 16px 8px;font-size:0.7rem;font-weight:800;text-transform:uppercase;letter-spacing:0.08em;color:var(--muted);border-bottom:1px solid rgba(41,38,49,0.06);}
  .katalog-filter-option{display:flex;align-items:center;gap:12px;padding:11px 16px;cursor:pointer;transition:background 0.12s;font-size:0.87rem;font-weight:600;color:var(--navy);}
  .katalog-filter-option:hover{background:rgba(44,39,64,0.04);}
  .katalog-filter-option input[type=checkbox]{width:17px;height:17px;accent-color:var(--aqua);cursor:pointer;flex-shrink:0;}
  .katalog-filter-footer{padding:10px 16px;border-top:1px solid rgba(41,38,49,0.06);display:flex;justify-content:flex-end;}
  .katalog-filter-clear{font-size:0.78rem;font-weight:700;color:var(--pink);background:none;border:none;cursor:pointer;padding:4px 0;}
  .katalog-filter-clear:hover{opacity:0.75;}
  /* Spielekatalog-Raster: responsiv nach Gerät */
  #spielekatalog-body,#katalog-neu{grid-template-columns:repeat(6,1fr);}
  /* Tablet + Handy Querformat (641–1099px): 5 Spalten */
  @media(max-width:1099px){
    #spielekatalog-body,#katalog-neu{grid-template-columns:repeat(5,1fr);}
    #katalog-neu>:nth-child(n+6){display:none!important;}
  }
  /* Handy Hochformat (≤640px): 3 Spalten */
  @media(max-width:640px){
    #spielekatalog-body,#katalog-neu{grid-template-columns:repeat(3,1fr);}
    #katalog-neu>:nth-child(n+4){display:none!important;}
  }
  .inventory-header-controls{display:flex;gap:10px;align-items:center;justify-content:flex-end;flex:1;}
  .inventory-header-controls .search-wrap{min-width:220px;max-width:520px;flex:1 1 300px;}
  .inventory-header-controls .search-input{width:100%;background:rgba(255,255,255,0.16);border-color:rgba(255,255,255,0.24);color:#fff;box-shadow:none;}
  .inventory-header-controls .search-input::placeholder{color:rgba(255,255,255,0.72);}
  .inventory-header-controls .search-input:focus{background:rgba(255,255,255,0.22);border-color:rgba(255,255,255,0.34);box-shadow:none;}
  .inventory-header-controls .search-icon{color:rgba(255,255,255,0.74);}
  .inventory-filter-bar{display:flex;gap:12px;align-items:center;flex-wrap:wrap;padding:18px 20px 10px;background:#fff;border-bottom:1px solid rgba(41,38,49,0.06);}
  .inventory-filter-bar .form-select{min-width:160px;flex:0 1 220px;}
  .inventory-quickstats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:20px;}
  .inventory-stat{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:16px 18px;box-shadow:var(--shadow);}
  .inventory-stat-label{font-size:0.74rem;color:var(--muted);text-transform:uppercase;letter-spacing:0.06em;font-weight:700;margin-bottom:6px;}
  .inventory-stat-value{font-family:'Fraunces',serif;font-size:1.55rem;color:var(--navy);}
  .inventory-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:20px;}
  .inventory-thumb{width:58px;height:58px;border-radius:10px;background:#e6ecf6;background-size:cover;background-position:center;display:flex;align-items:center;justify-content:center;color:var(--muted);font-size:0.72rem;font-weight:700;overflow:hidden;border:1px solid var(--border);}
  .inventory-name{font-weight:700;color:var(--navy);}
  .inventory-sub{font-size:0.78rem;color:var(--muted);}
  .inventory-status{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;font-size:0.76rem;font-weight:700;}
  .inventory-status.available{background:#dcfce7;color:#166534;}
  .inventory-status.loaned{background:#fee2e2;color:#b91c1c;}
  .inventory-status.warn{background:#fef3c7;color:#92400e;}
  .inventory-stack{display:grid;gap:12px;}
  .inventory-loan-card{border:1px solid rgba(41,38,49,0.08);border-radius:22px;padding:18px 20px;background:rgba(255,255,255,0.82);box-shadow:var(--shadow-soft);}
  .inventory-loan-card.overdue{border-color:rgba(220,95,109,0.34);background:rgba(255,245,245,0.92);}
  .inventory-loan-top{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:8px;}
  .inventory-loan-title{font-weight:700;color:var(--navy);}
  .inventory-loan-meta{font-size:0.82rem;color:var(--muted);line-height:1.55;}
  .inventory-fee{font-weight:700;color:#b91c1c;}
  .inventory-row-clickable{cursor:pointer;transition:background 0.15s;}
  .inventory-row-clickable:hover td{background:rgba(46,168,201,0.05);}
  .inventory-row-selected td{background:rgba(46,168,201,0.10)!important;border-bottom-color:rgba(46,168,201,0.18);}
  .inventory-row-selected td:first-child{box-shadow:inset 3px 0 0 #2ea8c9;}
  .inv-item-card{background:#fff;border:1.5px solid rgba(41,38,49,0.07);border-radius:16px;padding:12px 16px;box-shadow:0 1px 6px rgba(44,39,64,0.05);transition:border-color 0.15s,background 0.15s;display:flex;align-items:center;gap:12px;cursor:pointer;}
  .inv-item-card:hover{border-color:rgba(231,53,104,0.2);background:rgba(231,53,104,0.01);}
  .inv-item-card.selected{border-color:var(--aqua)!important;background:rgba(46,168,201,0.04)!important;box-shadow:0 0 0 3px rgba(46,168,201,0.10);}
  .inv-v2-card{background:#fff;border:1.5px solid rgba(41,38,49,0.07);border-radius:16px;padding:14px 18px;box-shadow:0 1px 8px rgba(44,39,64,0.055);transition:border-color 0.15s,background 0.15s,box-shadow 0.15s;display:grid;grid-template-columns:64px minmax(0,1fr) auto;gap:14px;align-items:start;cursor:pointer;}
  .inv-v2-card:hover{border-color:rgba(46,168,201,0.24);background:rgba(46,168,201,0.018);}
  .inv-v2-card.selected{border-color:var(--aqua)!important;background:rgba(46,168,201,0.045)!important;box-shadow:0 0 0 3px rgba(46,168,201,0.10);}
  .inv-v2-thumb{width:64px;height:64px;border-radius:12px;background:#e6ecf6;background-size:cover;background-position:center;display:flex;align-items:center;justify-content:center;color:var(--muted);font-size:0.72rem;font-weight:800;overflow:hidden;border:1px solid var(--border);}
  .inv-v2-main{min-width:0;}
  .inv-v2-head{display:flex;align-items:center;gap:8px;min-width:0;margin-top:1px;}
  .inv-v2-title{font-weight:800;font-size:0.98rem;color:var(--navy);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
  .inv-v2-meta{font-size:0.76rem;color:var(--muted);margin-top:4px;display:flex;align-items:center;gap:6px;flex-wrap:wrap;}
  .inv-v2-meta-dot{width:3px;height:3px;border-radius:50%;background:rgba(44,39,64,0.25);}
  .inv-v2-side{display:flex;align-items:center;gap:12px;justify-content:flex-end;align-self:center;}
  .inv-v2-actions{display:flex;gap:7px;align-items:center;justify-content:flex-end;flex-wrap:wrap;}
  .inv-v2-actions .btn{padding:8px 13px;white-space:nowrap;}
  .inv-v2-add-btn{background:rgba(46,168,201,0.08);border-color:rgba(46,168,201,0.22);color:var(--navy);}
  .inv-v2-copy-list{grid-column:2 / -1;display:grid;gap:7px;margin-top:-4px;}
  .inv-v2-copy-row{display:grid;grid-template-columns:92px minmax(0,1fr) auto auto;gap:12px;align-items:center;border:1px solid rgba(44,39,64,0.065);border-radius:10px;padding:9px 10px;background:rgba(255,255,255,0.82);box-shadow:0 1px 4px rgba(44,39,64,0.035);}
  .inv-v2-copy-number{font-weight:850;color:var(--navy);font-size:0.9rem;letter-spacing:0.01em;}
  .inv-v2-copy-meta{font-size:0.78rem;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
  .inv-v2-copy-note{font-size:0.72rem;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:1px;}
  .inv-v2-copy-edit{padding:7px 12px!important;}
  .v2-quick-import{background:rgba(46,168,201,0.055);border:1.5px solid rgba(46,168,201,0.16);border-radius:14px;padding:12px 14px;margin-bottom:14px;}
  .v2-quick-import-title{font-size:0.76rem;font-weight:850;text-transform:uppercase;letter-spacing:0.09em;color:var(--aqua);margin-bottom:8px;}
  .v2-quick-import-row{display:flex;gap:8px;align-items:center;}
  .v2-quick-import-row .form-input{flex:1;min-width:0;}
  .v2-dialog-section{grid-column:1/-1;margin-top:2px;padding-top:4px;font-size:0.74rem;font-weight:850;text-transform:uppercase;letter-spacing:0.08em;color:var(--muted);}
  .v2-manual-details{border:1.5px solid rgba(44,39,64,0.10);border-radius:14px;padding:10px 14px;background:rgba(255,255,255,0.55);}
  .v2-manual-details summary{cursor:pointer;font-size:0.74rem;font-weight:850;text-transform:uppercase;letter-spacing:0.07em;color:var(--muted);}
  .v2-copy-panel{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:14px;border:1.5px solid rgba(46,168,201,0.12);border-radius:16px;background:rgba(46,168,201,0.035);}
  .history-hint{padding:24px 0;text-align:center;color:var(--muted);font-size:0.88rem;display:flex;flex-direction:column;align-items:center;gap:8px;}
  .history-hint svg{opacity:0.3;}
  .signature-box{border:1.5px dashed var(--border);border-radius:10px;background:#fff;padding:10px;}
  .signature-canvas{width:100%;height:140px;background:#fff;border-radius:8px;display:block;cursor:crosshair;}
  .inventory-empty{padding:24px;text-align:center;color:var(--muted);font-size:0.9rem;}
  .doc-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:20px;}
  .doc-card{background:rgba(255,255,255,0.82);border:1px solid rgba(41,38,49,0.08);border-radius:16px;padding:16px 16px 14px;display:flex;flex-direction:column;gap:12px;backdrop-filter:blur(12px);box-shadow:0 1px 6px rgba(44,39,64,0.06);transition:box-shadow 0.18s,transform 0.18s;}
  .doc-card:hover{box-shadow:0 4px 18px rgba(44,39,64,0.12);transform:translateY(-2px);}
  .doc-card h4{font-family:'Fraunces',serif;font-size:0.92rem;color:var(--navy);margin:0;letter-spacing:-0.01em;}
  .doc-card .btn{margin-top:auto;}
  .contract-layout{display:grid;grid-template-columns:1fr;gap:20px;}
  .contract-section{display:flex;flex-direction:column;gap:16px;padding:20px;background:rgba(255,255,255,0.72);border:1px solid rgba(41,38,49,0.07);border-radius:18px;backdrop-filter:blur(10px);}
  .contract-section-label{display:flex;align-items:center;gap:8px;font-size:0.72rem;font-weight:800;letter-spacing:0.1em;text-transform:uppercase;color:var(--muted);padding-bottom:4px;border-bottom:1px solid rgba(41,38,49,0.07);}
  .contract-section-label svg{width:15px;height:15px;color:var(--pink);flex-shrink:0;}
  .contract-section .form-grid{margin:0;}
  .contract-outbox-item{border:1px solid var(--border);border-radius:12px;padding:14px 16px;background:var(--bg);margin-bottom:12px;}
  .contract-outbox-title{font-weight:700;color:var(--navy);margin-bottom:4px;}
  .contract-outbox-meta{font-size:0.82rem;color:var(--muted);line-height:1.55;margin-bottom:8px;}
  .contract-checklist{display:grid;gap:10px;margin:16px 0;}
  .contract-checklist label{display:flex;align-items:flex-start;gap:10px;font-size:0.9rem;color:var(--text);}
  .contract-checklist input{margin-top:3px;}
  .dashboard-head{display:flex;align-items:center;justify-content:flex-end;margin-bottom:16px;}
  .period-toggle{display:inline-flex;border:1.5px solid rgba(44,39,64,0.1);border-radius:12px;overflow:hidden;background:rgba(255,255,255,0.8);backdrop-filter:blur(10px);padding:3px;gap:3px;}
  .period-btn{border:none;background:transparent;padding:7px 16px;font-size:0.8rem;font-weight:700;color:var(--muted);cursor:pointer;border-radius:9px;transition:background 0.18s,color 0.18s;}
  .period-btn.active{background:var(--navy);color:#fff;box-shadow:0 2px 8px rgba(44,39,64,0.18);}
  .period-btn:not(.active):hover{background:rgba(44,39,64,0.06);color:var(--navy);}

  /* PAGE LOADING */
  .page-loading{display:flex;align-items:center;justify-content:center;padding:80px;flex-direction:column;gap:16px;color:var(--muted);}
  .page-loading .loading-spinner{border-color:var(--border);border-top-color:var(--navy);}

  .stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin-bottom:20px;}
  .stat-card{background:#fff;border:1.5px solid rgba(41,38,49,0.07);border-radius:22px;padding:20px 20px 18px;box-shadow:0 2px 12px rgba(44,39,64,0.06);display:flex;flex-direction:column;gap:12px;min-width:0;}
  .stat-card-top{display:flex;align-items:flex-start;justify-content:space-between;}
  .stat-icon{width:40px;height:40px;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
  .stat-icon svg{width:19px;height:19px;}
  .stat-card.navy .stat-icon{background:rgba(44,39,64,0.08);color:var(--navy);}
  .stat-card.amber .stat-icon{background:rgba(230,165,30,0.12);color:#a07010;}
  .stat-card.green .stat-icon{background:rgba(34,197,94,0.12);color:#16a34a;}
  .stat-card.blue .stat-icon{background:rgba(46,168,201,0.12);color:var(--aqua);}
  .stat-label{font-size:0.67rem;text-transform:uppercase;letter-spacing:0.1em;font-weight:700;color:var(--muted);}
  .stat-value{font-family:'Fraunces',serif;font-size:2rem;line-height:1;letter-spacing:-0.04em;color:var(--navy);}
  .stat-sub{font-size:0.74rem;color:var(--muted);}

  .dashboard-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:20px;}
  .card{background:rgba(255,255,255,0.78);border-radius:28px;border:1px solid rgba(41,38,49,0.08);box-shadow:var(--shadow);overflow:hidden;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);}
  .inventory-table-wrap{overflow:auto;max-height:450px;}
  .inventory-table-scroll{overflow-x:auto;}
  .inventory-table-wrap thead th{position:sticky;top:0;z-index:2;background:#fff;border-bottom:1px solid rgba(41,38,49,0.08);}
  .card-header,.limit-header,.settings-header{min-height:var(--header-height);padding:18px 22px;display:flex;align-items:center;justify-content:space-between;gap:14px;background:linear-gradient(135deg,rgba(231,53,104,0.94),rgba(46,168,201,0.92));border-bottom:1px solid rgba(255,255,255,0.12);}
  .card-header{border-bottom:1px solid rgba(255,255,255,0.12);}
  .card-title{font-family:'Fraunces',serif;font-size:1.08rem;color:#fff;letter-spacing:-0.02em;}
  .card-header .btn-outline,.limit-header .btn-outline,.settings-header .btn-outline{background:rgba(255,255,255,0.16);border-color:rgba(255,255,255,0.24);color:#fff;box-shadow:none;}
  .card-header .btn-outline:hover:not(:disabled),.limit-header .btn-outline:hover:not(:disabled),.settings-header .btn-outline:hover:not(:disabled){background:rgba(255,255,255,0.24);border-color:rgba(255,255,255,0.34);}

  .member-row{display:flex;align-items:center;padding:12px 0;border-bottom:1px solid var(--border);gap:14px;}
  .member-row:last-child{border-bottom:none;}
  .avatar{width:38px;height:38px;border-radius:50%;background:linear-gradient(135deg,var(--pink),#ff5f86);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:0.85rem;flex-shrink:0;box-shadow:0 10px 24px rgba(231,53,104,0.20);}
  .member-info{flex:1;min-width:0;}
  .member-name{font-weight:600;font-size:0.9rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
  .member-type{font-size:0.75rem;color:var(--muted);}
  .progress-mini{width:80px;height:5px;background:var(--border);border-radius:99px;overflow:hidden;}
  .progress-mini-fill{height:100%;border-radius:99px;background:var(--amber);transition:width 0.4s;}
  .progress-mini-fill.full{background:var(--green);}
  .progress-mini-fill.warn{background:#f39c12;}

  .table-wrap{overflow-x:auto;}
  table{width:100%;border-collapse:collapse;}
  thead tr{background:linear-gradient(135deg,rgba(231,53,104,0.94),rgba(46,168,201,0.92));}
  thead th{background:transparent;padding:16px 16px;text-align:left;font-size:0.73rem;font-weight:800;color:rgba(255,255,255,0.88);text-transform:uppercase;letter-spacing:0.12em;border-bottom:none;}
  thead th:first-child{border-top-left-radius:22px;}
  thead th:last-child{border-top-right-radius:22px;}
  .inventory-table-wrap thead tr{background:#fff;}
  .inventory-table-wrap thead th{color:rgba(44,39,64,0.54);border-bottom:1px solid rgba(41,38,49,0.06);}
  .auswertung-table-wrap thead tr{background:#fff;}
  .auswertung-table-wrap thead th{color:rgba(44,39,64,0.54);border-bottom:1px solid rgba(41,38,49,0.06);}
  .terminated-members-table-wrap thead tr{background:#fff;}
  .terminated-members-table-wrap thead th{color:rgba(44,39,64,0.54);border-bottom:1px solid rgba(41,38,49,0.06);}
  tbody td{padding:15px 16px;border-bottom:1px solid rgba(41,38,49,0.06);font-size:0.92rem;vertical-align:middle;}
  tbody tr:last-child td{border-bottom:none;}
  tbody tr:hover td{background:rgba(255,250,245,0.76);}

  .badge{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:99px;font-size:0.75rem;font-weight:600;}
  .badge-ul{background:#dbeafe;color:#1e40af;}
  .badge-ea{background:#fef3c7;color:#92400e;}
  .badge-both{background:#d1fae5;color:#065f46;}
  .badge-none{background:#f3f4f6;color:#6b7280;}
  .badge-active{background:#d1fae5;color:#065f46;}
  .badge-inactive{background:#f3f4f6;color:#6b7280;}
  .badge-pauschal{background:#ede9fe;color:#5b21b6;}
  .badge-hourly{background:#fce7f3;color:#9d174d;}

  .progress-bar{display:flex;align-items:center;gap:10px;min-width:160px;}
  .progress-track{flex:1;height:6px;background:var(--border);border-radius:99px;overflow:hidden;}
  .progress-fill{height:100%;border-radius:99px;background:var(--amber);transition:width 0.4s;}
  .progress-fill.full{background:var(--green);}
  .progress-fill.warn{background:#f39c12;}
  .progress-label{font-size:0.78rem;color:var(--muted);white-space:nowrap;}
  .actions{display:flex;gap:6px;}
  .family-member-cell{display:flex;align-items:center;gap:12px;}
  .family-toggle{width:32px;height:32px;border:1px solid var(--border);border-radius:10px;background:var(--bg);color:var(--navy);display:inline-flex;align-items:center;justify-content:center;font-size:1rem;font-weight:700;cursor:pointer;flex-shrink:0;line-height:1;}
  .family-toggle:hover{background:#eef3fb;border-color:var(--navy-light);}
  .family-toggle.placeholder{visibility:hidden;pointer-events:none;}
  .family-member-stack{display:flex;align-items:center;gap:12px;min-width:0;}
  .family-main-row td{background:rgba(232,214,187,0.28);}
  .family-main-row:hover td{background:rgba(232,214,187,0.36);}
  .family-child-cell{display:flex;align-items:center;gap:12px;padding-left:44px;}
  .family-branch{width:18px;height:18px;position:relative;flex-shrink:0;}
  .family-branch::before{content:'';position:absolute;left:8px;top:-8px;bottom:8px;width:1.5px;background:#cfd8ea;}
  .family-branch::after{content:'';position:absolute;left:8px;bottom:8px;width:12px;height:1.5px;background:#cfd8ea;}

  .modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:rgba(36,31,43,0.28);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);display:flex;align-items:center;justify-content:center;z-index:200;opacity:0;pointer-events:none;transition:opacity 0.25s;}
  .modal-overlay.open{opacity:1;pointer-events:all;}
  .modal{background:rgba(255,252,248,0.92);border:1px solid rgba(41,38,49,0.08);border-radius:32px;width:640px;max-width:95vw;max-height:90vh;overflow-y:auto;box-shadow:0 30px 90px rgba(36,31,43,0.18);transform:translateY(16px) scale(0.98);transition:transform 0.25s;backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px);}
  .modal-overlay.open .modal{transform:translateY(0) scale(1);}
  /* Bare-Modifier: Modal ohne eigenes Chrome - für selbst-stilisierte Inhalte (z.B. Mitgliedskarte) */
  .modal.modal--bare{background:transparent;border:none;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none;width:480px;max-width:95vw;overflow:visible;}
  .modal--bare .modal-close{color:#fff;background:transparent;border:1.5px solid rgba(255,255,255,0.75);backdrop-filter:none;-webkit-backdrop-filter:none;width:30px;height:30px;border-radius:50%;align-items:center;justify-content:center;font-size:14px;line-height:1;}
  .modal--bare .modal-close:hover{background:rgba(255,255,255,0.12);border-color:#fff;color:#fff;}
  .modal-header{padding:24px 28px 18px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;}
  .modal-title{font-family:'Fraunces',serif;font-size:1.28rem;color:var(--navy);letter-spacing:-0.03em;}
  .modal-close{background:none;border:none;cursor:pointer;color:var(--muted);padding:4px;border-radius:6px;display:flex;}
  .modal-close:hover{color:var(--text);}
  .modal-body{padding:24px 28px;}
  .modal-footer{padding:16px 28px 24px;display:flex;gap:10px;justify-content:flex-end;border-top:1px solid var(--border);}

  .form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
  .form-group{display:flex;flex-direction:column;gap:5px;}
  .form-group.full{grid-column:1/-1;}
  .form-label{font-size:0.8rem;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:0.05em;}
  .form-input,.form-select{padding:13px 15px;border:1px solid rgba(41,38,49,0.08);border-radius:16px;font-size:1rem;font-family:inherit;color:var(--text);background:rgba(255,255,255,0.82);transition:border-color 0.15s, box-shadow 0.15s, background 0.15s;box-shadow:inset 0 1px 0 rgba(255,255,255,0.55);}
  .form-input:focus,.form-select:focus{outline:none;border-color:rgba(46,168,201,0.28);background:#fff;box-shadow:0 0 0 4px rgba(46,168,201,0.08);}
  .form-section-title{font-family:'Fraunces',serif;font-size:0.95rem;color:var(--navy);padding:16px 0 10px;border-top:1px solid var(--border);margin-top:8px;}
  .limit-info{background:#f0f3f8;border-radius:8px;padding:10px 14px;font-size:0.82rem;color:var(--muted);border-left:3px solid var(--amber);}
  .limit-info strong{color:var(--navy);}
  .limit-info.danger{border-left-color:var(--red);background:#fff5f5;}

  .sig-canvas-wrap{border:1.5px solid rgba(41,38,49,0.15);border-radius:10px;overflow:hidden;background:#fafaf8;position:relative;cursor:crosshair;}
  .sig-canvas-wrap canvas{display:block;width:100%;height:130px;touch-action:none;}
  .sig-status{font-size:0.72rem;color:var(--muted);margin-top:4px;}
  .billing-toggle{display:flex;border:1.5px solid var(--border);border-radius:9px;overflow:hidden;}
  .billing-option{flex:1;padding:11px 16px;text-align:center;cursor:pointer;font-size:0.9rem;font-weight:600;background:transparent;border:none;color:var(--muted);font-family:inherit;transition:all 0.18s;}
  .billing-option.active{background:var(--navy);color:#fff;}
  .billing-option:first-child{border-right:1.5px solid var(--border);}

  .hourly-section{background:var(--bg);border-radius:10px;padding:16px;border:1px solid var(--border);}
  .hourly-calc{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:12px;padding:10px 14px;background:var(--card);border-radius:8px;border:1px solid var(--border);font-size:0.88rem;color:var(--muted);}
  .hourly-calc strong{color:var(--navy);font-size:1.1rem;font-family:'Fraunces',serif;}

  .payment-filters{display:flex;gap:12px;margin-bottom:24px;align-items:center;flex-wrap:wrap;}
  .search-wrap{position:relative;}
  .search-input{padding:13px 16px 13px 42px;border:1px solid rgba(41,38,49,0.08);border-radius:18px;font-size:0.92rem;font-family:inherit;background:rgba(255,255,255,0.78);color:var(--text);width:260px;transition:border-color 0.15s, box-shadow 0.15s;box-shadow:var(--shadow-soft);}
  .search-input:focus{outline:none;border-color:var(--navy);}
  .search-icon{position:absolute;left:11px;top:50%;transform:translateY(-50%);color:var(--muted);width:16px;height:16px;}
  .hours-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:16px 0 14px;}
  .hours-stat{background:var(--bg);border:1px solid var(--border);border-radius:10px;padding:12px 14px;}
  .hours-stat-label{font-size:0.74rem;color:var(--muted);text-transform:uppercase;letter-spacing:0.06em;font-weight:600;margin-bottom:4px;}
  .hours-stat-value{font-family:'Fraunces',serif;font-size:1.35rem;color:var(--navy);}
  .hours-date-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
  .mv-filter-anchor{position:relative;display:flex;align-items:center;}
  .mv-filter-dropdown{display:none;position:absolute;top:calc(100% + 6px);right:0;z-index:200;background:#fff;border-radius:14px;box-shadow:0 4px 24px rgba(44,39,64,0.16);border:1px solid rgba(44,39,64,0.08);overflow:hidden;min-width:150px;max-width:min(280px,calc(100vw - 24px));}
  .sr-inline-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
  .sr-player-row{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(120px,1fr);gap:12px;}
  .sr-tab-toggle{display:grid;grid-template-columns:1fr 1fr;gap:0;border:1.5px solid var(--line);border-radius:var(--radius-md);overflow:hidden;margin-bottom:12px;}
  .sr-tab-toggle button{min-width:0;padding:8px 12px;font-size:0.83rem;font-weight:700;border:none;cursor:pointer;transition:background 0.15s;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
  .sr-label-mobile{display:none;}

  .auswertung-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:24px;}
  .limit-overview{background:rgba(255,255,255,0.78);border:1.5px solid rgba(41,38,49,0.07);border-radius:22px;box-shadow:0 2px 12px rgba(44,39,64,0.06);overflow:hidden;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);}
  .limit-header h3{font-family:'Fraunces',serif;font-size:1.02rem;color:#fff;letter-spacing:-0.02em;}
  .limit-header span{font-size:0.8rem;color:rgba(255,255,255,0.78);}
  .limit-list{padding:8px 16px;display:flex;flex-direction:column;gap:0;}
  .limit-item{padding:12px 0;border-bottom:1px solid rgba(41,38,49,0.06);}
  .limit-item:last-child{border-bottom:none;}
  .limit-item-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:7px;}
  .limit-item-name{font-weight:600;font-size:0.9rem;}
  .limit-item-amount{font-size:0.88rem;color:var(--navy);font-weight:600;}
  .limit-item-track{height:8px;background:var(--border);border-radius:99px;overflow:hidden;}
  .limit-item-fill{height:100%;border-radius:99px;transition:width 0.4s;}

  .basisdaten-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-bottom:24px;}
  .settings-card{background:rgba(255,255,255,0.78);border-radius:28px;border:1px solid rgba(41,38,49,0.08);box-shadow:var(--shadow);overflow:hidden;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);}
  .settings-header h3{font-family:'Fraunces',serif;color:#fff;font-size:1.02rem;letter-spacing:-0.02em;}
  .settings-header span{color:rgba(255,255,255,0.78);font-size:0.78rem;}
  .settings-body{padding:22px;}
  .settings-field{margin-bottom:20px;}
  .settings-field:last-child{margin-bottom:0;}
  .settings-label{font-size:0.78rem;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:0.06em;margin-bottom:6px;display:block;}
  .settings-input{padding:11px 14px;border:1.5px solid var(--border);border-radius:8px;font-size:1.05rem;font-family:inherit;color:var(--text);background:var(--bg);width:100%;transition:border-color 0.2s;font-weight:600;}
  .settings-input:focus{outline:none;border-color:var(--amber);background:var(--card);}
  .settings-note{font-size:0.78rem;color:var(--muted);margin-top:5px;}
  .doc-current-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:24px;}
  .doc-current-card{background:var(--card);border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow);padding:18px;}
  .doc-current-card h4{font-family:'Fraunces',serif;font-size:1.05rem;color:var(--navy);margin-bottom:8px;}
  .doc-current-card p{font-size:0.84rem;color:var(--muted);line-height:1.55;margin-bottom:14px;}
  .doc-current-meta{font-size:0.76rem;color:var(--muted);margin-bottom:12px;}
  .settings-save{margin-top:14px;}
  .mail-controls{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-bottom:14px;}
  .mail-item{border:1px solid var(--border);border-radius:10px;padding:12px;background:var(--bg);margin-bottom:10px;}
  .mail-item-head{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;align-items:flex-start;margin-bottom:8px;}
  .mail-item-title{font-weight:700;color:var(--navy);}
  .mail-item-sub{font-size:0.82rem;color:var(--muted);}
  /* ── Zahlungen Cards ─────────────────────────────────────────────────── */
  .payment-card{background:#fff;border:1.5px solid rgba(41,38,49,0.07);border-radius:16px;padding:13px 18px;box-shadow:0 1px 6px rgba(44,39,64,0.05);transition:border-color 0.15s;display:flex;align-items:center;gap:12px;}
  .payment-card:hover{border-color:rgba(231,53,104,0.2);}
  .payment-card-info{flex:1;min-width:0;}
  .payment-card-name{font-weight:600;font-size:0.92rem;color:var(--navy);}
  .payment-card-sub{font-size:0.77rem;color:var(--muted);margin-top:2px;display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
  .payment-card-badges{display:flex;gap:6px;align-items:center;flex-shrink:0;flex-wrap:wrap;}
  .payment-card-amount{font-family:'Fraunces',serif;font-size:1.15rem;font-weight:700;color:var(--navy);white-space:nowrap;flex-shrink:0;min-width:72px;text-align:right;}
  .payment-card-actions{display:flex;gap:6px;flex-shrink:0;}
  /* ── TERMINE / KALENDER ─────────────────────────────────────── */
  .termine-layout{display:flex;flex-direction:column;gap:20px;}
  .cal-nav{display:flex;align-items:center;justify-content:space-between;padding:18px 22px 0;}
  .cal-month-title{font-family:'Fraunces',serif;font-size:1.15rem;font-weight:700;color:var(--navy);letter-spacing:-0.02em;}
  .cal-nav-btn{background:none;border:1.5px solid rgba(41,38,49,0.1);border-radius:8px;width:32px;height:32px;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--navy);transition:all 0.15s;}
  .cal-nav-btn:hover{border-color:var(--pink);color:var(--pink);}
  .cal-weekdays{display:grid;grid-template-columns:repeat(7,1fr);padding:12px 16px 4px;gap:4px;}
  .cal-weekday{text-align:center;font-size:0.68rem;font-weight:700;text-transform:uppercase;letter-spacing:0.06em;color:var(--muted);}
  .cal-days{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;padding:0 16px 16px;}
  .cal-day{min-height:80px;border:1.5px solid rgba(41,38,49,0.07);border-radius:12px;padding:8px 7px 6px;cursor:pointer;transition:all 0.15s;background:#fff;position:relative;display:flex;flex-direction:column;gap:3px;overflow:hidden;min-width:0;}
  .cal-day:hover{border-color:rgba(231,53,104,0.28);transform:translateY(-1px);box-shadow:0 3px 10px rgba(231,53,104,0.08);}
  .cal-day.cal-has-events{background:rgba(246,242,237,0.6);border-color:rgba(41,38,49,0.12);}
  .cal-day.cal-today{border-color:var(--pink)!important;background:rgba(231,53,104,0.05)!important;}
  .cal-day.cal-selected{border-color:var(--pink)!important;background:rgba(231,53,104,0.09)!important;box-shadow:0 2px 14px rgba(231,53,104,0.16);}
  .cal-day.cal-other{opacity:0.25;pointer-events:none;}
  .cal-day-num{font-size:0.8rem;font-weight:600;color:var(--navy);line-height:1;margin-bottom:2px;}
  .cal-day.cal-today .cal-day-num{color:var(--pink);font-weight:800;}
  .cal-event-chip{font-size:0.65rem;font-weight:700;padding:2px 6px;border-radius:5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;min-width:0;line-height:1.4;display:block;}
  .cal-event-chip.cat-mv{background:rgba(44,39,64,0.1);color:var(--navy);}
  .cal-event-chip.cat-event{background:rgba(231,53,104,0.13);color:var(--pink);}
  .cal-event-chip.cat-training{background:rgba(46,168,201,0.13);color:var(--aqua);}
  .cal-event-chip.cat-sonstiges{background:rgba(245,158,11,0.14);color:#b45309;}
  .cal-event-chip.cat-spielen{background:rgba(46,168,201,0.13);color:var(--aqua);}
  .cal-event-chip.cat-dcexpert{background:rgba(44,39,64,0.12);color:var(--navy);}
  .cal-event-chip.cat-workshop{background:rgba(245,158,11,0.14);color:#b45309;}
  .cal-event-chip.cat-events{background:rgba(231,53,104,0.13);color:var(--pink);}
  .cal-event-chip.cat-intern{background:rgba(44,39,64,0.1);color:var(--navy);}
  .cal-more-chip{font-size:0.62rem;color:var(--muted);font-weight:600;padding:1px 4px;}
  .termin-card{background:#fff;border:1.5px solid rgba(41,38,49,0.07);border-radius:16px;overflow:hidden;transition:border-color 0.15s;}
  .termin-card:hover{border-color:rgba(231,53,104,0.22);}
  .termin-card-inner{display:flex;gap:0;align-items:stretch;}
  .termin-bar{width:5px;flex-shrink:0;border-radius:0;}
  .termin-card-body{flex:1;min-width:0;padding:12px 14px;}
  .termin-bar.cat-mv{background:var(--navy);}
  .termin-bar.cat-event{background:var(--pink);}
  .termin-bar.cat-training{background:var(--aqua);}
  .termin-bar.cat-sonstiges{background:#f59e0b;}
  .termin-bar.cat-spielen{background:var(--aqua);}
  .termin-bar.cat-dcexpert{background:var(--navy);}
  .termin-bar.cat-workshop{background:#f59e0b;}
  .termin-bar.cat-events{background:var(--pink);}
  .termin-bar.cat-intern{background:var(--navy);}
  .termin-title{font-weight:600;font-size:0.9rem;color:var(--navy);}
  .termin-meta{font-size:0.78rem;color:var(--muted);margin-top:3px;display:flex;flex-wrap:wrap;gap:6px;align-items:center;}
  .ical-dropdown{position:relative;}
  .ical-menu{position:absolute;top:calc(100% + 6px);right:0;background:#fff;border:1.5px solid rgba(41,38,49,0.1);border-radius:12px;padding:4px;min-width:188px;box-shadow:0 8px 24px rgba(41,38,49,0.13);z-index:200;}
  .ical-menu-item{display:flex;align-items:center;gap:8px;width:100%;border:none;background:none;padding:9px 12px;border-radius:8px;font-size:0.82rem;font-weight:600;color:var(--text);cursor:pointer;text-align:left;transition:background 0.12s;}
  .ical-menu-item:hover{background:rgba(231,53,104,0.07);color:var(--pink);}
  .cat-badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:99px;font-size:0.68rem;font-weight:700;text-transform:uppercase;letter-spacing:0.04em;}
  .cat-badge.cat-mv{background:rgba(44,39,64,0.1);color:var(--navy);}
  .cat-badge.cat-event{background:rgba(231,53,104,0.1);color:var(--pink);}
  .cat-badge.cat-training{background:rgba(46,168,201,0.1);color:var(--aqua);}
  .cat-badge.cat-sonstiges{background:rgba(245,158,11,0.12);color:#b45309;}
  .cat-badge.cat-spielen{background:rgba(46,168,201,0.1);color:var(--aqua);}
  .cat-badge.cat-dcexpert{background:rgba(44,39,64,0.1);color:var(--navy);}
  .cat-badge.cat-workshop{background:rgba(245,158,11,0.12);color:#b45309;}
  .cat-badge.cat-events{background:rgba(231,53,104,0.1);color:var(--pink);}
  .cat-badge.cat-intern{background:rgba(44,39,64,0.08);color:var(--navy);}
  /* Kalender Ansicht-Toggle */
  .cal-view-toggle{display:flex;background:rgba(255,255,255,0.15);border-radius:8px;overflow:hidden;gap:1px;}
  .cal-view-btn{border:none;background:none;color:rgba(255,255,255,0.7);font-size:0.72rem;font-weight:700;letter-spacing:0.04em;padding:5px 13px;cursor:pointer;transition:all 0.15s;text-transform:uppercase;}
  .cal-view-btn.active{background:rgba(255,255,255,0.28);color:#fff;}
  /* Wochenansicht */
  .cal-week-grid{display:flex;flex-direction:column;gap:8px;padding:12px 16px 16px;}
  .cal-wk-card{display:flex;gap:14px;align-items:flex-start;background:#fff;border:1.5px solid rgba(41,38,49,0.07);border-radius:16px;padding:14px 16px;cursor:pointer;transition:border-color 0.15s,box-shadow 0.15s;}
  .cal-wk-card:hover{border-color:rgba(231,53,104,0.22);box-shadow:0 2px 10px rgba(231,53,104,0.07);}
  .cal-wk-today{border-color:var(--pink)!important;background:rgba(231,53,104,0.03)!important;}
  .cal-wk-date{width:44px;flex-shrink:0;text-align:center;}
  .cal-wk-dayname{font-size:0.62rem;font-weight:800;text-transform:uppercase;letter-spacing:0.08em;color:var(--muted);}
  .cal-wk-daynum{font-family:'Fraunces',serif;font-size:1.6rem;font-weight:700;color:var(--navy);line-height:1.1;}
  .cal-wk-today .cal-wk-daynum{color:var(--pink);}
  .cal-wk-sep{width:1px;background:rgba(41,38,49,0.08);align-self:stretch;flex-shrink:0;}
  .cal-wk-events{flex:1;min-width:0;display:flex;flex-direction:column;gap:6px;padding-top:2px;}
  .cal-wk-empty{font-size:0.78rem;color:rgba(44,39,64,0.28);padding-top:6px;}
  .cal-wk-event{display:flex;gap:10px;align-items:flex-start;border-left:3px solid;border-radius:0 10px 10px 0;padding:7px 10px;transition:box-shadow 0.15s;}
  .cal-wk-event:hover{box-shadow:0 2px 8px rgba(44,39,64,0.1);}
  .cal-wk-event.cat-mv{border-left-color:var(--navy);background:rgba(44,39,64,0.04);}
  .cal-wk-event.cat-event{border-left-color:var(--pink);background:rgba(231,53,104,0.05);}
  .cal-wk-event.cat-training{border-left-color:var(--aqua);background:rgba(46,168,201,0.05);}
  .cal-wk-event.cat-sonstiges{border-left-color:#e8a000;background:rgba(245,158,11,0.06);}
  .cal-wk-event.cat-spielen{border-left-color:var(--aqua);background:rgba(46,168,201,0.05);}
  .cal-wk-event.cat-dcexpert{border-left-color:var(--navy);background:rgba(44,39,64,0.04);}
  .cal-wk-event.cat-workshop{border-left-color:#e8a000;background:rgba(245,158,11,0.06);}
  .cal-wk-event.cat-events{border-left-color:var(--pink);background:rgba(231,53,104,0.05);}
  .cal-wk-event.cat-intern{border-left-color:var(--navy);background:rgba(44,39,64,0.04);}
  .cal-wk-ev-title{font-size:0.84rem;font-weight:600;color:var(--navy);line-height:1.3;}
  .cal-wk-ev-time{font-size:0.72rem;color:var(--muted);margin-top:2px;}

  @media(max-width:600px){.payment-card{flex-wrap:wrap;} .payment-card-amount{margin-left:auto;}}
  /* ── Mitgliederliste Cards ────────────────────────────────────────────── */
  .member-card{background:#fff;border:1.5px solid rgba(41,38,49,0.07);border-radius:16px;padding:14px 18px;box-shadow:0 1px 6px rgba(44,39,64,0.05);transition:border-color 0.15s;}
  .member-card:hover{border-color:rgba(231,53,104,0.2);}
  .member-card-main{display:flex;align-items:center;gap:12px;}
  .member-card-info{flex:1;min-width:0;}
  .member-card-name{font-weight:600;font-size:0.93rem;color:var(--navy);display:flex;align-items:center;gap:7px;flex-wrap:wrap;}
  .member-card-sub{font-size:0.77rem;color:var(--muted);margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
  .member-card-right{display:flex;align-items:center;gap:10px;flex-shrink:0;flex-wrap:wrap;}
  .member-card-progress{display:grid;grid-template-columns:1fr 1fr;gap:8px 20px;margin-top:12px;padding-top:12px;border-top:1px solid rgba(41,38,49,0.06);}
  .member-card-progress-label{font-size:0.68rem;font-weight:700;text-transform:uppercase;letter-spacing:0.06em;color:var(--muted);margin-bottom:4px;}
  .member-children{display:flex;flex-direction:column;gap:6px;margin-top:10px;padding-top:10px;border-top:1px solid rgba(41,38,49,0.06);}
  .member-child-card{background:rgba(246,242,237,0.7);border:1px solid rgba(41,38,49,0.07);border-radius:12px;padding:10px 14px;display:flex;align-items:center;gap:10px;}
  .member-child-info{flex:1;min-width:0;}
  .member-child-name{font-weight:600;font-size:0.88rem;color:var(--navy);}
  .member-child-sub{font-size:0.75rem;color:var(--muted);margin-top:1px;}
  .member-term-card{background:#fff;border:1.5px solid rgba(220,95,109,0.15);border-radius:16px;padding:14px 18px;box-shadow:0 1px 6px rgba(44,39,64,0.04);display:flex;align-items:center;gap:12px;}
  .member-term-info{flex:1;min-width:0;}
  .member-term-name{font-weight:600;font-size:0.92rem;color:var(--navy);}
  .member-term-sub{font-size:0.77rem;color:var(--muted);margin-top:2px;}
  .member-term-meta{font-size:0.8rem;color:#b4233c;font-weight:600;white-space:nowrap;}
  @media(max-width:700px){.member-card-progress{grid-template-columns:1fr;} .member-card-right{gap:6px;}}
  @media(max-width:600px){
    .member-card-main{flex-wrap:wrap;align-items:flex-start;}
    .member-card-right{width:100%;justify-content:flex-start;margin-top:8px;padding-top:8px;border-top:1px solid rgba(41,38,49,0.06);}
    .member-term-card{flex-wrap:wrap;align-items:flex-start;}
    .member-term-meta{flex:1 1 100%;padding-left:50px;white-space:normal;margin-top:2px;}
    .member-term-card .actions{flex:1 1 100%;padding-left:50px;margin-top:6px;}
    .member-child-card{flex-wrap:wrap;}
    .member-child-card .actions{width:100%;padding-left:42px;margin-top:6px;}
  }
  /* ─────────────────────────────────────────────────────────────────────── */
  /* ─────────────────────────────────────────────────────────────────────── */
  .mail-actions{display:flex;gap:8px;flex-wrap:wrap;}
  .mail-preview{width:100%;min-height:130px;border:1.5px solid var(--border);border-radius:8px;padding:10px 12px;font-size:0.85rem;font-family:inherit;background:#fff;color:var(--text);}
  /* Template tiles (Mail-Vorlagen hub) */
  .template-tiles-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:stretch;grid-auto-rows:1fr;}
  .template-tile{background:#fff;border:1.5px solid rgba(41,38,49,0.07);border-radius:22px;padding:22px 22px 20px;box-shadow:0 2px 12px rgba(44,39,64,0.05);cursor:pointer;display:flex;flex-direction:column;gap:8px;transition:all 0.18s;position:relative;height:100%;}
  .template-tile:hover{border-color:var(--pink);box-shadow:0 8px 32px rgba(231,53,104,0.12);transform:translateY(-2px);}
  .template-tile-top{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:6px;}
  .template-tile-icon{width:54px;height:54px;border-radius:16px;display:flex;align-items:center;justify-content:center;}
  .template-tile-icon svg{width:26px;height:26px;}
  .template-tile-arrow{width:18px;height:18px;color:var(--muted);opacity:0.45;flex-shrink:0;margin-top:4px;}
  .template-tile h3{font-family:'Fraunces',serif;font-size:1.2rem;font-weight:700;color:var(--navy);margin:0;}
  .template-tile p{font-size:0.82rem;color:var(--muted);margin:0;flex:1;}
  .template-tile-tags{display:flex;gap:5px;flex-wrap:wrap;margin-top:auto;}
  .template-tile-tags span{font-size:0.64rem;font-weight:700;letter-spacing:0.08em;text-transform:uppercase;color:var(--muted);background:rgba(41,38,49,0.05);border-radius:6px;padding:3px 8px;}
  /* Mail Template Overlay */
  .mto-wrap{position:fixed;top:0;right:0;bottom:0;left:0;background:rgba(44,39,64,0.5);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);z-index:900;display:flex;align-items:center;justify-content:center;padding:16px;}
  .mto-dialog{background:#fff;border-radius:28px;box-shadow:0 24px 80px rgba(44,39,64,0.28);width:min(1180px,97vw);max-height:92vh;display:flex;flex-direction:column;overflow:hidden;}
  .mto-header{display:flex;align-items:center;justify-content:space-between;padding:22px 28px 18px;border-bottom:1px solid rgba(41,38,49,0.07);flex-shrink:0;}
  .mto-header-left{display:flex;align-items:center;gap:16px;}
  .mto-hicon{width:52px;height:52px;border-radius:16px;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
  .mto-hicon svg{width:24px;height:24px;}
  .mto-kicker{font-size:0.68rem;text-transform:uppercase;letter-spacing:0.1em;font-weight:700;color:var(--muted);margin-bottom:2px;}
  .mto-title{font-family:'Fraunces',serif;font-size:1.45rem;color:var(--navy);margin:0;}
  .mto-close{width:38px;height:38px;border-radius:12px;border:1.5px solid rgba(41,38,49,0.1);background:transparent;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all 0.15s;flex-shrink:0;}
  .mto-close:hover{background:rgba(231,53,104,0.08);border-color:var(--pink);}
  .mto-close svg{width:16px;height:16px;color:var(--navy);}
  .mto-body{display:grid;grid-template-columns:420px 1fr;flex:1;overflow:hidden;min-height:0;}
  .mto-form-col{padding:24px 26px;overflow-y:auto;border-right:1px solid rgba(41,38,49,0.07);}
  .mto-preview-col{background:rgba(246,242,237,0.6);display:flex;flex-direction:column;overflow:hidden;}
  .mto-preview-head{display:flex;align-items:center;justify-content:space-between;padding:14px 22px;border-bottom:1px solid rgba(41,38,49,0.07);flex-shrink:0;}
  .mto-preview-head span{font-size:0.68rem;text-transform:uppercase;letter-spacing:0.1em;font-weight:700;color:var(--muted);}
  .mto-preview-scroll{flex:1;overflow-y:auto;padding:20px 22px;}
  .mto-footer{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end;padding:14px 28px;border-top:1px solid rgba(41,38,49,0.07);flex-shrink:0;background:#fff;}
  .mto-form-grid-split{display:grid;grid-template-columns:2fr 1fr;gap:14px 18px;}
  .mto-form-grid-half{display:grid;grid-template-columns:1fr 1fr;gap:14px 18px;}
  .mto-inline-check{display:flex;align-items:center;gap:10px;padding-top:22px;min-width:0;}
  .mto-inline-check label{font-size:0.93rem;cursor:pointer;}
  .cal-header-main{display:flex;align-items:center;gap:10px;min-width:0;flex-wrap:wrap;}
  .cal-header-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;justify-content:flex-end;}
  .cal-header-main .cal-month-title{min-width:160px;text-align:center;}
  @media(max-width:1100px){.template-tiles-grid{grid-template-columns:repeat(2,1fr);}}
  @media(max-width:860px){.template-tiles-grid{grid-template-columns:1fr 1fr;} .mto-body{grid-template-columns:1fr;} .mto-preview-col{display:none;}}
  @media(max-width:540px){.template-tiles-grid{grid-template-columns:1fr;}}
  .stundensatz-row{display:grid;grid-template-columns:12px minmax(0,1fr) auto auto;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--border);}
  .stundensatz-row:last-child{border-bottom:none;}
  .stundensatz-dot{width:12px;height:12px;border-radius:50%;flex-shrink:0;}
  .stundensatz-name{font-weight:600;font-size:0.9rem;}
  .stundensatz-desc{font-size:0.78rem;color:var(--muted);}
  .stundensatz-rate{font-weight:700;font-size:0.95rem;color:var(--navy);white-space:nowrap;}
  .stundensatz-main{min-width:0;}
  .hours-report-filters{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:14px 22px;border-bottom:1px solid rgba(41,38,49,0.06);}
  .hours-report-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border-bottom:1px solid rgba(41,38,49,0.06);}
  .hours-report-stat{padding:18px 22px;min-width:0;}
  .hours-report-stat + .hours-report-stat{border-left:1px solid rgba(41,38,49,0.06);}
  .tab-bar{display:flex;border-bottom:2px solid var(--border);margin-bottom:24px;overflow-x:auto;white-space:nowrap;-webkit-overflow-scrolling:touch;scrollbar-width:none;}
  .tab-bar::-webkit-scrollbar{display:none;}
  .tab{padding:10px 16px;cursor:pointer;font-size:0.86rem;font-weight:500;color:var(--muted);border-bottom:2px solid transparent;margin-bottom:-2px;transition:all 0.15s;font-family:inherit;background:none;border-top:none;border-left:none;border-right:none;flex-shrink:0;white-space:nowrap;}
  .tab:hover{color:var(--navy);}
  .tab.active{color:var(--navy);border-bottom-color:var(--amber);font-weight:600;}
  .mv-dd-item{padding:11px 16px;font-size:0.88rem;cursor:pointer;color:var(--navy);transition:background 0.1s;}
  .mv-dd-item:hover{background:rgba(44,39,64,0.05);}
  .mv-dd-item.active{background:rgba(231,53,104,0.07);color:var(--pink);font-weight:600;}
  .mv-view-btn{border:none;background:none;color:rgba(255,255,255,0.7);font-size:0.72rem;font-weight:700;letter-spacing:0.04em;padding:5px 13px;cursor:pointer;transition:all 0.15s;text-transform:uppercase;font-family:inherit;}
  .mv-view-btn.active{background:rgba(255,255,255,0.28);color:#fff;}
  .mv-filter-select{-webkit-appearance:none;appearance:none;background:rgba(255,255,255,0.16) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2.5'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E") no-repeat right 10px center;border:1.5px solid rgba(255,255,255,0.28);border-radius:10px;color:#fff;font-size:0.84rem;font-weight:600;padding:7px 28px 7px 12px;cursor:pointer;font-family:inherit;flex:1;max-width:175px;outline:none;}
  .mv-filter-select option{color:var(--navy);background:#fff;}

  .confirm-modal{background:var(--card);border-radius:14px;width:420px;max-width:95vw;box-shadow:0 24px 80px rgba(13,27,54,0.3);padding:28px;transform:scale(0.96);transition:transform 0.2s;}
  .modal-overlay.open .confirm-modal{transform:scale(1);}
  .confirm-icon{width:48px;height:48px;border-radius:50%;background:#fee2e2;color:var(--red);display:flex;align-items:center;justify-content:center;margin-bottom:14px;}

  .empty-state{text-align:center;padding:50px 20px;color:var(--muted);}
  .empty-state svg{width:44px;height:44px;margin-bottom:12px;opacity:0.3;}
  .empty-state p{font-size:0.9rem;}
  .divider{height:1px;background:var(--border);margin:18px 0;}

  .toast{position:fixed;bottom:24px;right:28px;background:var(--navy);color:#fff;padding:13px 20px;border-radius:10px;font-size:0.88rem;font-weight:500;box-shadow:0 8px 32px rgba(13,27,54,0.25);z-index:10000;transform:translateY(80px);opacity:0;transition:all 0.3s cubic-bezier(0.34,1.56,0.64,1);display:flex;align-items:center;gap:8px;}
  .toast.show{transform:translateY(0);opacity:1;}
  .toast svg{width:16px;height:16px;color:var(--amber);flex-shrink:0;}
  .auth-screen{position:fixed;top:0;right:0;bottom:0;left:0;background:linear-gradient(160deg,#0d1b36,#13284f);z-index:9998;display:flex;align-items:center;justify-content:center;padding:16px;}
  .auth-screen.hidden{display:none;}
  .auth-card{width:100%;max-width:470px;background:rgba(255,252,248,0.84);border-radius:32px;padding:28px;border:1px solid rgba(41,38,49,0.08);box-shadow:0 30px 90px rgba(49,35,53,0.16);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);}
  .auth-logo{font-family:'Fraunces',serif;color:var(--navy);font-size:2rem;line-height:1.02;letter-spacing:-0.05em;margin-bottom:6px;}
  .auth-sub{font-size:0.86rem;color:var(--muted);margin-bottom:16px;}
  .auth-error{display:none;background:#fff1f2;color:#b91c1c;border:1px solid #fecdd3;border-radius:8px;padding:8px 10px;font-size:0.82rem;margin-bottom:10px;}
  .auth-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px;}
  .link-btn{border:none;background:transparent;color:var(--aqua);font-size:0.85rem;cursor:pointer;padding:0;font-weight:700;}
  .auth-tabs{display:flex;gap:4px;margin-bottom:18px;background:rgba(41,38,49,0.06);border-radius:14px;padding:4px;}
  .auth-tab{flex:1;padding:9px;border-radius:11px;border:none;background:transparent;font-family:inherit;font-size:0.88rem;font-weight:700;color:var(--muted);cursor:pointer;transition:all 0.2s;}
  .auth-tab.active{background:#fff;color:var(--navy);box-shadow:0 2px 8px rgba(41,38,49,0.10);}
  .role-badge{display:inline-flex;align-items:center;padding:3px 10px;border-radius:999px;font-size:0.72rem;font-weight:800;letter-spacing:0.06em;text-transform:uppercase;}
  .role-badge-admin{background:rgba(231,53,104,0.12);color:var(--pink);}
  .role-badge-inventar{background:rgba(46,168,201,0.12);color:var(--aqua);}
  .role-badge-mitglieder{background:rgba(122,90,200,0.12);color:#7a5ac8;}
  .role-badge-team{background:rgba(46,168,201,0.12);color:var(--aqua);}
  /* Team read-only enforcement per module */
  body.team-ro-members #page-members .btn-amber,
  body.team-ro-members #page-members .btn-danger,
  body.team-ro-members #page-members .actions{display:none!important;}
  body.team-ro-contracts #page-member-contracts .btn-amber,
  body.team-ro-contracts #page-member-contracts .btn-danger{display:none!important;}
  body.team-ro-payments #page-payments .btn-amber,
  body.team-ro-payments #page-payments .btn-danger,
  body.team-ro-payments #page-payments .actions{display:none!important;}
  body.team-ro-dashboard #page-dashboard .btn-amber,
  body.team-ro-dashboard #page-dashboard .btn-danger{display:none!important;}
  body.team-ro-auswertung #page-auswertung .btn-amber,
  body.team-ro-auswertung #page-auswertung .btn-danger{display:none!important;}
  body.team-ro-inventory #page-inventory .btn-amber,
  body.team-ro-inventory #page-inventory .btn-danger,
  body.team-ro-inventory #page-inventory .actions{display:none!important;}
  body.team-ro-mail #page-mail-vorlagen .btn-amber,
  body.team-ro-mail #page-mail-vorlagen .btn-danger,
.team-readonly-badge{display:inline-flex;align-items:center;gap:5px;background:rgba(245,158,11,0.10);color:#b45309;font-size:0.68rem;font-weight:800;padding:3px 10px;border-radius:999px;letter-spacing:0.04em;border:1px solid rgba(245,158,11,0.18);}
  .role-badge-mitglied{background:rgba(44,39,64,0.08);color:var(--navy-light);}
  .role-badge-beisitzer{background:rgba(245,158,11,0.12);color:#b45309;}
  .mein-verein-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;}
  .mein-verein-profil{grid-column:1/-1;}
  .mv-stat-row{display:flex;align-items:center;gap:12px;padding:11px 0;border-bottom:1px solid var(--border);}
  .mv-stat-row:last-child{border-bottom:none;}
  .mv-stat-label{font-size:0.84rem;color:var(--muted);min-width:110px;flex-shrink:0;}
  .mv-stat-value{font-weight:700;color:var(--navy);min-width:0;overflow:hidden;text-overflow:ellipsis;}
  .mv-cards-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;}
  @media(max-width:640px){.mv-cards-grid{grid-template-columns:1fr;}}
  /* Karten-Geometrie:
     Family-Karten (auf der Mein-Verein-Seite, ohne Flip) behalten das klassische
     Kreditkarten-Aspect-Ratio (1.586:1). Die Flip-Karte (Vorder+Rueckseite zugleich)
     gibt aspect-ratio aber auf - sonst quetscht das Rueckseiten-Layout (Header +
     Ueber-Mich + 3 Stats) Inhalte ab. Stattdessen min-height + flex-Verteilung. */
  .mv-member-card{width:100%;max-width:440px;aspect-ratio:1.586 / 1;border-radius:26px;padding:26px 24px 22px;position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between;}
  /* Quadratischer Gesamt-Container: Kreditkarte oben + weißes Info-Panel unten */
  /* Weiße Hülle: enthält Karte + 3 Punkte + Info-Panel - wächst beim Aufklappen */
  /* Asymmetrisches Padding: Bottom = 0, weil 3-Punkte-Hint mit height:20px die Bottom-Fläche stellt */
  /* Container: neutraler weicher Shadow, gibt der Hülle Tiefe ohne Farbe */
  .mv-card-container{width:100%;max-width:480px;background:#fff;border-radius:32px;padding:20px 20px 0 20px;display:flex;flex-direction:column;box-shadow:0 20px 40px -16px rgba(0,0,0,0.20),0 4px 12px rgba(0,0,0,0.06);}
  /* Karte: tier-spezifischer Glow um die Karte herum - kräftig und sichtbar */
  /* Kein dunkler Drop-Shadow, der Container liefert das Grounding */
  /* Erhöhte Spezifität (.primary mit dabei) damit ältere .mv-member-card.primary.platinum-Regel im File nicht gewinnt */
  .mv-card-container .mv-member-card{max-width:none;border-radius:26px;margin:0;cursor:pointer;}
  /* Premium-Card-Shadow-Pattern: 3 gestapelte gerichtete Shadows für natürliche Helligkeitsvariation */
  /* 1) heller warmer Schein oben-links als Lichtquelle  2) satter dunkler Ton unten-rechts für Tiefe  3) scharfer Kontakt-Shadow */
  .mv-card-container .mv-member-card.primary{box-shadow:-6px -2px 18px rgba(255,140,180,0.16),8px 14px 28px rgba(200,40,90,0.22),0 2px 6px rgba(0,0,0,0.06);}
  .mv-card-container.platinum .mv-member-card.primary{box-shadow:-6px -2px 18px rgba(255,210,120,0.18),8px 14px 28px rgba(180,130,30,0.28),0 2px 6px rgba(0,0,0,0.12);}
  .mv-card-container.gold .mv-member-card.primary{box-shadow:-6px -2px 18px rgba(255,210,120,0.16),8px 14px 28px rgba(180,130,30,0.24),0 2px 6px rgba(0,0,0,0.07);}
  /* 3-Punkte-Indicator: stellt visuell den Bottom-Rand des Containers (20px Höhe = Top/Side-Padding), klickbar */
  .mv-card-expand-hint{height:20px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:opacity 0.25s ease,height 0.25s ease;}
  .mv-card-expand-hint::after{content:'';width:3px;height:3px;border-radius:50%;background:rgba(120,110,130,0.55);box-shadow:-8px 0 0 rgba(120,110,130,0.55),8px 0 0 rgba(120,110,130,0.55);}
  .mv-card-container--open .mv-card-expand-hint{opacity:0;height:0;}
  /* Info-Panel: Inhalt im weißen Container, horizontal bündig mit Karteninhalt (24px = Karten-Padding) */
  .mv-card-info-panel{background:transparent;padding:0 24px;max-height:0;overflow:hidden;display:flex;flex-direction:column;gap:12px;visibility:hidden;transition:max-height 0.5s cubic-bezier(0,1,0.5,1),padding 0.3s ease,visibility 0s 0.5s;}
  .mv-card-container--open .mv-card-info-panel{max-height:800px;padding:18px 24px 20px 24px;visibility:visible;transition:max-height 0.5s cubic-bezier(0,1,0.5,1),padding 0.3s ease,visibility 0s 0s;}
  .mv-info-about-text--empty{color:rgba(44,39,64,0.38);font-style:italic;}
  .mv-info-about{display:flex;flex-direction:column;gap:3px;}
  .mv-info-about-text{font-size:0.84rem;font-weight:500;color:var(--navy);line-height:1.5;}
  .mv-info-stats{display:flex;flex-direction:column;gap:8px;}
  .mv-info-stats--divided{padding-top:12px;border-top:1px solid rgba(44,39,64,0.07);}
  .mv-info-row{display:flex;align-items:flex-start;gap:0;}
  .mv-info-label{font-size:0.65rem;font-weight:800;text-transform:uppercase;letter-spacing:0.08em;color:rgba(44,39,64,0.38);flex:0 0 34%;padding-top:2px;padding-right:10px;}
  .mv-info-value{font-size:0.82rem;font-weight:600;color:var(--navy);text-align:left;flex:1;min-width:0;line-height:1.45;}
  .mv-info-row .mv-language-flags{display:flex;flex-wrap:wrap;gap:4px;justify-content:flex-start;}
  .mv-info-row .mv-language-flag{font-size:1.2rem;line-height:1;}

  /* ─── Mobile Portrait (Hochformat-Smartphone) ───────────────────────────
     Auf schmalen Geraeten (360-393px) ist eine 3-spaltige Stats-Section zu eng.
     Loesung: Stats untereinander stapeln, Karte darf hoeher werden, damit alle
     Inhalte sichtbar bleiben. */
  @media (max-width:480px) and (orientation:portrait){
    .mv-card-flip{min-height:340px;}
    .mv-cards-grid .mv-member-card{aspect-ratio:auto;min-height:260px;}
    .mv-card-back-stats{grid-template-columns:1fr;gap:12px;}
    .mv-card-back-stat + .mv-card-back-stat{
      padding-left:0;padding-top:12px;
      border-left:none;border-top:1px solid rgba(255,255,255,0.18);
    }
    .mv-member-card.family .mv-card-back-stat + .mv-card-back-stat{border-top-color:rgba(46,168,201,0.18);}
    .mv-member-card.primary.platinum .mv-card-back-stat + .mv-card-back-stat{border-top-color:rgba(231,197,111,0.28);}
    .mv-member-card.primary.gold .mv-card-back-stat + .mv-card-back-stat{border-top-color:rgba(255,255,255,0.24);}
    /* Im 1-Spalten-Layout duerfen Werte ueber die volle Breite gehen */
    .mv-card-back-stat .mv-card-back-value{-webkit-line-clamp:2;}
    .mv-card-back-about .mv-card-back-value{-webkit-line-clamp:4;}
  }
  .mv-member-card.primary{background:linear-gradient(135deg,var(--pink) 0%,#a044a0 45%,var(--aqua) 100%);color:#fff;box-shadow:-12px 20px 60px rgba(231,53,104,0.35),12px 20px 60px rgba(46,168,201,0.28),0 4px 16px rgba(44,39,64,0.12);}
  .mv-member-card.primary.platinum{background:linear-gradient(135deg,#0a0a0c 0%,#17181d 22%,#2b2d34 48%,#141519 76%,#050506 100%);color:#f4d78a;box-shadow:-12px 20px 60px rgba(5,5,6,0.55),12px 20px 60px rgba(118,96,44,0.12),0 4px 16px rgba(44,39,64,0.20);}
  /* Goldglanz fuer Platinum-Karte. mix-blend-mode war hier urspruenglich gesetzt,
     hat aber den 3D-Stacking-Context der Flip-Karte (transform-style:preserve-3d)
     zerstoert. Folge: backface-visibility greift nicht mehr, die Rueckseite wird
     mit ihrem rotateY(180deg) ueber der Vorderseite sichtbar -> Text spiegelverkehrt.
     Loesung: gleicher visueller Effekt durch hoehere Alpha-Werte ohne Blend-Mode. */
  .mv-member-card.primary.platinum::after{content:'';position:absolute;top:0;right:0;bottom:0;left:0;background:
    radial-gradient(circle at 78% 24%, rgba(244,215,138,0.22) 0%, rgba(244,215,138,0.13) 22%, rgba(244,215,138,0.05) 42%, rgba(244,215,138,0) 58%),
    radial-gradient(circle at 14% 84%, rgba(231,197,111,0.14) 0%, rgba(231,197,111,0.07) 26%, rgba(231,197,111,0) 48%);
    pointer-events:none;opacity:1;}
  .mv-member-card.primary.gold{background:linear-gradient(135deg,#d28b16 0%,#f0b94b 38%,#b87412 68%,#f6d27a 100%);color:#fff;box-shadow:-12px 20px 60px rgba(210,139,22,0.30),12px 20px 60px rgba(246,210,122,0.22),0 4px 16px rgba(44,39,64,0.14);}
  .mv-member-card.family{background:#fff;color:var(--navy);border:1.5px solid rgba(231,53,104,0.12);box-shadow:-8px 16px 48px rgba(231,53,104,0.12),8px 16px 48px rgba(46,168,201,0.10),0 2px 8px rgba(44,39,64,0.06);}
  .mv-card-trophies{display:flex;align-items:flex-end;gap:18px;padding:0 2px 12px;margin-top:auto;min-height:54px;}
  .mv-card-trophy{display:inline-flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:4px;min-width:34px;flex:0 0 auto;background:none;border:none;box-shadow:none;padding:0;cursor:pointer;-webkit-tap-highlight-color:transparent;}
  .mv-member-card.primary .mv-card-trophy{color:rgba(255,255,255,0.96);}
  .mv-member-card.primary .mv-card-trophy img{filter:brightness(0) saturate(100%) invert(100%) sepia(0%) saturate(2%) hue-rotate(223deg) brightness(106%) contrast(101%);}
  .mv-member-card.primary.platinum .mv-card-trophy{color:#f4d78a;}
  .mv-member-card.primary.platinum .mv-card-trophy img{filter:brightness(0) saturate(100%) invert(83%) sepia(42%) saturate(507%) hue-rotate(356deg) brightness(104%) contrast(94%);filter:drop-shadow(0 0 4px rgba(231,197,111,0.22)) brightness(0) saturate(100%) invert(83%) sepia(42%) saturate(507%) hue-rotate(356deg) brightness(104%) contrast(94%);}
  .mv-member-card.family .mv-card-trophy{color:var(--navy);}
  .mv-card-trophy svg,.mv-card-trophy img{height:30px;width:auto;max-width:30px;flex-shrink:0;display:block;object-fit:contain;}
  #mcm-body .mv-card-trophies{min-height:0;gap:10px;padding:0 2px 4px;}
  #mcm-body .mv-card-trophy svg,#mcm-body .mv-card-trophy img{height:18px;max-width:18px;}
  #mcm-body .trophy-stars .star-icon{width:7px;height:7px;}
  .mv-card-avatar{overflow:hidden;}
  .mv-card-avatar img{width:100%;height:100%;display:block;object-fit:cover;}
  .trophy-stars{display:inline-flex;align-items:center;justify-content:center;gap:2px;min-height:12px;white-space:nowrap;flex-wrap:nowrap;}
  .trophy-stars .star-icon{width:9px;height:9px;display:block;flex:0 0 auto;color:currentColor;opacity:0.95;}
  .trophy-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;}
  .trophy-card{background:rgba(255,255,255,0.82);border:1px solid rgba(41,38,49,0.08);border-radius:22px;padding:18px 18px 16px;box-shadow:0 2px 10px rgba(44,39,64,0.06);display:flex;flex-direction:column;gap:12px;}
  .trophy-card.locked{opacity:0.62;filter:saturate(0.7);}
  .trophy-card-head{display:flex;align-items:center;gap:12px;}
  .trophy-icon-stack{display:flex;flex-direction:column;align-items:center;gap:6px;flex-shrink:0;min-width:44px;}
  .trophy-icon{width:44px;height:44px;border-radius:14px;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
  .trophy-icon svg,.trophy-icon img{height:24px;width:auto;max-width:24px;display:block;object-fit:contain;}
  .trophy-icon.admin{background:rgba(44,39,64,0.06);color:var(--navy);}
  .trophy-meta-title{font-family:'Fraunces',serif;font-size:1.06rem;color:var(--navy);letter-spacing:-0.02em;}
  .trophy-meta-sub{font-size:0.8rem;color:var(--muted);margin-top:2px;line-height:1.45;}
  .trophy-status{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border-radius:999px;font-size:0.72rem;font-weight:800;letter-spacing:0.06em;text-transform:uppercase;}
  .trophy-status.unlocked{background:rgba(46,168,201,0.12);color:var(--aqua);}
  .trophy-status.locked{background:rgba(44,39,64,0.06);color:var(--muted);}
  .admin-trophy-layout{display:flex;flex-direction:column;gap:24px;align-items:stretch;max-width:1120px;}
  .admin-trophy-list{display:flex;flex-direction:column;gap:14px;}
  .admin-trophy-item{display:flex;align-items:flex-start;gap:14px;padding:18px 20px;border:1px solid rgba(41,38,49,0.08);border-radius:22px;background:rgba(255,255,255,0.88);box-shadow:0 2px 10px rgba(44,39,64,0.05);}
  .admin-trophy-item-copy{flex:1;min-width:0;}
  .admin-trophy-item-title{font-weight:800;color:var(--navy);line-height:1.25;}
  .admin-trophy-item-sub{font-size:0.8rem;color:var(--muted);line-height:1.5;margin-top:4px;}
  .admin-trophy-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px;}
  .admin-trophy-form{padding:20px 24px;display:flex;flex-direction:column;gap:24px;}
  .admin-trophy-preview{display:flex;align-items:center;gap:14px;padding:16px 18px;border:1px solid rgba(41,38,49,0.08);border-radius:20px;background:rgba(44,39,64,0.03);}
  .admin-trophy-preview-copy{min-width:0;}
  .admin-trophy-preview-copy .trophy-meta-title{margin-bottom:2px;}
  .admin-trophy-upload-note{font-size:0.78rem;color:var(--muted);line-height:1.5;margin-top:4px;}
  .admin-trophy-empty{padding:18px;color:var(--muted);text-align:center;border:1px dashed rgba(41,38,49,0.12);border-radius:18px;background:rgba(255,255,255,0.58);}
  .admin-trophy-toggle{display:flex;align-items:flex-start;gap:10px;padding-top:4px;}
  .admin-trophy-toggle input{margin-top:3px;}
  .admin-trophy-footer{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end;padding-top:8px;border-top:1px solid var(--border);}
  .mv-stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;}
  .mv-stats-tile{background:rgba(255,255,255,0.82);border:1px solid rgba(41,38,49,0.08);border-radius:22px;padding:18px 18px 16px;box-shadow:0 2px 10px rgba(44,39,64,0.06);}
  .mv-stats-label{font-size:0.72rem;font-weight:800;text-transform:uppercase;letter-spacing:0.09em;color:var(--muted);margin-bottom:8px;line-height:1.35;}
  .mv-stats-value{font-family:'Fraunces',serif;font-size:1.8rem;color:var(--navy);line-height:1;}
  .mv-stats-panels{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:16px;}
  .mv-stats-list{display:flex;flex-direction:column;gap:10px;}
  .mv-stats-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid rgba(41,38,49,0.07);}
  .mv-stats-row:last-child{border-bottom:none;}
  .mv-stats-name{font-weight:700;color:var(--navy);min-width:0;}
  .mv-stats-sub{font-size:0.78rem;color:var(--muted);margin-top:2px;}
  .mv-stats-count{flex-shrink:0;font-weight:800;color:var(--pink);}
  .game-stats-box{margin-top:16px;padding:14px 16px;background:rgba(44,39,64,0.03);border-radius:14px;border:1px solid rgba(44,39,64,0.06);}
  .game-stats-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:10px;}
  .game-stats-pill{background:#fff;border:1px solid rgba(41,38,49,0.06);border-radius:12px;padding:10px 12px;text-align:center;}
  .game-stats-pill-label{font-size:0.65rem;font-weight:800;text-transform:uppercase;letter-spacing:0.08em;color:var(--muted);margin-bottom:4px;}
  .game-stats-pill-value{font-weight:800;color:var(--navy);}
  .katalog-detail-content{padding:18px 20px 12px;}
  .katalog-detail-cover{position:relative;margin-bottom:18px;width:min(34%,280px);max-width:100%;aspect-ratio:1/1;border-radius:18px;overflow:hidden;background:#f7f3ec;display:flex;align-items:center;justify-content:center;}
  .katalog-detail-cover-bg{position:absolute;top:0;right:0;bottom:0;left:0;background:center/cover no-repeat;transform:scale(1.08);filter:blur(16px) saturate(0.92);opacity:0.28;}
  .katalog-detail-cover::after{content:'';position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,rgba(255,255,255,0.18),rgba(255,255,255,0.08));}
  .katalog-detail-cover img{position:relative;z-index:1;width:100%;height:100%;object-fit:contain;display:block;}
  .katalog-detail-title{font-family:'Fraunces',serif;font-size:clamp(1.2rem,5vw,1.5rem);font-weight:700;color:var(--navy);line-height:1.08;letter-spacing:-0.02em;margin-bottom:6px;}
  .katalog-detail-status{font-size:0.82rem;font-weight:700;margin-bottom:10px;}
  .katalog-rating-card{margin-bottom:16px;padding:14px 16px;background:rgba(44,39,64,0.03);border-radius:16px;border:1px solid rgba(44,39,64,0.06);}
  .katalog-bgg-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:16px;}
  .katalog-bgg-pill{background:rgba(44,39,64,0.05);border-radius:12px;padding:10px 12px;text-align:center;}
  .katalog-bgg-pill-label{font-size:0.65rem;font-weight:800;text-transform:uppercase;letter-spacing:0.1em;color:var(--muted);margin-bottom:4px;}
  .katalog-bgg-pill-value{font-weight:800;font-size:1rem;color:var(--navy);line-height:1.25;}
  .katalog-bgg-copy{font-size:0.82rem;color:var(--muted);line-height:1.55;margin-bottom:12px;}
  .katalog-bgg-link{display:inline-block;margin-top:14px;font-size:0.75rem;color:var(--aqua);text-decoration:none;font-weight:700;}
  .katalog-bgg-section{margin:0 0 16px;}
  .katalog-bgg-loading{min-height:168px;}
  .mv-card-eyebrow{font-size:0.58rem;font-weight:800;letter-spacing:0.16em;text-transform:uppercase;margin-bottom:16px;position:relative;line-height:1.35;}
  .mv-member-card.primary .mv-card-eyebrow{opacity:0.7;}
  .mv-member-card.primary.platinum .mv-card-eyebrow{color:#e7c56f;opacity:0.95;}
  .mv-member-card.family .mv-card-eyebrow{color:var(--pink);opacity:0.7;}
  .mv-card-head{display:flex;align-items:center;gap:16px;margin-bottom:16px;position:relative;}
  .mv-card-avatar{width:62px;height:62px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:1.2rem;flex-shrink:0;}
  .mv-member-card.primary .mv-card-avatar{background:rgba(255,255,255,0.2);border:2px solid rgba(255,255,255,0.35);}
  .mv-member-card.primary.platinum .mv-card-avatar{background:rgba(231,197,111,0.10);border-color:rgba(231,197,111,0.55);color:#f7df9d;}
  .mv-member-card.family .mv-card-avatar{background:linear-gradient(135deg,rgba(231,53,104,0.12),rgba(46,168,201,0.12));border:2px solid rgba(231,53,104,0.18);color:var(--navy);}
  .mv-card-copy{min-width:0;}
  .mv-card-name{font-family:'Fraunces',serif;font-size:clamp(1.24rem,5.1vw,1.56rem);font-weight:700;line-height:1.03;word-break:break-word;}
  .mv-card-number{font-family:monospace;font-size:0.98rem;margin-top:4px;letter-spacing:0.05em;}
  .mv-member-card.primary .mv-card-number{opacity:0.8;}
  .mv-member-card.primary.platinum .mv-card-name,
  .mv-member-card.primary.platinum .mv-card-number,
  .mv-member-card.primary.platinum .mv-card-stat-value{color:#f7df9d;}
  .mv-member-card.primary.platinum .mv-card-number{opacity:1;}
  .mv-member-card.family .mv-card-number{color:var(--pink);}
  .mv-card-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding-top:14px;position:relative;margin-top:auto;}
  .mv-card-stats.mv-card-stats--two{grid-template-columns:repeat(2,minmax(0,1fr));}
  .mv-member-card.primary .mv-card-stats{border-top:1px solid rgba(255,255,255,0.18);}
  .mv-member-card.primary.platinum .mv-card-stats{border-top-color:rgba(231,197,111,0.34);}
  .mv-member-card.primary.gold .mv-card-stats{border-top-color:rgba(255,255,255,0.24);}
  .mv-member-card.family .mv-card-stats{border-top:1.5px solid rgba(46,168,201,0.15);}
  .mv-card-stat{min-width:0;}
  .mv-card-stat + .mv-card-stat{padding-left:14px;border-left:1px solid rgba(255,255,255,0.15);}
  .mv-member-card.primary.platinum .mv-card-stat + .mv-card-stat{border-left-color:rgba(231,197,111,0.24);}
  .mv-member-card.primary.gold .mv-card-stat + .mv-card-stat{border-left-color:rgba(255,255,255,0.2);}
  .mv-member-card.family .mv-card-stat + .mv-card-stat{border-left-color:rgba(46,168,201,0.12);}
  .mv-card-stat-label{font-size:0.56rem;font-weight:800;text-transform:uppercase;letter-spacing:0.09em;margin-bottom:4px;line-height:1.25;}
  .mv-member-card.primary .mv-card-stat-label{opacity:0.6;}
  .mv-member-card.primary.platinum .mv-card-stat-label{color:#d6b159;opacity:1;}
  .mv-member-card.family .mv-card-stat-label{color:var(--aqua);}
  .mv-card-stat-value{font-weight:700;font-size:0.84rem;line-height:1.18;word-break:break-word;}
  .mv-payment-row{display:flex;align-items:center;justify-content:space-between;padding:10px 0;border-bottom:1px solid var(--border);font-size:0.9rem;}
  .mv-payment-row:last-child{border-bottom:none;}
  .mv-loan-card{border:1px solid var(--border);border-radius:14px;padding:14px 16px;background:var(--bg);margin-bottom:10px;}
  .mv-empty{text-align:center;padding:32px 20px;color:var(--muted);font-size:0.88rem;}
  .user-row{background:#fff;border:1.5px solid rgba(41,38,49,0.07);border-radius:16px;padding:14px 16px;box-shadow:0 1px 6px rgba(44,39,64,0.05);transition:border-color 0.15s;display:flex;align-items:center;gap:12px;}
  .user-row:hover{border-color:rgba(231,53,104,0.2);}
  .user-avatar-sm{width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,var(--pink),var(--aqua));display:flex;align-items:center;justify-content:center;color:#fff;font-weight:800;font-size:0.84rem;flex-shrink:0;}
  .user-info{flex:1;min-width:0;overflow:hidden;}
  .user-name-line{display:flex;align-items:center;gap:8px;min-width:0;}
  .user-display-name{font-weight:700;color:var(--navy);font-size:0.92rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;}
  .user-sub{font-size:0.77rem;color:var(--muted);margin-top:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
  .user-actions-row{display:flex;gap:6px;align-items:center;flex-shrink:0;flex-wrap:wrap;justify-content:flex-end;}
  .user-role-btns{display:flex;gap:4px;}
  #benutzer-list{display:flex;flex-direction:column;gap:8px;}
  @media(max-width:700px){
    .user-row{flex-wrap:wrap;}
    .user-info{flex:1 1 calc(100% - 54px);}
    .user-actions-row{width:100%;padding-left:52px;}
  }
  /* Excel Import */
  .import-dropzone{border:2px dashed rgba(46,168,201,0.35);border-radius:18px;padding:48px 32px;text-align:center;cursor:pointer;transition:all 0.2s;background:rgba(46,168,201,0.03);}
  .import-dropzone:hover,.import-dropzone.drag-over{border-color:var(--aqua);background:rgba(46,168,201,0.07);}
  .import-dropzone svg{width:48px;height:48px;color:var(--aqua);margin-bottom:12px;}
  .import-dropzone p{font-weight:700;color:var(--navy);margin:0 0 4px;}
  .import-dropzone span{font-size:0.82rem;color:var(--muted);}
  .import-table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;}
  .import-map-table{width:100%;border-collapse:collapse;font-size:0.85rem;}
  .import-map-table th{text-align:left;padding:8px 10px;font-size:0.75rem;font-weight:800;letter-spacing:0.08em;text-transform:uppercase;color:var(--muted);border-bottom:2px solid var(--border);}
  .import-map-table td{padding:6px 10px;border-bottom:1px solid var(--border);vertical-align:middle;}
  .import-map-table select{font-size:0.82rem;padding:4px 8px;border-radius:8px;border:1px solid var(--border);background:#fff;color:var(--navy);width:100%;}
  .import-preview-table{width:100%;border-collapse:collapse;font-size:0.78rem;margin-top:12px;}
  .import-preview-table th{background:rgba(44,39,64,0.04);padding:6px 10px;text-align:left;font-weight:700;border-bottom:1px solid var(--border);}
  .import-preview-table td{padding:5px 10px;border-bottom:1px solid rgba(41,38,49,0.05);max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
  .import-preview-table tr.row-skip td{opacity:0.4;background:rgba(231,53,104,0.03);}
  .import-preview-table tr.row-dup td{background:rgba(231,53,104,0.07);}
  .auth-register-name-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
  .import-badge-ok{display:inline-block;padding:2px 8px;border-radius:999px;font-size:0.7rem;font-weight:800;background:rgba(34,197,94,0.12);color:#16a34a;}
  .import-badge-dup{display:inline-block;padding:2px 8px;border-radius:999px;font-size:0.7rem;font-weight:800;background:rgba(231,53,104,0.12);color:var(--pink);}
  .import-badge-skip{display:inline-block;padding:2px 8px;border-radius:999px;font-size:0.7rem;font-weight:800;background:rgba(44,39,64,0.08);color:var(--muted);}
  .import-progress{height:8px;border-radius:4px;background:rgba(44,39,64,0.08);overflow:hidden;margin:12px 0;}
  .import-progress-bar{height:100%;background:linear-gradient(90deg,var(--pink),var(--aqua));border-radius:4px;transition:width 0.3s;}

  @media(max-width:1100px){
    .stats-grid{grid-template-columns:1fr 1fr;}
    .dashboard-grid,.auswertung-grid,.basisdaten-grid,.doc-current-grid{grid-template-columns:1fr;}
    .hours-summary{grid-template-columns:1fr;}
    .module-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
    .inventory-layout{grid-template-columns:1fr;}
    .inventory-quickstats{grid-template-columns:repeat(2,1fr);}
    .doc-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
    .contract-layout{grid-template-columns:1fr;}
    .template-tiles-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  }
  @media(max-width:900px), (max-height:500px){
    body{overflow-x:hidden;}
    .sidebar{
      width:min(84vw,320px);
      transform:translateX(-100%);
      transition:transform 0.26s ease;
      z-index:220;
      box-shadow:12px 0 40px rgba(13,27,54,0.35);
    }
    body.sidebar-open .sidebar{transform:translateX(0);}
    .sidebar-overlay{
      display:block;
      position:fixed;
      top:0;right:0;bottom:0;left:0;
      background:rgba(13,27,54,0.45);
      opacity:0;
      pointer-events:none;
      transition:opacity 0.2s ease;
      z-index:180;
    }
    body.sidebar-open .sidebar-overlay{opacity:1;pointer-events:auto;}
    .main{margin-left:0;min-width:0;}
    .topbar{padding:0 12px;height:60px;}
    .topbar-left{flex:1;min-width:0;}
    .topbar-title{font-size:1.08rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
    .topbar-actions .btn{padding:8px 11px;font-size:0.8rem;}
    .mobile-menu-btn{display:inline-flex;}
    .content{padding:14px;}
    .stats-grid{gap:12px;}
    .stat-card{padding:14px 14px 12px;}
    .stat-value{font-size:1.45rem;}
    .card-header{padding:14px 16px;}
    .tab{padding:9px 13px;font-size:0.82rem;}
    .search-input{width:100%;}
    .search-wrap{flex:1 1 240px;}
    .toast{left:12px;right:12px;bottom:12px;}
    .dashboard-head{justify-content:flex-start;}
    .page-intro{flex-direction:column;align-items:flex-start;gap:14px;}
    .home-next-termin-card{min-width:0;max-width:100%;width:100%;border-radius:16px;padding:12px 16px;}
    .page-intro-copy h2{font-size:1.7rem;}
    .card-header{flex-wrap:wrap;gap:8px;}
    /* Payments-Tabelle → Card-Layout */
    #payments-table thead{display:none;}
    #payments-table,#payments-table tbody,#payments-table tr,#payments-table td{display:block;width:100%;}
    #payments-table tr{padding:10px 12px;border-bottom:1px solid var(--border);}
    #payments-table td{padding:7px 0;border:none;display:flex;justify-content:space-between;gap:10px;align-items:flex-start;}
    #payments-table td::before{content:attr(data-label);font-size:0.72rem;color:var(--muted);font-weight:700;letter-spacing:0.06em;text-transform:uppercase;flex-shrink:0;padding-top:2px;}
    #payments-table td:last-child{padding-top:10px;}
    #payments-table td:last-child::before{display:none;}
    #payments-table td .actions{justify-content:flex-end;width:100%;}
    /* Members-Tabelle → Card-Layout */
    .table-wrap table thead{display:none;}
    .table-wrap table,.table-wrap table tbody,.table-wrap table tr,.table-wrap table td{display:block;width:100%;}
    .table-wrap table tr{padding:12px 14px;border-bottom:1px solid var(--border);position:relative;}
    .table-wrap table td{padding:5px 0;border:none;display:flex;justify-content:space-between;gap:10px;align-items:flex-start;}
    .table-wrap table td::before{content:attr(data-label);font-size:0.72rem;color:var(--muted);font-weight:700;letter-spacing:0.06em;text-transform:uppercase;flex-shrink:0;padding-top:2px;min-width:90px;}
    .table-wrap table td:last-child::before{display:none;}
    .table-wrap table td .actions{justify-content:flex-end;width:100%;}
    .table-wrap table td .family-member-cell,.table-wrap table td .family-child-cell{flex:1;}
    /* Ausnahme: payments-table hat eigenes Card-Layout */
    #payments-table thead{display:none;}
    /* Formulare + Vereins-Grid → 1-spaltig */
    .form-grid,.mein-verein-grid{grid-template-columns:1fr;}
    /* Modal Padding reduzieren */
    .modal-header{padding:16px 20px 12px;}
    .modal-body{padding:16px 20px;}
    .modal-footer{padding:12px 20px 16px;}
    /* Progress-Bar flexibel */
    .progress-bar{min-width:0;}
    .progress-label{white-space:normal;}
    /* Module-Hero Padding */
    .module-hero{padding:20px 18px;}
    .module-hero h2{font-size:2rem;}
    /* Module-Card min-height weg */
    .module-card{min-height:auto;}
    /* Inventory Filter */
    .inventory-filter-bar{flex-direction:column;align-items:stretch;padding:12px 14px;gap:8px;}
    .inventory-filter-bar .form-select{min-width:auto;width:100%;flex:none;}
    .inventory-header-controls .search-wrap{min-width:auto;flex:1 1 100%;}
    .v2-quick-import-row{flex-direction:column;align-items:stretch;}
    .v2-copy-panel{grid-template-columns:1fr;padding:12px;}
    .inv-v2-card{grid-template-columns:74px minmax(0,1fr);padding:12px;gap:12px;}
    .inv-v2-thumb{width:74px;height:74px;}
    .inv-v2-side{grid-column:1/3;align-items:flex-start;justify-content:space-between;width:100%;gap:8px;}
    .inv-v2-actions{justify-content:flex-end;}
    .inv-v2-copy-list{grid-column:1/3;margin-top:0;}
    .inv-v2-copy-row{grid-template-columns:72px minmax(0,1fr);gap:6px 10px;}
    .inv-v2-copy-row .inventory-status{grid-column:1/2;justify-self:start;}
    .inv-v2-copy-row>div:last-child{grid-column:2/3;grid-row:2;justify-self:end;}
    /* Inventory-Tabelle → Card-Grid-Layout (überschreibt .table-wrap generic rules) */
    .inventory-table-scroll{overflow-x:visible;}
    .inventory-table-wrap{max-height:none;overflow:visible;}
    .inventory-table-wrap table tr{display:grid!important;grid-template-columns:100px 1fr auto;grid-template-rows:auto auto auto auto;gap:2px 12px;padding:10px!important;border:1.5px solid rgba(41,38,49,0.07)!important;border-radius:16px;margin-bottom:8px;background:#fff;box-shadow:0 1px 6px rgba(44,39,64,0.04);}
    .inventory-table-wrap table td{display:block!important;padding:0!important;border:none!important;}
    .inventory-table-wrap table td::before{display:none!important;}
    .inventory-table-wrap table td:nth-child(1){grid-column:1;grid-row:1/5;align-self:center;}
    .inventory-table-wrap table td:nth-child(1) .inventory-thumb{width:94px;height:94px;border-radius:14px;font-size:0.85rem;}
    .inventory-table-wrap table td:nth-child(2){display:none!important;}
    .inventory-table-wrap table td:nth-child(3){grid-column:2/4;grid-row:1;padding-top:2px!important;}
    .inventory-table-wrap table td:nth-child(4){grid-column:2/4;grid-row:2;font-size:0.77rem;color:rgba(44,39,64,0.5);}
    .inventory-table-wrap table td:nth-child(5){grid-column:2/4;grid-row:3;font-size:0.77rem;color:rgba(44,39,64,0.5);}
    .inventory-table-wrap table td:nth-child(6){grid-column:2;grid-row:4;padding-top:8px!important;display:flex!important;align-items:center;gap:8px;}
    .inventory-table-wrap table td:nth-child(7){grid-column:3;grid-row:4;padding-top:8px!important;display:flex!important;align-items:center;justify-content:flex-end;gap:8px;}
    /* Doc-Grid 2-spaltig */
    .doc-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
    /* Auth-Screen scrollbar auf kleinen Screens */
    .auth-screen{align-items:flex-start;overflow-y:auto;padding:24px 16px;}
    .auth-card{padding:22px;}
    .hours-date-row{display:grid;grid-template-columns:auto 1fr auto 1fr;gap:6px 8px;width:100%;}
    .hours-date-row .form-input{width:100%;}
    .mail-item-head{flex-direction:column;}
    .hours-report-filters{padding:12px 16px;align-items:stretch;}
    .hours-report-filters .form-select,
    .hours-report-filters .form-input{width:100%!important;min-width:0!important;}
    .hours-report-stats{grid-template-columns:1fr;}
    .hours-report-stat + .hours-report-stat{border-left:none;border-top:1px solid rgba(41,38,49,0.06);}
    .stundensatz-row{grid-template-columns:12px minmax(0,1fr) auto;align-items:flex-start;}
    .stundensatz-rate{grid-column:2;grid-row:2;}
    .stundensatz-row .btn-outline{grid-column:3;grid-row:1;}
    .stundensatz-row .btn-danger{grid-column:3;grid-row:2;justify-self:end;}
    #benutzer-role-filters{flex-wrap:wrap;}
  }
  @media(max-width:520px){
    .stats-grid{grid-template-columns:1fr;}
    .module-grid{grid-template-columns:1fr;}
    .topbar-actions .btn{padding:8px 9px;font-size:0.76rem;}
    .topbar-title{font-size:0.95rem;}
    .content{padding:16px;}
    .hours-date-row{grid-template-columns:1fr;}
    .auth-card{padding:18px;}
    .auth-register-name-grid{grid-template-columns:1fr;}
    .import-dropzone{padding:32px 18px;}
    .import-map-table,.import-preview-table{font-size:0.74rem;}
    .import-map-table th,.import-map-table td,.import-preview-table th,.import-preview-table td{padding-left:8px;padding-right:8px;}
    .mv-filter-anchor{width:100%;}
    .mv-filter-anchor button{width:100%;justify-content:space-between;}
    .mv-filter-dropdown{left:0;right:auto;min-width:0;width:min(100%,260px);max-width:calc(100vw - 32px);}
    .sr-inline-grid,.sr-player-row{grid-template-columns:1fr;}
    .sr-tab-toggle{grid-template-columns:1fr 1fr;}
    .sr-tab-toggle button{width:100%;padding:8px 10px;font-size:0.78rem;}
    .sr-label-full{display:none;}
    .sr-label-mobile{display:inline;}
    .mv-member-card{padding:22px 20px 18px;border-radius:22px;max-width:min(440px,100%);aspect-ratio:1.586 / 1;}
    /* Im Flip-Container darf die Karte wachsen (Rueckseite hat mehr Inhalt). */
    .mv-card-flip .mv-member-card{aspect-ratio:auto;}
    .mv-card-eyebrow{font-size:0.52rem;letter-spacing:0.12em;margin-bottom:14px;}
    .mv-card-head{gap:12px;margin-bottom:14px;}
    .mv-card-avatar{width:54px;height:54px;font-size:1.04rem;}
    .mv-card-name{font-size:1.04rem;line-height:1.02;}
    .mv-card-number{font-size:0.88rem;letter-spacing:0.04em;}
    .mv-card-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:0;padding-top:12px;}
    .mv-card-stat + .mv-card-stat{padding-left:10px;}
    .mv-card-stat-label{font-size:0.5rem;letter-spacing:0.07em;}
    .mv-card-stat-value{font-size:0.76rem;line-height:1.12;}
    .mv-card-trophies{gap:16px;padding-bottom:10px;min-height:36px;}
    .mv-card-trophy{width:32px;height:32px;}
    .mv-card-trophy svg,.mv-card-trophy img{height:28px;width:auto;max-width:28px;}
    .mv-stats-grid{grid-template-columns:1fr;gap:10px;}
    .mv-stats-panels{grid-template-columns:1fr;}
    .game-stats-grid{grid-template-columns:1fr;}
    .admin-trophy-grid{grid-template-columns:1fr;}
    .katalog-detail-content{padding:14px 16px 10px;}
    .katalog-detail-cover{width:100%;margin-bottom:14px;}
    .katalog-detail-title{font-size:1.08rem;line-height:1.07;margin-bottom:5px;}
    .katalog-detail-status{font-size:0.78rem;margin-bottom:8px;}
    .katalog-rating-card{padding:12px 12px;border-radius:14px;}
    .katalog-bgg-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;}
    .katalog-bgg-pill{padding:10px 10px;}
    .katalog-bgg-pill-label{font-size:0.6rem;letter-spacing:0.08em;}
    .katalog-bgg-pill-value{font-size:0.94rem;}
    .template-tiles-grid{grid-template-columns:1fr;}
    .mto-wrap{padding:10px;}
    .mto-dialog{width:min(calc(100vw - 12px),1180px);max-height:95vh;border-radius:22px;}
    .mto-header{padding:18px 16px 14px;align-items:flex-start;gap:10px;}
    .mto-header-left{gap:12px;min-width:0;}
    .mto-hicon{width:44px;height:44px;border-radius:14px;}
    .mto-title{font-size:1.08rem;line-height:1.02;}
    .mto-form-col{padding:18px 16px;}
    .mto-footer{padding:12px 16px;gap:8px;justify-content:stretch;}
    .mto-footer .btn{flex:1 1 calc(50% - 8px);min-width:0;padding:10px 12px;font-size:0.84rem;}
    .mto-footer .btn-primary{flex-basis:100%;}
    .mto-form-grid-split,.mto-form-grid-half{grid-template-columns:1fr;}
    .mto-inline-check{padding-top:4px;align-items:flex-start;}
    .mto-inline-check label{white-space:normal;line-height:1.3;}
    .cal-header-main{gap:8px;justify-content:space-between;}
    .cal-header-main .cal-month-title{order:2;flex:1 1 calc(100% - 92px);min-width:0!important;font-size:0.96rem;}
    .cal-header-main .cal-nav-btn:first-child{order:1;}
    .cal-header-main .cal-nav-btn:last-of-type{order:3;}
    .cal-view-toggle{order:4;width:100%;display:grid;grid-template-columns:1fr 1fr;}
    .cal-view-btn{min-width:0;padding:7px 8px;font-size:0.72rem;}
    .cal-header-actions{width:100%;justify-content:flex-start;gap:8px;}
    .trophy-grid{grid-template-columns:1fr;}
    .stundensatz-row{display:grid;grid-template-columns:12px minmax(0,1fr);gap:10px 12px;align-items:start;}
    .stundensatz-dot{grid-column:1;grid-row:1;}
    .stundensatz-main{grid-column:2;grid-row:1;}
    .stundensatz-rate{grid-column:2;grid-row:2;}
    .stundensatz-row .btn-outline{grid-column:2;grid-row:3;justify-self:start;}
    .stundensatz-row .btn-danger{grid-column:2;grid-row:3;justify-self:end;}
    /* Module-Hero Heading auf sehr kleinen Screens */
    .module-hero h2{font-size:1.6rem;}
    .module-hero p{font-size:0.9rem;}
    /* Inventory Quickstats → kompakt 2×2 */
    .inventory-quickstats{grid-template-columns:1fr 1fr;gap:8px;}
    .inventory-stat{padding:12px 14px;}
    .inventory-stat-value{font-size:1.25rem;}
    .inventory-stat-label{font-size:0.68rem;}
    /* Doc-Grid → 1-spaltig */
    .doc-grid{grid-template-columns:1fr;}
    /* Modal close größeres Tap-Target */
    .modal-close{padding:8px;width:40px;height:40px;display:flex;align-items:center;justify-content:center;margin:-8px -8px -8px 0;}
    /* Kleine Label-Texte etwas größer für Lesbarkeit */
    .nav-label{font-size:0.72rem;}
    .module-chip{font-size:0.68rem;}
    .cal-more-chip{font-size:0.68rem;}
    /* Kalender: 7 Spalten in voller Breite auf Mobile */
    .cal-days{padding:0 6px 12px;gap:3px;}
    .cal-weekdays{padding:10px 6px 4px;gap:3px;}
    .cal-day{min-height:58px;padding:5px 4px 4px;border-radius:9px;gap:2px;}
    .cal-day-num{font-size:0.75rem;}
    .cal-event-chip{font-size:0.6rem;padding:1px 4px;}
    .cal-nav{padding:14px 14px 0;}
    .cal-weekday{font-size:0.6rem;letter-spacing:0.03em;}
    .cal-month-title{font-size:1rem;}
  }
  .rating-dice-row{display:flex;gap:5px;align-items:center;flex-wrap:wrap;}
  .rating-die{cursor:pointer;transition:transform 0.13s,box-shadow 0.13s,opacity 0.13s;display:inline-flex;border-radius:20%;opacity:0.22;}
  .rating-die.lit{opacity:1;box-shadow:-3px 5px 16px rgba(231,53,104,0.18),3px 5px 16px rgba(231,53,104,0.14),0 2px 8px rgba(44,39,64,0.06);}
  .rating-die:hover{transform:scale(1.16);}
  .toggle-switch{position:relative;display:inline-block;width:42px;height:24px;flex-shrink:0;}
  .toggle-switch input{opacity:0;width:0;height:0;}
  .toggle-slider{position:absolute;cursor:pointer;top:0;right:0;bottom:0;left:0;background:var(--line);border-radius:24px;transition:background 0.2s;}
  .toggle-slider:before{content:'';position:absolute;width:18px;height:18px;left:3px;top:3px;background:#fff;border-radius:50%;transition:transform 0.2s;}
  .toggle-switch input:checked+.toggle-slider{background:var(--pink);}
  .toggle-switch input:checked+.toggle-slider:before{transform:translateX(18px);}
  .helper-preset-btn{padding:5px 13px;border-radius:999px;border:1.5px solid rgba(44,39,64,0.2);background:#fff;font-size:0.8rem;color:var(--navy);cursor:pointer;transition:background 0.15s,border-color 0.15s,color 0.15s;white-space:nowrap;}
  .helper-preset-btn.active{background:var(--pink);color:#fff;border-color:var(--pink);}
  /* ── aspect-ratio Fallback für Chrome < 88 ── */
  @supports not (aspect-ratio: 1/1) {
    .inv-tile-img{min-height:120px;}
    .katalog-detail-cover{min-height:180px;}
    .mv-member-card{min-height:260px;}
  }
  /* ── min()/clamp() Fallback für Chrome < 78/79 ── */
  @supports not (width: min(1px, 2px)) {
    .mv-filter-dropdown{max-width:280px;}
    .mto-dialog{width:97vw;max-width:1180px;}
    .katalog-detail-cover{width:34%;max-width:280px;}
  }
  @supports not (font-size: clamp(1rem, 1vw, 2rem)) {
    .katalog-detail-title{font-size:1.35rem;}
    .mv-card-name{font-size:1.4rem;}
  }
  /* ── flex-gap Fallbacks (aktiviert via JS-Klasse, siehe unten) ── */
  /* ROW-Flex: margin-left auf alle Kinder außer dem ersten */
  html.no-flex-gap .brand-lockup>*+*,
  html.no-flex-gap .brand-panel>*+*,
  html.no-flex-gap .page-intro>*+*,
  html.no-flex-gap .sync-indicator>*+*,
  html.no-flex-gap .topbar-left>*+*,
  html.no-flex-gap .topbar-actions>*+*,
  html.no-flex-gap .nav-item>*+*,
  html.no-flex-gap .module-card-header>*+*,
  html.no-flex-gap .module-card-meta>*+*,
  html.no-flex-gap .inventory-toolbar>*+*,
  html.no-flex-gap .inv-view-toggle>*+*,
  html.no-flex-gap .inventory-filter-bar>*+*,
  html.no-flex-gap .inventory-header-controls>*+*,
  html.no-flex-gap .inv-detail-actions>*+*,
  html.no-flex-gap .inventory-loan-top>*+*,
  html.no-flex-gap .inv-item-card>*+*,
  html.no-flex-gap .inv-tags-wrap>*+*,
  html.no-flex-gap .katalog-filter-option>*+*,
  html.no-flex-gap .card-header>*+*,
  html.no-flex-gap .limit-header>*+*,
  html.no-flex-gap .settings-header>*+*,
  html.no-flex-gap .member-row>*+*,
  html.no-flex-gap .contract-section-label>*+*,
  html.no-flex-gap .contract-checklist label>*+*,
  html.no-flex-gap .progress-bar>*+*,
  html.no-flex-gap .stundensatz-row>*+*
  { margin-left:12px; }
  /* COLUMN-Flex: margin-top auf alle Kinder außer dem ersten */
  html.no-flex-gap .sidebar-brand-copy>*+*,
  html.no-flex-gap .module-card>*+*,
  html.no-flex-gap .doc-card>*+*,
  html.no-flex-gap .contract-section>*+*,
  html.no-flex-gap .stat-card>*+*,
  html.no-flex-gap .history-hint>*+*,
  html.no-flex-gap .page-loading>*+*
  { margin-top:12px; }
  html.no-flex-gap .actions>*+*{margin-left:6px}
  html.no-flex-gap .family-member-cell>*+*{margin-left:12px}
  html.no-flex-gap .family-member-stack>*+*{margin-left:12px}
  html.no-flex-gap .family-child-cell>*+*{margin-left:12px}
  html.no-flex-gap .modal-footer>*+*{margin-left:10px}
  html.no-flex-gap .form-group>*+*{margin-top:5px}
  html.no-flex-gap .hourly-calc>*+*{margin-left:8px}
  html.no-flex-gap .payment-filters>*+*{margin-left:12px}
  html.no-flex-gap .hours-date-row>*+*{margin-left:8px}
  html.no-flex-gap .mail-controls>*+*{margin-left:10px}
  html.no-flex-gap .mail-item-head>*+*{margin-left:10px}
  html.no-flex-gap .payment-card>*+*{margin-left:12px}
  html.no-flex-gap .payment-card-sub>*+*{margin-left:8px}
  html.no-flex-gap .payment-card-badges>*+*{margin-left:6px}
  html.no-flex-gap .payment-card-actions>*+*{margin-left:6px}
  html.no-flex-gap .termine-layout>*+*{margin-top:20px}
  html.no-flex-gap .cal-day>*+*{margin-top:3px}
  html.no-flex-gap .termin-card>*+*{margin-left:12px}
  html.no-flex-gap .termin-meta>*+*{margin-left:6px}
  html.no-flex-gap .ical-menu-item>*+*{margin-left:8px}
  html.no-flex-gap .cal-view-toggle>*+*{margin-left:1px}
  html.no-flex-gap .cal-week-grid>*+*{margin-top:8px}
  html.no-flex-gap .cal-wk-card>*+*{margin-left:14px}
  html.no-flex-gap .cal-wk-events>*+*{margin-top:6px}
  html.no-flex-gap .cal-wk-event>*+*{margin-left:10px}
  html.no-flex-gap .member-card-main>*+*{margin-left:12px}
  html.no-flex-gap .member-card-name>*+*{margin-left:7px}
  html.no-flex-gap .member-card-right>*+*{margin-left:10px}
  html.no-flex-gap .member-children>*+*{margin-top:6px}
  html.no-flex-gap .member-child-card>*+*{margin-left:10px}
  html.no-flex-gap .member-term-card>*+*{margin-left:12px}
  html.no-flex-gap .mail-actions>*+*{margin-left:8px}
  html.no-flex-gap .template-tile>*+*{margin-top:8px}
  html.no-flex-gap .template-tile-tags>*+*{margin-left:5px}
  html.no-flex-gap .mto-header-left>*+*{margin-left:16px}
  html.no-flex-gap .mto-footer>*+*{margin-left:10px}
  html.no-flex-gap .mto-inline-check>*+*{margin-left:10px}
  html.no-flex-gap .cal-header-main>*+*{margin-left:10px}
  html.no-flex-gap .cal-header-actions>*+*{margin-left:8px}
  html.no-flex-gap .hours-report-filters>*+*{margin-left:12px}
  html.no-flex-gap .toast>*+*{margin-left:8px}
  html.no-flex-gap .auth-actions>*+*{margin-left:8px}
  html.no-flex-gap .auth-tabs>*+*{margin-left:4px}
  html.no-flex-gap .mv-stat-row>*+*{margin-left:12px}
  html.no-flex-gap .mv-card-trophies>*+*{margin-left:18px}
  html.no-flex-gap .trophy-card>*+*{margin-top:12px}
  html.no-flex-gap .trophy-card-head>*+*{margin-left:12px}
  html.no-flex-gap .trophy-icon-stack>*+*{margin-top:6px}
  html.no-flex-gap .admin-trophy-layout>*+*{margin-top:24px}
  html.no-flex-gap .admin-trophy-list>*+*{margin-top:14px}
  html.no-flex-gap .admin-trophy-item>*+*{margin-left:14px}
  html.no-flex-gap .admin-trophy-actions>*+*{margin-left:8px}
  html.no-flex-gap .admin-trophy-form>*+*{margin-top:24px}
  html.no-flex-gap .admin-trophy-preview>*+*{margin-left:14px}
  html.no-flex-gap .admin-trophy-toggle>*+*{margin-left:10px}
  html.no-flex-gap .admin-trophy-footer>*+*{margin-left:10px}
  html.no-flex-gap .mv-stats-list>*+*{margin-top:10px}
  html.no-flex-gap .mv-stats-row>*+*{margin-left:12px}
  html.no-flex-gap .mv-card-head>*+*{margin-left:16px}
  html.no-flex-gap .user-row>*+*{margin-left:12px}
  html.no-flex-gap .user-name-line>*+*{margin-left:8px}
  html.no-flex-gap .user-actions-row>*+*{margin-left:6px}
  html.no-flex-gap .user-role-btns>*+*{margin-left:4px}
  html.no-flex-gap #benutzer-list>*+*{margin-top:8px}
  html.no-flex-gap .rating-dice-row>*+*{margin-left:5px}
  /* ── Chat-Kommentare (WhatsApp-Stil) ──────────────────────────────────── */
  .chat-list{display:flex;flex-direction:column;gap:10px;padding:4px 2px 14px;width:100%;min-width:0;max-width:100%;overflow:hidden;box-sizing:border-box;}
  .chat-date-sep{align-self:center;font-size:0.68rem;font-weight:700;color:var(--muted);background:rgba(44,39,64,0.06);padding:3px 10px;border-radius:999px;margin:6px 0 2px;text-transform:uppercase;letter-spacing:0.04em;}
  .chat-msg{display:flex;gap:7px;align-items:flex-end;width:100%;min-width:0;max-width:100%;position:relative;padding-bottom:16px;box-sizing:border-box;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;}
  .chat-msg-other{justify-content:flex-start;padding-right:8px;}
  .chat-msg-own{justify-content:flex-end;padding-left:8px;padding-right:4px;}
  .chat-avatar{width:28px;height:28px;min-width:28px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;color:#fff;font-size:0.68rem;font-weight:800;flex-shrink:0;letter-spacing:0.02em;}
  .chat-avatar img{width:100%;height:100%;display:block;object-fit:cover;border-radius:50%;}
  .chat-msg-own .chat-avatar{display:none;}
  /* bubble-wrap: position:relative damit Reactions sich daran ausrichten */
  .chat-bubble-wrap{display:flex;flex-direction:column;min-width:0;position:relative;}
  .chat-msg-other .chat-bubble-wrap{align-items:flex-start;max-width:calc(100% - 40px);}
  .chat-msg-own .chat-bubble-wrap{align-items:flex-end;max-width:80%;margin-left:auto;}
  /* bubble */
  .chat-bubble{position:relative;padding:7px 11px 9px;border-radius:14px 14px 14px 4px;background:#fff;border:1.5px solid var(--aqua);color:var(--navy);font-size:0.88rem;line-height:1.4;word-wrap:break-word;overflow-wrap:anywhere;white-space:pre-wrap;max-width:100%;box-sizing:border-box;}
  .chat-msg-own .chat-bubble{background:#fff;border:1.5px solid var(--pink);border-radius:14px 14px 4px 14px;}
  .chat-msg.active .chat-bubble{box-shadow:0 0 0 3px rgba(231,53,104,0.25);}
  .chat-bubble .chat-author{display:block;font-size:0.7rem;font-weight:800;color:var(--aqua);margin-bottom:2px;letter-spacing:0.01em;}
  .chat-msg-own .chat-bubble .chat-author{color:var(--pink);}
  .chat-bubble-edited{font-size:0.6rem;color:rgba(44,39,64,0.38);margin-left:4px;}
  .chat-reply-quote{border-left:3px solid var(--pink);background:rgba(44,39,64,0.05);padding:4px 8px;border-radius:6px;font-size:0.74rem;color:rgba(44,39,64,0.7);margin-bottom:5px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;box-sizing:border-box;}
  .chat-reply-quote strong{display:block;font-weight:700;font-size:0.7rem;color:var(--navy);margin-bottom:1px;}
  /* WhatsApp-Reaction-Chips: relativ zu bubble-wrap, überlappen Bubble-Unterkante */
  .chat-reactions-float{position:absolute;bottom:-16px;display:flex;gap:2px;z-index:2;pointer-events:auto;}
  .chat-msg-other .chat-reactions-float{left:8px;}
  .chat-msg-own .chat-reactions-float{right:8px;}
  .chat-reaction-chip{display:inline-flex;align-items:center;gap:3px;padding:3px 9px;border-radius:999px;background:#fff;border:1px solid rgba(44,39,64,0.18);font-size:0.82rem;color:var(--navy);cursor:pointer;line-height:1.3;user-select:none;box-shadow:0 1px 3px rgba(44,39,64,0.14);}
  .chat-reaction-chip:hover{background:#f7f7f7;}
  .chat-reaction-chip.own{border-color:rgba(231,53,104,0.55);}
  .chat-reaction-chip .chat-reaction-count{font-size:0.66rem;font-weight:600;color:var(--muted);}
  .chat-reaction-chip.own .chat-reaction-count{color:var(--pink);}
  /* Long-Press Kontext-Menü */
  .chat-ctx-backdrop{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(20,18,32,0.42);backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);z-index:9998;animation:chatCtxFade 0.18s ease-out;}
  .chat-ctx-menu{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);background:#fff;border-radius:18px;box-shadow:0 18px 48px rgba(20,18,32,0.4);z-index:9999;min-width:260px;max-width:88vw;overflow:hidden;animation:chatCtxPop 0.2s cubic-bezier(.2,.9,.3,1.2);}
  .chat-ctx-reactions{display:flex;justify-content:space-around;align-items:center;padding:14px 8px;border-bottom:1px solid rgba(44,39,64,0.08);gap:2px;}
  .chat-ctx-reactions button{background:none;border:none;font-size:1.85rem;padding:6px 8px;border-radius:50%;cursor:pointer;line-height:1;transition:transform 0.12s,background 0.12s;}
  .chat-ctx-reactions button:active,.chat-ctx-reactions button:hover{background:rgba(231,53,104,0.12);transform:scale(1.22);}
  .chat-ctx-reactions button.own{background:rgba(231,53,104,0.18);box-shadow:0 0 0 2px var(--pink) inset;}
  .chat-ctx-actions{display:flex;flex-direction:column;padding:6px 0;}
  .chat-ctx-actions button{width:100%;padding:14px 20px;background:none;border:none;display:flex;align-items:center;gap:14px;font-size:0.96rem;color:var(--navy);cursor:pointer;text-align:left;font-family:inherit;}
  .chat-ctx-actions button:active,.chat-ctx-actions button:hover{background:rgba(44,39,64,0.06);}
  .chat-ctx-actions button .chat-ctx-icon{font-size:1.15rem;width:24px;text-align:center;}
  .chat-ctx-actions button.danger{color:#dc2626;}
  @keyframes chatCtxFade{from{opacity:0;}to{opacity:1;}}
  @keyframes chatCtxPop{from{opacity:0;transform:translate(-50%,-46%) scale(0.9);}to{opacity:1;transform:translate(-50%,-50%) scale(1);}}
  /* Composer */
  .chat-composer{display:flex;align-items:center;gap:7px;padding:6px 8px;background:#fff;border:1px solid rgba(44,39,64,0.12);border-radius:22px;box-shadow:0 1px 4px rgba(44,39,64,0.04);max-width:100%;box-sizing:border-box;overflow:hidden;}
  .chat-composer-quote{display:flex;align-items:center;gap:6px;background:rgba(44,39,64,0.05);border-left:3px solid var(--pink);border-radius:6px;padding:4px 8px;margin-bottom:5px;font-size:0.74rem;color:var(--muted);overflow:hidden;max-width:100%;box-sizing:border-box;}
  .mv-profile-layout{display:flex;flex-direction:column;gap:18px;max-width:920px;}
  .mv-profile-card{background:rgba(255,255,255,0.9);border:1px solid rgba(41,38,49,0.08);border-radius:26px;box-shadow:0 10px 28px rgba(44,39,64,0.08);padding:22px 22px 20px;}
  .mv-profile-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;flex-wrap:wrap;}
  .mv-profile-avatar-stack{display:flex;align-items:center;gap:16px;flex:1 1 340px;min-width:0;}
  .mv-profile-avatar-preview{width:88px;height:88px;border-radius:26px;background:linear-gradient(135deg,var(--pink),#a044a0,var(--aqua));display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.5rem;font-weight:800;overflow:hidden;box-shadow:-4px 8px 24px rgba(231,53,104,0.18),4px 8px 24px rgba(46,168,201,0.14);}
  .mv-profile-avatar-preview img{width:100%;height:100%;display:block;object-fit:cover;}
  .mv-profile-upload-actions{display:flex;flex-direction:column;gap:8px;}
  .mv-profile-title{font-family:'Fraunces',serif;font-size:1.35rem;color:var(--navy);line-height:1.05;}
  .mv-profile-sub{font-size:0.83rem;color:var(--muted);line-height:1.5;max-width:46ch;}
  .mv-profile-hint{font-size:0.76rem;color:var(--muted);line-height:1.5;max-width:420px;}
  .mv-profile-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 16px;}
  .mv-profile-field{display:flex;flex-direction:column;gap:7px;}
  .mv-profile-field.full{grid-column:1/-1;}
  .mv-profile-label{font-size:0.72rem;font-weight:800;letter-spacing:0.08em;text-transform:uppercase;color:var(--muted);}
  .mv-profile-field input,.mv-profile-field textarea{width:100%;border-radius:16px;border:1px solid rgba(41,38,49,0.12);background:#fff;padding:12px 14px;font:inherit;color:var(--navy);box-sizing:border-box;}
  .mv-profile-field textarea{min-height:112px;resize:vertical;}
  .mv-profile-language-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
  .mv-profile-lang-option{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:12px;border:1px solid rgba(41,38,49,0.10);border-radius:18px;padding:12px 14px;background:#fff;cursor:pointer;min-width:0;transition:border-color .15s ease, box-shadow .15s ease, background .15s ease;}
  .mv-profile-lang-option:has(input:checked){border-color:rgba(231,53,104,0.28);background:linear-gradient(135deg,rgba(231,53,104,0.06),rgba(46,168,201,0.05));box-shadow:0 8px 18px rgba(44,39,64,0.06);}
  .mv-profile-lang-option input{margin:0;accent-color:var(--pink);width:18px;height:18px;flex-shrink:0;}
  .mv-profile-lang-main{display:flex;align-items:center;gap:10px;min-width:0;}
  .mv-profile-lang-flag{font-size:1.05rem;line-height:1;flex-shrink:0;}
  .mv-profile-lang-copy{display:flex;flex-direction:column;min-width:0;flex:1 1 auto;}
  .mv-profile-lang-title{font-weight:700;color:var(--navy);}
  .mv-profile-lang-sub{font-size:0.76rem;color:var(--muted);}
  .mv-language-chips{display:flex;flex-wrap:wrap;gap:8px;}
  .mv-language-chip{display:inline-flex;align-items:center;gap:6px;padding:7px 10px;border-radius:999px;background:rgba(255,255,255,0.16);border:1px solid rgba(255,255,255,0.16);font-size:0.76rem;font-weight:700;line-height:1;}
  .mv-member-card.family .mv-language-chip,.mv-profile-language-grid .mv-language-chip,.mv-profile-card .mv-language-chip{background:rgba(44,39,64,0.05);border-color:rgba(44,39,64,0.08);color:var(--navy);}
  .mv-language-chip-flag{font-size:0.96rem;line-height:1;}
  .mv-language-empty{font-size:0.8rem;opacity:0.76;font-style:italic;}
  .mv-profile-actions{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap;padding-top:6px;}
  @media(max-width:760px){
    .mv-profile-card{padding:18px 16px 16px;border-radius:22px;}
    .mv-profile-head{align-items:stretch;}
    .mv-profile-avatar-stack{align-items:flex-start;flex-direction:column;}
    .mv-profile-grid{grid-template-columns:1fr;}
    .mv-profile-language-grid{grid-template-columns:1fr;}
    .mv-profile-actions .btn{width:100%;}
  }
  @media(max-width:420px){
    .mv-card-back-value{font-size:0.78rem;}
    .mv-card-back-stats{grid-template-columns:1fr;gap:8px;padding-top:10px;}
    .mv-card-back-stat + .mv-card-back-stat{padding-left:0;border-left:none;border-top:1px solid rgba(255,255,255,0.14);padding-top:8px;}
    .mv-member-card.family .mv-card-back-stat + .mv-card-back-stat{border-top-color:rgba(46,168,201,0.12);}
  }
  .chat-composer-quote .chat-composer-quote-text{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
  .chat-composer-quote .chat-composer-quote-text strong{color:var(--navy);font-weight:700;margin-right:4px;}
  .chat-composer-quote .chat-composer-quote-close{background:none;border:none;cursor:pointer;color:var(--muted);font-size:0.9rem;padding:0 2px;line-height:1;}
  .chat-composer input.chat-composer-input{flex:1 1 auto;border:none;outline:none;background:transparent;font-size:16px;padding:7px 4px;color:var(--text);min-width:0;width:100%;}
  .chat-composer-btn{background:none;border:none;cursor:pointer;font-size:1.2rem;padding:6px;line-height:1;border-radius:50%;color:var(--navy);flex-shrink:0;}
  .chat-composer-btn:hover{background:rgba(44,39,64,0.07);}
  .chat-send-btn{background:var(--pink);color:#fff;border:none;width:34px;height:34px;min-width:34px;border-radius:50%;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;font-size:0.95rem;flex-shrink:0;box-shadow:0 1px 3px rgba(231,53,104,0.3);padding:0;}
  .chat-send-btn:hover{background:var(--pink-deep);}
  .chat-send-btn:disabled{opacity:0.5;cursor:not-allowed;}
  .chat-edit-input{width:100%;border:1px solid rgba(44,39,64,0.2);background:#fff;color:var(--navy);border-radius:8px;padding:5px 8px;font-size:0.88rem;font-family:inherit;outline:none;}
  .chat-empty{font-size:0.82rem;color:var(--muted);padding:10px 4px;text-align:center;}
  #page-mv-chat{min-height:0;}
  /* Chat-Page = exakte Viewport-Höhe minus Topbar + Content-Padding */
  #page-mv-chat.page.active{
    display:flex;
    flex-direction:column;
    height:calc(100dvh - 156px);
    max-height:calc(100dvh - 156px);
    overflow:hidden;
  }
  /* gap:0 – Abstände über margin-bottom des Hero gesteuert, damit Tabs direkt an Card anschließen */
  #page-mv-chat .module-shell{display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden;gap:0;}
  #page-mv-chat .module-hero{margin-bottom:12px;}
  /* Tab-Bar sitzt AUSSERHALB der Card als sichtbarer Card-Header (oben gerundet, unten offen) */
  .mv-chat-card-tabs{
    flex:0 0 auto;
    padding:0 16px;
    background:rgba(255,255,255,0.96);
    border:1px solid rgba(41,38,49,0.08);
    border-bottom:none;
    border-radius:28px 28px 0 0;
    overflow:hidden;
  }
  .mv-chat-card-tabs .tab{padding:14px 14px 12px;margin-bottom:0;}
  /* Card: nur untere Ecken gerundet, oben nahtlos an Tab-Bar anschließend */
  .mv-chat-card{display:flex;flex-direction:column;flex:1;height:auto;min-height:0;max-height:none;background:rgba(255,255,255,0.96);border-radius:0 0 28px 28px;border-top:none;}
  .mv-chat-card-body{display:flex;flex-direction:column;flex:1 1 auto;min-height:0;padding:12px 16px 14px;}
  .mv-chat-scroll{flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding-right:14px;margin-right:-6px;margin-bottom:10px;scrollbar-width:thin;scrollbar-color:rgba(44,39,64,0.18) transparent;}
  .mv-chat-scroll::-webkit-scrollbar{width:3px;}
  .mv-chat-scroll::-webkit-scrollbar-track{background:transparent;}
  .mv-chat-scroll::-webkit-scrollbar-thumb{background:rgba(44,39,64,0.16);border-radius:999px;}
  .mv-chat-scroll::-webkit-scrollbar-thumb:hover{background:rgba(44,39,64,0.24);}
  .mv-chat-composer-wrap{flex:0 0 auto;padding-top:8px;padding-bottom:max(2px, env(safe-area-inset-bottom));background:linear-gradient(to top, rgba(255,255,255,0.98), rgba(255,255,255,0.9) 70%, rgba(255,255,255,0));}
  /* Mobile + Landscape-Phones */
  @media (max-width: 720px), (max-height: 500px){
    #page-mv-chat.page.active{
      height:calc(100dvh - 88px);
      max-height:calc(100dvh - 88px);
    }
    .mv-chat-card{
      backdrop-filter:none;
      -webkit-backdrop-filter:none;
      border-radius:0 0 20px 20px;
    }
    .mv-chat-card-tabs{padding:0 12px;border-radius:20px 20px 0 0;}
    .mv-chat-card-tabs .tab{padding:12px 12px 10px;}
    .mv-chat-card-body{padding:10px 12px 12px;}
  }
  /* Landscape-Phone: Hero ausblenden */
  @media (max-height: 500px){
    #page-mv-chat .module-hero{display:none;}
  }
  /* Sehr schmale Phones (≤520): Content-Padding 16px → 92px Offset */
  @media (max-width: 520px){
    #page-mv-chat.page.active{
      height:calc(100dvh - 92px);
      max-height:calc(100dvh - 92px);
    }
  }
  /* ── Mitgliederbereich: Kicker "Mein Bereich" / "Weiteres" global ausblenden ── */
  [id^="page-mv-"] .module-kicker,
  #page-spielekatalog .module-kicker,
  #page-spielrunden .module-kicker { display:none; }
  /* ── Mitgliederbereich: Hero-Header mit abgerundeten Ecken ── */
  [id^="page-mv-"] .module-hero,
  #page-spielekatalog .module-hero,
  #page-spielrunden .module-hero {
    background:linear-gradient(135deg,rgba(255,255,255,0.82),rgba(255,249,245,0.92) 48%,rgba(239,250,252,0.96));
    border:1px solid rgba(41,38,49,0.08);
    border-radius:20px;
    box-shadow:0 4px 20px rgba(95,67,86,0.07);
  }
