:root{
    /* Farbwelt an Studio Manager angeglichen: Sage-Smaragd auf Off-White (27.07.2026).
       Nur Farb-Tokens getauscht — Schrift (Bebas Neue/Barlow) + Layout bleiben. */
    --brand:#3B6659;        /* war Blau #2E8BFF → Sage-Smaragd (Akzent) */
    --brand-ink:#2A4C41;    /* Sage-deep (Text-Akzent) */
    --brand-soft:#ECF0EE;   /* Sage-Wash */
    --aqua:#2E8672;         /* helleres Sage (Hero-/Logo-Verläufe) */
    --petrol:#223B33;       /* dunkles Sage (dunkle Flächen) */
    --petrol-deep:#142720;  /* Grün-Schwarz */
    --bg:#F4F6F4;           /* Off-White (war hellblau #EDF3F4) */
    --surface:#FFFFFF;
    --ink:#1A211C;          /* fast-schwarz, ein Hauch grün */
    --muted:#69726B;        /* gedecktes Grün-Grau */
    --line:#CFD6CF;         /* kräftiger, grün-neutraler Rahmen */
    --income:#2E7057;       /* Geld-Grün (passt zur Palette) */
    --income-soft:#E7F0EA;
    --amber:#9A6B2F;        /* gedämpftes Ocker */
    --amber-soft:#F4ECDF;
    --danger:#B23A48;       /* gedämpftes Rot */
    --danger-soft:#F6EAEC;
    --shadow:0 1px 2px rgba(26,29,27,.03),0 12px 30px -14px rgba(26,29,27,.12);
    --shadow-lg:0 24px 60px -28px rgba(26,29,27,.34);
    --radius:18px;
  }
  *{box-sizing:border-box;margin:0;padding:0}
  html,body{height:100%}
  body{
    font-family:"Barlow",system-ui,sans-serif;
    color:var(--ink);
    background:
      radial-gradient(1200px 600px at 85% -10%, rgba(46,139,255,.10), transparent 60%),
      radial-gradient(900px 500px at -10% 110%, rgba(40,184,200,.10), transparent 55%),
      var(--bg);
    -webkit-font-smoothing:antialiased;
    min-height:100%;
  }
  ::selection{background:var(--brand);color:#fff}

  /* ---------- Top chrome ---------- */
  .topbar{
    position:sticky;top:0;z-index:50;
    display:flex;align-items:center;gap:18px;flex-wrap:wrap;
    padding:14px clamp(16px,4vw,40px);
    background:rgba(244,243,250,.82);
    backdrop-filter:saturate(160%) blur(14px);
    border-bottom:1px solid var(--line);
  }
  .brand{display:flex;align-items:center;gap:11px}
  .mark{
    width:38px;height:38px;border-radius:11px;flex:none;
    background:linear-gradient(150deg,var(--petrol),var(--aqua));
    display:grid;place-items:center;color:#fff;
    font-family:"Bebas Neue";font-size:22px;letter-spacing:1px;
    box-shadow:0 8px 20px -8px var(--brand);position:relative;overflow:hidden;
  }
  .mark::after{content:"";position:absolute;inset:0;background:
    repeating-linear-gradient(135deg,rgba(255,255,255,.18) 0 6px,transparent 6px 12px);
    opacity:.5;mix-blend-mode:overlay}
  .brand .name{font-family:"Bebas Neue";font-size:25px;letter-spacing:.6px;line-height:.9}
  .brand .sub{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);font-weight:600}

  .seg{
    margin-left:auto;display:inline-flex;background:var(--surface);
    border:1px solid var(--line);border-radius:999px;padding:4px;box-shadow:var(--shadow);
  }
  .seg button{
    font-family:"Barlow";font-weight:700;font-size:14px;cursor:pointer;
    border:0;background:transparent;color:var(--muted);
    padding:9px 18px;border-radius:999px;transition:.22s;white-space:nowrap;
    display:inline-flex;align-items:center;gap:8px;
  }
  .seg button.active{background:var(--brand);color:#fff;box-shadow:0 8px 18px -8px var(--brand)}
  .seg svg{width:16px;height:16px}

  .demo-pill{
    display:inline-flex;align-items:center;gap:7px;font-size:11px;font-weight:700;
    letter-spacing:.12em;text-transform:uppercase;color:var(--brand-ink);
    background:var(--brand-soft);padding:7px 12px;border-radius:999px;border:1px solid #CFE3FB;
  }
  .demo-pill .dot{width:7px;height:7px;border-radius:50%;background:var(--brand);box-shadow:0 0 0 4px rgba(46,139,255,.20)}

  .stage{padding:clamp(20px,4vw,44px) clamp(16px,4vw,40px) 80px}
  .hidden{display:none!important}

  /* ============================================================
     TRAINER APP (phone)
  ============================================================ */
  .phone-wrap{
    display:grid;grid-template-columns:minmax(0,360px) minmax(0,1fr);
    gap:clamp(24px,5vw,72px);align-items:start;max-width:1080px;margin:0 auto;
  }
  @media(max-width:820px){.phone-wrap{grid-template-columns:1fr}.side-copy{order:-1}}

  .phone{
    width:360px;max-width:100%;margin:0 auto;
    background:#102127;border-radius:46px;padding:12px;
    box-shadow:var(--shadow-lg);position:sticky;top:96px;
  }
  .phone-screen{
    background:var(--bg);border-radius:36px;overflow:hidden;position:relative;
    height:740px;display:flex;flex-direction:column;
  }
  .notch{position:absolute;top:0;left:50%;transform:translateX(-50%);
    width:128px;height:26px;background:#102127;border-radius:0 0 16px 16px;z-index:30}
  .statusbar{display:flex;justify-content:space-between;align-items:center;
    padding:11px 22px 4px;font-size:12px;font-weight:700;color:var(--ink)}
  .statusbar .icons{display:flex;gap:5px;align-items:center}
  .statusbar .icons span{display:inline-block}

  .app-scroll{flex:1;overflow-y:auto;padding:6px 16px 96px;scrollbar-width:none}
  .app-scroll::-webkit-scrollbar{display:none}

  /* app header */
  .app-head{display:flex;align-items:center;gap:12px;padding:8px 2px 16px}
  .avatar{width:46px;height:46px;border-radius:14px;flex:none;display:grid;place-items:center;
    font-family:"Bebas Neue";font-size:20px;color:#fff;letter-spacing:1px;
    background:linear-gradient(150deg,var(--aqua),var(--brand))}
  .app-head .hi{font-size:13px;color:var(--muted);font-weight:600}
  .app-head .who{font-family:"Bebas Neue";font-size:24px;letter-spacing:.5px;line-height:.95}
  .bell{margin-left:auto;width:40px;height:40px;border-radius:12px;border:1px solid var(--line);
    background:var(--surface);display:grid;place-items:center;color:var(--ink);position:relative}
  .bell::after{content:"";position:absolute;top:9px;right:10px;width:8px;height:8px;border-radius:50%;
    background:var(--danger);border:2px solid var(--surface)}

  .card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);
    box-shadow:var(--shadow)}
  .pad{padding:16px}

  /* level / hero card */
  .level-card{
    position:relative;overflow:hidden;color:#fff;border:0;margin-bottom:14px;
    background:linear-gradient(155deg,var(--petrol-deep),var(--petrol) 55%,#2E4E42);
    border-radius:22px;padding:18px;box-shadow:0 22px 44px -22px rgba(23,50,59,.55);
  }
  .level-card::after{content:"";position:absolute;inset:0;opacity:.5;mix-blend-mode:overlay;
    background:repeating-linear-gradient(125deg,rgba(255,255,255,.10) 0 10px,transparent 10px 22px)}
  .level-card .row{position:relative;display:flex;justify-content:space-between;align-items:flex-start;z-index:2}
  .belt{display:inline-flex;align-items:center;gap:8px;background:rgba(255,255,255,.16);
    border:1px solid rgba(255,255,255,.28);padding:6px 12px;border-radius:999px;
    font-family:"Barlow Semi Condensed";font-weight:800;letter-spacing:.06em;font-size:13px;text-transform:uppercase}
  .level-card .rate{font-family:"Bebas Neue";font-size:46px;line-height:.9;letter-spacing:1px;margin-top:14px;position:relative;z-index:2}
  .level-card .rate small{font-size:18px;opacity:.85;font-family:"Barlow";font-weight:600;letter-spacing:0}
  .level-card .meta{position:relative;z-index:2;display:flex;gap:18px;margin-top:6px;font-size:12.5px;opacity:.92;font-weight:600}
  .level-card .meta b{font-weight:800}

  /* career ladder */
  .ladder{display:flex;gap:6px;margin-top:16px;position:relative;z-index:2}
  .ladder .step{flex:1;height:7px;border-radius:99px;background:rgba(255,255,255,.25)}
  .ladder .step.on{background:#fff}
  .ladder-note{position:relative;z-index:2;margin-top:9px;font-size:12px;opacity:.9}

  /* check-in */
  .checkin{margin:14px 0;border-radius:20px;overflow:hidden}
  .checkin .body{padding:16px;display:flex;align-items:center;gap:14px}
  .checkin .geo{width:46px;height:46px;border-radius:14px;flex:none;display:grid;place-items:center;
    background:var(--brand-soft);color:var(--brand)}
  .checkin h4{font-family:"Barlow Semi Condensed";font-weight:800;font-size:18px;letter-spacing:.01em}
  .checkin p{font-size:12.5px;color:var(--muted);font-weight:600}
  .btn{font-family:"Barlow";font-weight:700;border:0;cursor:pointer;border-radius:13px;
    padding:13px 18px;font-size:15px;transition:.18s;display:inline-flex;align-items:center;justify-content:center;gap:9px;width:100%}
  .btn-primary{background:var(--brand);color:#fff;box-shadow:0 12px 24px -12px var(--brand)}
  .btn-primary:hover{transform:translateY(-1px);filter:brightness(1.05)}
  .btn-ghost{background:var(--surface);border:1px solid var(--line);color:var(--ink)}
  .btn-ghost:hover{border-color:#C5DCEA;background:#F4FAFB}
  .checkin.on{background:var(--income-soft);border-color:#BCE7DA}
  .checkin.on .geo{background:#D2F1E8;color:var(--income)}
  .btn-checked{background:var(--income);color:#fff;box-shadow:0 12px 24px -12px var(--income)}
  .pulse{width:9px;height:9px;border-radius:50%;background:#fff;box-shadow:0 0 0 0 rgba(255,255,255,.7);animation:pulse 1.6s infinite}
  @keyframes pulse{0%{box-shadow:0 0 0 0 rgba(255,255,255,.6)}70%{box-shadow:0 0 0 9px rgba(255,255,255,0)}100%{box-shadow:0 0 0 0 rgba(255,255,255,0)}}

  /* quick actions */
  .quick{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:14px}
  .quick button{display:flex;flex-direction:column;gap:8px;align-items:flex-start;text-align:left;
    background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:14px;cursor:pointer;transition:.18s}
  .quick button:hover{transform:translateY(-2px);box-shadow:var(--shadow);border-color:#C5DCEA}
  .quick .ic{width:38px;height:38px;border-radius:11px;display:grid;place-items:center}
  .quick .ic.amber{background:var(--amber-soft);color:var(--amber)}
  .quick .ic.indigo{background:var(--brand-soft);color:var(--brand)}
  .quick b{font-family:"Barlow Semi Condensed";font-weight:800;font-size:16px}
  .quick span{font-size:12px;color:var(--muted);font-weight:600}

  .sec-title{display:flex;align-items:center;justify-content:space-between;margin:6px 2px 10px}
  .sec-title h3{font-family:"Bebas Neue";font-size:21px;letter-spacing:.5px}
  .sec-title a{font-size:12.5px;font-weight:700;color:var(--brand);text-decoration:none}

  /* today list */
  .today .item{display:flex;align-items:center;gap:13px;padding:13px 14px;border-bottom:1px solid var(--line)}
  .today .item:last-child{border-bottom:0}
  .time-chip{font-family:"Barlow Semi Condensed";font-weight:800;font-size:15px;color:var(--brand-ink);
    background:var(--brand-soft);border-radius:10px;padding:8px 9px;min-width:54px;text-align:center;line-height:1}
  .today .t b{font-family:"Barlow Semi Condensed";font-weight:700;font-size:15.5px;display:block}
  .today .t span{font-size:12.5px;color:var(--muted);font-weight:600}

  /* market cards */
  .market .job{display:flex;gap:12px;align-items:center;padding:14px;border-bottom:1px solid var(--line)}
  .market .job:last-child{border-bottom:0}
  .market .jt{flex:1;min-width:0}
  .market .pay-cta{margin-left:auto;flex:none;display:flex;flex-direction:column;align-items:flex-end;gap:8px}
  .market .pay{text-align:right;white-space:nowrap}
  .market .pay b{font-family:"Bebas Neue";font-size:25px;color:var(--income);letter-spacing:.5px;line-height:.9;white-space:nowrap}
  .market .pay span{display:block;font-size:11px;color:var(--muted);font-weight:600;white-space:nowrap;margin-top:1px}
  .tag{display:inline-block;font-size:10.5px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;
    padding:4px 8px;border-radius:7px}
  .tag.sub{background:var(--amber-soft);color:var(--amber)}
  .tag.new{background:var(--income-soft);color:var(--income)}
  .tag.pt{background:var(--brand-soft);color:var(--brand)}
  .job .jt b{font-family:"Barlow Semi Condensed";font-weight:700;font-size:15.5px;display:block;margin:5px 0 2px}
  .job .jt span{font-size:12px;color:var(--muted);font-weight:600}
  .grab{border:0;background:var(--brand);color:#fff;font-weight:700;font-family:"Barlow";
    border-radius:10px;padding:9px 14px;cursor:pointer;font-size:12.5px;transition:.18s;flex:none;white-space:nowrap}
  .grab:hover{filter:brightness(1.06);transform:translateY(-1px)}

  /* academy */
  .upsell{position:relative;overflow:hidden;border:0;border-radius:18px;padding:16px;margin-bottom:14px;color:#fff;
    background:linear-gradient(135deg,#0B7D63,#0FA37F);box-shadow:0 18px 36px -18px var(--income)}
  .upsell .k{font-family:"Bebas Neue";font-size:22px;letter-spacing:.5px}
  .upsell p{font-size:13px;opacity:.95;font-weight:600;margin:2px 0 12px}
  .upsell .btn{background:#fff;color:#0B7D63;width:auto;padding:11px 16px}
  .sem{display:flex;gap:13px;align-items:center;padding:14px;border-bottom:1px solid var(--line)}
  .sem:last-child{border-bottom:0}
  .sem .si{width:44px;height:44px;border-radius:13px;flex:none;display:grid;place-items:center;
    background:var(--brand-soft);color:var(--brand)}
  .sem.done .si{background:var(--income-soft);color:var(--income)}
  .sem.lock{opacity:.6}
  .sem .st b{font-family:"Barlow Semi Condensed";font-weight:700;font-size:15.5px;display:block}
  .sem .st span{font-size:12px;color:var(--muted);font-weight:600}
  .sem .price{margin-left:auto;text-align:right;font-family:"Bebas Neue";font-size:22px;letter-spacing:.5px}
  .sem .buy{margin-left:auto;border:0;background:var(--brand);color:#fff;font-weight:700;border-radius:10px;
    padding:9px 13px;cursor:pointer;font-family:"Barlow";font-size:12.5px}
  .pill{font-size:10.5px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;padding:3px 8px;border-radius:7px}
  .pill.ok{background:var(--income-soft);color:var(--income)}
  .pill.rec{background:var(--amber-soft);color:var(--amber)}

  /* wallet */
  .wallet-hero{background:linear-gradient(155deg,#0D1D23,#214450);color:#fff;border:0;border-radius:22px;padding:20px;margin-bottom:14px;position:relative;overflow:hidden}
  .wallet-hero::after{content:"";position:absolute;right:-30px;top:-30px;width:160px;height:160px;border-radius:50%;
    background:radial-gradient(circle,rgba(40,184,200,.55),transparent 70%)}
  .wallet-hero .lbl{font-size:12px;letter-spacing:.14em;text-transform:uppercase;opacity:.7;font-weight:700}
  .wallet-hero .big{font-family:"Bebas Neue";font-size:54px;letter-spacing:1px;line-height:.95;margin-top:4px}
  .wallet-hero .sub{font-size:12.5px;opacity:.8;font-weight:600;margin-top:4px;position:relative;z-index:2}
  .pay-row{display:flex;justify-content:space-between;align-items:center;padding:12px 14px;border-bottom:1px solid var(--line)}
  .pay-row:last-child{border-bottom:0}
  .pay-row .l b{font-family:"Barlow Semi Condensed";font-weight:700;font-size:14.5px;display:block}
  .pay-row .l span{font-size:12px;color:var(--muted);font-weight:600}
  .pay-row .amt{font-family:"Barlow Semi Condensed";font-weight:800;color:var(--income)}

  /* profile */
  .profile-top{display:flex;flex-direction:column;align-items:center;text-align:center;padding:22px 16px}
  .profile-top .pa{width:84px;height:84px;border-radius:24px;display:grid;place-items:center;color:#fff;
    font-family:"Bebas Neue";font-size:36px;background:linear-gradient(150deg,var(--aqua),var(--brand));box-shadow:0 16px 30px -14px var(--brand)}
  .profile-top h2{font-family:"Bebas Neue";font-size:28px;letter-spacing:.5px;margin-top:12px}
  .stat-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px;margin-top:6px}
  .stat-grid .s{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:13px;text-align:center}
  .stat-grid .s b{font-family:"Bebas Neue";font-size:26px;letter-spacing:.5px;display:block;line-height:1}
  .stat-grid .s span{font-size:11px;color:var(--muted);font-weight:700;text-transform:uppercase;letter-spacing:.06em}

  /* bottom nav */
  .tabbar{position:absolute;bottom:0;left:0;right:0;height:74px;background:rgba(255,255,255,.92);
    backdrop-filter:blur(10px);border-top:1px solid var(--line);display:flex;z-index:25;padding-bottom:6px}
  .tabbar button{flex:1;border:0;background:transparent;cursor:pointer;display:flex;flex-direction:column;
    align-items:center;justify-content:center;gap:4px;color:var(--muted);font-weight:700;font-size:10.5px;transition:.18s}
  .tabbar button svg{width:22px;height:22px}
  .tabbar button.active{color:var(--brand)}
  .screen{display:none;animation:fade .3s ease}
  .screen.active{display:block}
  @keyframes fade{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}

  /* ---- login overlay ---- */
  .login{position:absolute;inset:0;z-index:34;display:flex;flex-direction:column;justify-content:center;
    padding:60px 26px 30px;color:#fff;overflow:hidden;animation:fade .35s ease;
    background:linear-gradient(160deg,var(--petrol-deep),#17352B 55%,var(--petrol))}
  .login.hide{opacity:0;pointer-events:none;transform:scale(.98);transition:.45s ease}
  .login::before{content:"";position:absolute;width:300px;height:300px;border-radius:50%;top:-110px;right:-100px;
    background:radial-gradient(circle,rgba(40,184,200,.5),transparent 70%)}
  .login::after{content:"";position:absolute;inset:0;opacity:.4;mix-blend-mode:overlay;
    background:repeating-linear-gradient(125deg,rgba(255,255,255,.06) 0 10px,transparent 10px 24px)}
  .login-inner{position:relative;z-index:2}
  .login-mark{width:56px;height:56px;border-radius:17px;display:grid;place-items:center;
    font-family:"Bebas Neue";font-size:29px;letter-spacing:1px;
    background:linear-gradient(150deg,var(--aqua),var(--brand));box-shadow:0 16px 30px -10px rgba(0,0,0,.5);margin-bottom:22px}
  .login h1{font-family:"Bebas Neue";font-size:clamp(36px,11vw,44px);line-height:.9;letter-spacing:.5px}
  .login-sub{font-size:13px;font-weight:600;letter-spacing:.04em;color:rgba(255,255,255,.7);margin:7px 0 26px}
  .field{margin-bottom:14px}
  .field label{display:block;font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;
    color:rgba(255,255,255,.6);margin-bottom:7px}
  .inp{display:flex;align-items:center;gap:10px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.18);
    border-radius:13px;padding:0 13px;transition:.18s}
  .inp:focus-within{border-color:var(--aqua);background:rgba(255,255,255,.13)}
  .inp svg{color:rgba(255,255,255,.55);flex:none}
  .inp input{flex:1;background:none;border:0;outline:none;color:#fff;font-family:"Barlow";font-size:15px;font-weight:500;padding:13px 0;min-width:0}
  .inp input::placeholder{color:rgba(255,255,255,.4)}
  .eye{background:none;border:0;color:rgba(255,255,255,.55);cursor:pointer;padding:4px;display:grid;place-items:center}
  .login-row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:4px 0 20px;font-size:12.5px}
  .chk{display:flex;align-items:flex-start;gap:10px;color:rgba(255,255,255,.82);font-weight:500;font-size:12.5px;line-height:1.45;cursor:pointer}
  .chk span{flex:1;min-width:0}
  .chk input{width:16px;height:16px;accent-color:var(--aqua);flex:none;margin-top:1px}
  .chk a{color:#fff;text-decoration:underline}
  .login-row .forgot{color:var(--aqua);font-weight:700;text-decoration:none;white-space:nowrap;cursor:pointer}
  .login-btn{width:100%;background:var(--brand);color:#fff;box-shadow:0 16px 30px -12px rgba(0,0,0,.55)}
  .login-btn:hover{filter:brightness(1.07);transform:translateY(-1px)}
  .login-foot{text-align:center;font-size:13px;color:rgba(255,255,255,.7);margin-top:20px;font-weight:600}
  .login-foot a{color:var(--aqua);font-weight:800;text-decoration:none;cursor:pointer}

  /* side copy (next to phone) */
  .side-copy{padding-top:14px}
  .side-copy .eyebrow{font-size:12px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--brand)}
  .side-copy h1{font-family:"Bebas Neue";font-size:clamp(40px,6vw,68px);line-height:.92;letter-spacing:.5px;margin:10px 0 12px}
  .side-copy p.lead{font-size:16px;color:var(--muted);font-weight:500;max-width:46ch;line-height:1.5}
  .feat{display:grid;gap:12px;margin-top:24px;max-width:460px}
  .feat .f{display:flex;gap:13px;align-items:flex-start;background:var(--surface);border:1px solid var(--line);
    border-radius:16px;padding:14px 15px;box-shadow:var(--shadow)}
  .feat .fi{width:40px;height:40px;border-radius:12px;flex:none;display:grid;place-items:center;background:var(--brand-soft);color:var(--brand)}
  .feat b{font-family:"Barlow Semi Condensed";font-weight:800;font-size:16px}
  .feat span{font-size:13.5px;color:var(--muted);font-weight:500;display:block;margin-top:2px;line-height:1.45}
  .hint{margin-top:22px;font-size:13px;color:var(--muted);display:flex;align-items:center;gap:8px;font-weight:600}
  .hint kbd{background:var(--brand-soft);border:1px solid #CFE3FB;border-radius:6px;padding:2px 7px;font-size:11px;color:var(--brand-ink);font-family:"Barlow Semi Condensed";font-weight:700}

  /* ============================================================
     MANAGEMENT DASHBOARD
  ============================================================ */
  .dash{max-width:none;margin:0 auto}   /* Vollbreite: Kalender nutzt die ganze Bildschirmbreite */
  .dash-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;flex-wrap:wrap;margin-bottom:22px}
  .dash-head h1{font-family:"Bebas Neue";font-size:clamp(34px,5vw,52px);letter-spacing:.5px;line-height:.92}
  .dash-head p{color:var(--muted);font-weight:500;margin-top:4px}
  .period{display:inline-flex;gap:6px;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:5px;box-shadow:var(--shadow)}
  .period button{border:0;background:transparent;color:var(--muted);font-weight:700;font-family:"Barlow";
    padding:8px 14px;border-radius:8px;cursor:pointer;font-size:13px}
  .period button.active{background:var(--brand);color:#fff}

  .kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:4px}
  @media(max-width:900px){.kpis{grid-template-columns:1fr 1fr}}
  /* Dashboard-Tabs (KPI-Gruppierung) */
  .dash-tabs{display:flex;gap:4px;overflow-x:auto;-webkit-overflow-scrolling:touch;margin:18px 0 0;border-bottom:1.5px solid var(--line)}
  .dtab{flex:none;border:none;background:transparent;color:var(--muted);font-family:inherit;font-weight:800;font-size:14.5px;padding:12px 16px 13px;cursor:pointer;border-bottom:3px solid transparent;margin-bottom:-1.5px;white-space:nowrap;display:inline-flex;align-items:center;gap:8px}
  .dtab:hover{color:var(--ink)}
  .dtab.active{color:var(--brand);border-bottom-color:var(--brand)}
  .dtab-badge{background:var(--danger,#E5484D);color:#fff;font-size:11px;font-weight:800;line-height:1;border-radius:20px;padding:3px 7px;min-width:19px;text-align:center}
  .dtab-badge.hidden{display:none}
  .dash-tab{display:none;margin-top:18px}
  .dash-tab.active{display:block}
  .dash-tab > * + *{margin-top:16px}
  .kpi{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:18px;box-shadow:var(--shadow);position:relative;overflow:hidden}
  .kpi .ic{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;margin-bottom:14px}
  .kpi .label{font-size:12.5px;color:var(--muted);font-weight:700;letter-spacing:.02em}
  .kpi .val{font-family:"Bebas Neue";font-size:42px;letter-spacing:.5px;line-height:.9;margin-top:3px}
  .kpi .delta{font-size:12.5px;font-weight:700;margin-top:7px;display:inline-flex;gap:5px;align-items:center}
  .up{color:var(--income)} .down{color:var(--danger)} .flat{color:var(--amber)}
  .ic.indigo{background:var(--brand-soft);color:var(--brand)}
  .ic.green{background:var(--income-soft);color:var(--income)}
  .ic.amber{background:var(--amber-soft);color:var(--amber)}
  .ic.ink{background:#EEEDF4;color:var(--ink)}

  .grid2{display:grid;grid-template-columns:1.55fr 1fr;gap:16px}
  @media(max-width:980px){.grid2{grid-template-columns:1fr}}
  .panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}
  .panel-head{display:flex;align-items:center;justify-content:space-between;padding:16px 18px;border-bottom:1px solid var(--line)}
  .panel-head h3{font-family:"Bebas Neue";font-size:22px;letter-spacing:.5px}
  .panel-head .meta{font-size:12px;color:var(--muted);font-weight:600}

  table{width:100%;border-collapse:collapse}
  thead th{font-size:11px;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);font-weight:800;
    text-align:left;padding:11px 18px;border-bottom:1px solid var(--line)}
  thead th.r,tbody td.r{text-align:right}
  tbody td{padding:13px 18px;border-bottom:1px solid var(--line);font-weight:600;font-size:14px}
  tbody tr:last-child td{border-bottom:0}
  tbody tr{transition:background .15s}
  tbody tr:hover{background:#FAF9FF}
  .rank{font-family:"Bebas Neue";font-size:20px;color:var(--muted);width:22px}
  .tn{display:flex;align-items:center;gap:11px}
  .tn .av{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;color:#fff;
    font-family:"Barlow Semi Condensed";font-weight:800;font-size:13px;background:linear-gradient(150deg,var(--aqua),var(--brand))}
  .tn b{font-weight:700}
  .lvl{font-family:"Barlow Semi Condensed";font-weight:800;font-size:12px;letter-spacing:.04em;text-transform:uppercase;
    padding:4px 9px;border-radius:8px;background:var(--brand-soft);color:var(--brand-ink);white-space:nowrap}
  .lvl.l5{background:#D7F1F4;color:#0E6E78}
  .ev{font-family:"Barlow Semi Condensed";font-weight:800;color:var(--income)}
  .stars{color:var(--amber);font-weight:800;font-family:"Barlow Semi Condensed"}
  .capped{font-size:10.5px;color:var(--amber);font-weight:800;display:block}

  .stack{display:grid;gap:16px}
  /* health */
  .health-item{display:flex;align-items:center;gap:12px;padding:13px 18px;border-bottom:1px solid var(--line)}
  .health-item:last-child{border-bottom:0}
  .led{width:11px;height:11px;border-radius:50%;flex:none}
  .led.red{background:var(--danger);box-shadow:0 0 0 4px var(--danger-soft)}
  .led.amber{background:var(--amber);box-shadow:0 0 0 4px var(--amber-soft)}
  .led.green{background:var(--income);box-shadow:0 0 0 4px var(--income-soft)}
  .health-item .h b{font-weight:700;font-size:14px;display:block}
  .health-item .h span{font-size:12.5px;color:var(--muted);font-weight:600}
  .health-item .badge{margin-left:auto;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;padding:4px 9px;border-radius:8px}
  .badge.red{background:var(--danger-soft);color:var(--danger)}
  .badge.amber{background:var(--amber-soft);color:var(--amber)}
  .badge.green{background:var(--income-soft);color:var(--income)}

  /* live status */
  .live .l-row{display:flex;align-items:center;gap:11px;padding:12px 18px;border-bottom:1px solid var(--line)}
  .live .l-row:last-child{border-bottom:0}
  .live .live-dot{width:9px;height:9px;border-radius:50%;background:var(--income);animation:pulse2 1.8s infinite}
  @keyframes pulse2{0%{box-shadow:0 0 0 0 rgba(22,163,74,.5)}70%{box-shadow:0 0 0 7px rgba(22,163,74,0)}100%{box-shadow:0 0 0 0 rgba(22,163,74,0)}}
  .live b{font-weight:700;font-size:14px}
  .live span{font-size:12.5px;color:var(--muted);font-weight:600}
  .live .where{margin-left:auto;font-size:11.5px;font-weight:800;color:var(--brand);background:var(--brand-soft);padding:4px 9px;border-radius:8px}
  .open-chip{margin-left:auto;font-size:11.5px;font-weight:800;color:var(--amber);background:var(--amber-soft);padding:4px 9px;border-radius:8px}

  /* finance bars */
  .fin{padding:18px}
  .fin .bar-row{margin-bottom:16px}
  .fin .bar-row:last-child{margin-bottom:0}
  .fin .bl{display:flex;justify-content:space-between;font-size:13px;font-weight:700;margin-bottom:7px}
  .fin .bl b{font-family:"Barlow Semi Condensed";font-weight:800;font-size:15px}
  .track{height:14px;border-radius:99px;background:#F0EEF8;overflow:hidden}
  .fill{height:100%;border-radius:99px}
  .fill.out{background:linear-gradient(90deg,#7FB09E,var(--brand))}
  .fill.in{background:linear-gradient(90deg,#34C9A6,var(--income))}
  .net{margin-top:6px;font-size:12.5px;color:var(--muted);font-weight:600}

  /* sick bars */
  .sick{padding:14px 18px 18px}
  .sick .s-row{display:grid;grid-template-columns:90px 1fr 28px;align-items:center;gap:10px;margin-bottom:11px}
  .sick .s-row:last-child{margin-bottom:0}
  .sick .nm{font-size:13px;font-weight:700}
  .sick .t{height:11px;background:#F0EEF8;border-radius:99px;overflow:hidden}
  .sick .t i{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,#F0A93C,var(--danger))}
  .sick .ct{font-family:"Barlow Semi Condensed";font-weight:800;text-align:right;font-size:14px}

  /* toast */
  #toasts{position:fixed;left:50%;bottom:26px;transform:translateX(-50%);z-index:200;display:flex;flex-direction:column;gap:10px;align-items:center;pointer-events:none}
  .toast{background:var(--ink);color:#fff;padding:13px 18px;border-radius:13px;font-weight:600;font-size:14px;
    box-shadow:var(--shadow-lg);display:flex;align-items:center;gap:10px;animation:tin .3s ease;max-width:90vw}
  .toast .ti{width:24px;height:24px;border-radius:7px;display:grid;place-items:center;flex:none}
  .toast.green .ti{background:var(--income)} .toast.indigo .ti{background:var(--brand)} .toast.amber .ti{background:var(--amber)}
  @keyframes tin{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}

  .foot{max-width:1240px;margin:40px auto 0;padding-top:18px;border-top:1px solid var(--line);
    color:var(--muted);font-size:12.5px;font-weight:600;display:flex;gap:8px;align-items:center;flex-wrap:wrap}

  /* ---- Wochenplan (Kitty) ---- */
  .sched-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
  .sched-btn{width:auto !important;padding:8px 14px;font-size:13px}
  .sched-loc{margin-top:16px}
  .sched-loc-head{display:flex;justify-content:space-between;align-items:baseline;margin:0 2px 8px;gap:10px}
  .sched-loc-head h4{font-size:15px;font-weight:800;color:var(--ink)}
  .sched-loc-total{font-weight:800;color:var(--ink);white-space:nowrap}
  .sched-scroll{overflow-x:auto}
  .sched-table{width:100%;border-collapse:collapse;font-size:13.5px;min-width:560px}
  .sched-table th{text-align:left;font-size:10.5px;letter-spacing:.07em;text-transform:uppercase;color:var(--muted);font-weight:800;padding:6px 8px;border-bottom:1px solid var(--line);white-space:nowrap}
  .sched-table td{padding:8px;border-bottom:1px solid var(--line);vertical-align:middle}
  .sched-table td.r{text-align:right;white-space:nowrap}
  .sched-when{font-weight:800;color:var(--ink);white-space:nowrap}
  .sched-when small{display:block;color:var(--muted);font-weight:600;font-size:11.5px}
  .sched-cls b{color:var(--ink)}
  .sched-cls span{display:block;color:var(--muted);font-size:11.5px;font-weight:600}
  .sched-sel{border:1px solid var(--line);border-radius:9px;padding:6px 8px;font-family:inherit;font-size:13px;background:#fff;color:var(--ink);max-width:180px;cursor:pointer}
  .sched-tier{font-size:10.5px;font-weight:800;padding:2px 8px;border-radius:999px;background:var(--brand-soft);color:var(--brand-ink);white-space:nowrap}
  .sched-cost{font-weight:800;color:var(--ink)}
  .sched-x{border:0;background:transparent;color:var(--danger);cursor:pointer;font-size:17px;line-height:1;padding:2px 6px;border-radius:8px}
  .sched-x:hover{background:var(--danger-soft)}
  .sched-empty{color:var(--muted);padding:12px 2px;font-size:13px}
  .sched-grand{display:flex;justify-content:space-between;align-items:center;margin-top:16px;padding-top:13px;border-top:2px solid var(--line);font-weight:800;font-size:15.5px;color:var(--ink)}
  .sched-unassigned{color:var(--danger);font-weight:800}

  /* ---- Kitty-Chat ---- */
  .kitty{margin-top:18px;border-top:1px solid var(--line);padding-top:14px}
  .kitty-head{display:flex;flex-direction:column;margin-bottom:10px}
  .kitty-head b{font-size:14px;color:var(--ink)}
  .kitty-head span{font-size:11.5px;color:var(--muted);font-weight:600}
  .kitty-log{display:flex;flex-direction:column;gap:8px;max-height:380px;overflow-y:auto;margin-bottom:10px}
  .kitty-msg{max-width:88%;padding:9px 12px;border-radius:13px;font-size:13.5px;line-height:1.55;word-break:break-word}
  .kitty-msg.user{align-self:flex-end;background:var(--brand);color:#fff;border-bottom-right-radius:4px}
  .kitty-msg.bot{align-self:flex-start;background:var(--brand-soft);color:var(--ink);border-bottom-left-radius:4px;overflow-x:auto}
  .kitty-msg.bot table{border-collapse:collapse;margin:6px 0;font-size:12.5px}
  .kitty-msg.bot th,.kitty-msg.bot td{border:1px solid #C3D8F7;padding:4px 8px;text-align:left;white-space:nowrap}
  .kitty-msg.bot th{background:#D7E6FE;font-weight:800}
  .kitty-empty{color:var(--muted);font-size:12.5px;padding:4px 2px;line-height:1.5}
  .kitty-input{display:flex;gap:8px}
  .kitty-input input{flex:1;min-width:0;border:1px solid var(--line);border-radius:11px;padding:10px 12px;font-family:inherit;font-size:14px;color:var(--ink);background:#fff;outline:none}
  .kitty-input input:focus{border-color:var(--brand)}
  .kitty-send{width:auto !important;padding:10px 18px}

  /* ---- Wochenplan: Tag-Gruppierung ---- */
  .sched-day-row td{background:var(--brand-soft);color:var(--brand-ink);font-weight:800;font-size:11px;letter-spacing:.06em;text-transform:uppercase;padding:7px 8px;border-bottom:1px solid #C3D8F7}
  .sched-time{font-weight:800;color:var(--ink);white-space:nowrap}

  /* ---- Wochenplan: Standort-Umschalter ---- */
  .sched-loc-seg{display:inline-flex;gap:4px;background:var(--brand-soft);border-radius:12px;padding:4px;margin:14px 0 4px}
  .sched-loc-seg button{border:0;background:transparent;color:var(--brand-ink);font-family:inherit;font-weight:800;font-size:13.5px;padding:8px 18px;border-radius:9px;cursor:pointer;transition:.15s}
  .sched-loc-seg button.active{background:var(--brand);color:#fff;box-shadow:0 6px 14px -8px var(--brand)}
  .sched-loc-seg button em{font-style:normal;font-weight:700;font-size:11px;opacity:.7;margin-left:5px}

  /* ---- Wochenplan: Honorar pro Kurs (anpassbar) ---- */
  .sched-note{font-size:11.5px;color:var(--muted);line-height:1.5;margin:8px 2px 12px}
  .sched-reset-inline{color:var(--brand-ink);font-weight:800}
  .sched-costwrap{display:inline-flex;align-items:center;gap:3px;justify-content:flex-end}
  .sched-costin{width:66px;text-align:right;border:1px solid var(--line);border-radius:8px;padding:5px 7px;font-family:inherit;font-size:13px;font-weight:800;color:var(--ink);background:#fff;-moz-appearance:textfield}
  .sched-costin::-webkit-outer-spin-button,.sched-costin::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
  .sched-costin.custom{border-color:var(--brand);background:var(--brand-soft)}
  .sched-costin:focus{border-color:var(--brand);outline:none}
  .sched-eur{font-weight:800;color:var(--muted);font-size:13px}
  .sched-reset{border:0;background:transparent;color:var(--brand-ink);cursor:pointer;font-size:15px;line-height:1;padding:0 2px}

  /* ---- Benachrichtigungs-Glocke (Dashboard) ---- */
  .notif-wrap{position:relative}
  .notif-bell{position:relative;border:1px solid var(--line);background:var(--surface);border-radius:11px;width:40px;height:40px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;color:var(--ink);transition:.15s}
  .notif-bell:hover{border-color:#C5DCEA;background:#F4FAFB}
  .notif-badge{position:absolute;top:-6px;right:-6px;min-width:19px;height:19px;padding:0 5px;border-radius:999px;background:var(--danger);color:#fff;font-size:11px;font-weight:800;display:flex;align-items:center;justify-content:center;box-shadow:0 0 0 2px var(--surface)}
  .notif-drop{position:absolute;top:48px;right:0;width:290px;background:var(--surface);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow-lg);padding:8px;z-index:60}
  .notif-title{font-size:10.5px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);padding:6px 12px 4px}
  .notif-item{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;border-radius:10px;cursor:pointer;font-weight:700;font-size:13.5px;color:var(--ink);border:0;background:transparent;width:100%;text-align:left;font-family:inherit}
  .notif-item:hover{background:var(--brand-soft)}
  .notif-item .n{background:var(--danger);color:#fff;font-size:11px;font-weight:800;min-width:20px;height:20px;border-radius:999px;display:flex;align-items:center;justify-content:center;padding:0 6px}
  .notif-empty{padding:16px 12px;color:var(--muted);font-size:13px;text-align:center}
  .panel.flash{animation:notifFlash 1.6s ease}
  @keyframes notifFlash{0%,100%{box-shadow:var(--shadow)}30%{box-shadow:0 0 0 3px var(--brand)}}

  /* ---- Krankmeldungen (Dashboard) ---- */
  .sick-reports{margin-top:10px;border-top:1px solid var(--line);padding-top:8px;display:flex;flex-direction:column;gap:6px}
  .sick-rep .sr-info b{font-size:13px;color:var(--ink);font-weight:800}
  .sick-rep .sr-info span{display:block;font-size:11.5px;color:var(--muted);font-weight:600}

  /* ---- Foto & Qualifikationen ---- */
  .avatar img,.pa img{width:100%;height:100%;object-fit:cover;object-position:center 22%;border-radius:inherit;display:block}
  .photo-actions{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;margin-top:10px}
  .photo-btn{display:inline-block;border:1px solid var(--brand);background:transparent;color:var(--brand);font-family:inherit;font-weight:800;font-size:12.5px;padding:6px 14px;border-radius:9px;cursor:pointer}
  .photo-btn.ghost{border-color:var(--line);color:var(--muted)}
  .photo-btn.ghost:hover{border-color:var(--danger);color:var(--danger)}
  /* Neuigkeiten vom Studio (Trainer-Home) */
  #newsWrap{margin-top:4px}
  .news-item{background:#fff;border:1px solid var(--line);border-left:4px solid var(--brand);border-radius:14px;padding:13px 15px;margin-bottom:10px;box-shadow:0 1px 2px rgba(16,32,45,.04)}
  .news-msg{font-size:14px;font-weight:600;color:var(--ink);line-height:1.5}
  .news-date{margin-top:7px;font-size:11.5px;font-weight:700;color:var(--muted)}
  /* Newsletter-Panel (Management) */
  .nl-compose{padding:4px 2px 2px}
  #nlMsg{width:100%;box-sizing:border-box;resize:vertical;min-height:76px;border:1px solid var(--line);border-radius:12px;padding:12px 14px;font-family:inherit;font-size:14px;color:var(--ink);background:var(--bg);line-height:1.5}
  #nlMsg:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px rgba(20,120,110,.12)}
  .nl-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:10px}
  .nl-count{font-size:11.5px;font-weight:700;color:var(--muted)}
  .nl-sent{margin-top:6px}
  .nl-sent-head,.nl-empty{font-size:11.5px;font-weight:800;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;padding:12px 2px 6px}
  .nl-empty{text-transform:none;letter-spacing:0;font-weight:600}
  .nl-row{display:flex;align-items:flex-start;gap:12px;padding:11px 2px;border-top:1px solid var(--line)}
  .nl-text{font-size:13.5px;font-weight:600;color:var(--ink);line-height:1.5}
  .nl-meta{margin-top:5px;font-size:11px;font-weight:700;color:var(--muted)}
  .nl-body{flex:1;min-width:0}
  .nl-del{flex:none;border:none;background:transparent;color:var(--muted);font-size:20px;line-height:1;cursor:pointer;padding:0 4px;border-radius:8px}
  .nl-del:hover{color:var(--danger)}
  /* Wochenplan · Trainer-Sicht */
  .tp-mine{display:flex;align-items:center;justify-content:space-between;gap:12px;background:var(--petrol,#173039);color:#fff;border-radius:18px;padding:15px 18px;margin-bottom:12px}
  .tp-mine-l b{display:block;font-size:15px;font-weight:800}
  .tp-mine-l span{display:block;font-size:11.5px;font-weight:700;opacity:.75;margin-top:2px}
  .tp-mine-amt{font-family:"Bebas Neue",inherit;font-size:26px;letter-spacing:.5px;color:#3ee0b0}
  .tp-locseg{display:flex;gap:6px;background:#E7EEF0;border-radius:12px;padding:4px;margin-bottom:12px}
  .tp-locseg button{flex:1;border:none;background:transparent;color:var(--muted);font-family:inherit;font-weight:800;font-size:13px;padding:8px 6px;border-radius:9px;cursor:pointer}
  .tp-locseg button.active{background:#fff;color:var(--ink);box-shadow:0 1px 3px rgba(16,32,45,.1)}
  .tp-locseg button.loc-mitte.active{background:#E01B1B;color:#fff;box-shadow:0 5px 14px -5px rgba(224,27,27,.55)}   /* Mitte = rot */
  .tp-locseg button.loc-xberg.active{background:#1B6FE0;color:#fff;box-shadow:0 5px 14px -5px rgba(27,111,224,.55)}  /* Kreuzberg = blau */
  .tp-locseg button em{font-style:normal;background:var(--brand);color:#fff;border-radius:20px;padding:1px 7px;font-size:11px;margin-left:4px}
  .tp-locseg button.active em{background:rgba(255,255,255,.28);color:#fff}
  .tp-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:14px}
  .tp-grid{border-collapse:separate;border-spacing:5px;width:max-content;min-width:100%}
  .tp-grid th{font-size:11px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:var(--muted);padding:2px 4px;text-align:center}
  .tp-grid .tp-th-time{width:42px}
  .tp-time{font-size:11px;font-weight:800;color:var(--muted);white-space:nowrap;text-align:right;padding-right:4px;vertical-align:top}
  .tp-grid td{vertical-align:top}
  .tp-e{min-width:96px}
  .tp-cell{min-width:96px;border-radius:12px;padding:8px 8px;text-align:center;box-shadow:0 1px 2px rgba(16,32,45,.06)}
  .tp-cell b{display:block;font-size:11.5px;font-weight:800;color:#1c2b33;line-height:1.25}
  .tp-lv{display:block;font-size:9.5px;font-weight:800;letter-spacing:.03em;text-transform:uppercase;color:#3a4a53;opacity:.7;margin-top:2px}
  .tp-coach{display:block;font-size:11px;font-weight:700;color:#20323b;margin-top:4px}
  .tp-cost{display:inline-block;margin-top:5px;font-size:11px;font-weight:800;color:#0a7a56;background:rgba(255,255,255,.72);border-radius:7px;padding:1px 7px}
  .tp-cell.mine{outline:2.5px solid var(--brand);outline-offset:1px}
  .tp-sep{height:5px}
  .tp-note{margin:12px 4px 4px;font-size:11.5px;font-weight:600;color:var(--muted);line-height:1.5}
  .tp-empty{padding:26px 16px;text-align:center;font-size:13px;font-weight:600;color:var(--muted);background:#fff;border:1px solid var(--line);border-radius:14px}
  /* Wochenplan · Tagesansicht */
  .tpd-weeknav{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}
  .wn-arrow{flex:none;width:38px;height:38px;border:1px solid var(--line);background:#fff;border-radius:11px;font-size:20px;font-weight:800;line-height:1;color:var(--ink);cursor:pointer;display:grid;place-items:center}
  .wn-arrow:hover{border-color:var(--brand);color:var(--brand)}
  .wn-label{flex:1;text-align:center;font-size:13px;font-weight:800;color:var(--ink);min-width:0}
  .wn-reset{border:none;background:var(--brand-soft);color:var(--brand-ink);font-family:inherit;font-weight:800;font-size:11.5px;padding:3px 10px;border-radius:20px;cursor:pointer;margin-left:6px}
  .tpd-dayseg{display:flex;gap:6px;overflow-x:auto;-webkit-overflow-scrolling:touch;padding:2px 0 4px;margin-bottom:10px}
  .tpd-dayseg button{position:relative;flex:1 1 0;min-width:42px;border:1px solid var(--line);background:#fff;border-radius:13px;padding:8px 3px 7px;cursor:pointer;font-family:inherit;display:flex;flex-direction:column;align-items:center;gap:1px}
  .tpd-dayseg .tpd-dc{font-size:10.5px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}
  .tpd-dayseg .tpd-dn{font-size:17px;font-weight:800;color:var(--ink);line-height:1}
  .tpd-dayseg button.today{border-color:var(--brand)}
  .tpd-dayseg button.today .tpd-dc{color:var(--brand)}
  .tpd-dayseg button.active{background:var(--petrol,#173039);border-color:var(--petrol,#173039)}
  .tpd-dayseg button.active .tpd-dc,.tpd-dayseg button.active .tpd-dn{color:#fff}
  .tpd-dot{position:absolute;top:5px;right:6px;width:7px;height:7px;border-radius:50%;background:var(--brand)}
  .tpd-dayseg button.active .tpd-dot{background:#3ee0b0}
  .tpd-dayhead{font-size:14.5px;font-weight:800;color:var(--ink);margin:2px 2px 12px}
  .tpd-heute{display:inline-block;margin-left:6px;font-size:10.5px;font-weight:800;letter-spacing:.03em;text-transform:uppercase;color:#fff;background:var(--brand);border-radius:20px;padding:2px 9px;vertical-align:middle}
  .tpd-mineseg{display:flex;gap:6px;background:#E7EEF0;border-radius:12px;padding:4px;margin-bottom:12px}
  .tpd-mineseg button{flex:1;border:none;background:transparent;color:var(--muted);font-family:inherit;font-weight:800;font-size:13px;padding:8px 6px;border-radius:9px;cursor:pointer}
  .tpd-mineseg button.active{background:#fff;color:var(--ink);box-shadow:0 1px 3px rgba(16,32,45,.1)}
  .tpd-row{display:flex;align-items:stretch;gap:11px;margin-bottom:9px}
  .tpd-main{flex:1;min-width:0;background:#fff;border:1px solid var(--line);border-left:5px solid var(--line);border-radius:13px;padding:11px 13px;display:flex;flex-direction:column;justify-content:center;gap:7px}
  .tpd-l1{display:flex;align-items:baseline;gap:9px;flex-wrap:wrap}
  .tpd-hr{flex:none;font-size:14px;font-weight:800;color:var(--brand)}
  .tpd-l1 b{font-size:14px;font-weight:800;color:var(--ink);line-height:1.25}
  .tpd-sub{display:block;font-size:12px;font-weight:700;color:var(--muted);margin-top:3px}
  .tpd-you{display:inline-block;font-size:10px;font-weight:800;letter-spacing:.03em;text-transform:uppercase;color:#fff;background:var(--brand);border-radius:20px;padding:1px 8px;vertical-align:middle}
  .tpd-row.mine .tpd-main{border-color:var(--brand);background:#F5FBFF;box-shadow:0 2px 8px rgba(46,139,255,.1)}
  .tpd-coachline{display:flex;align-items:center;gap:8px}
  .tpd-av{flex:none;width:24px;height:24px;border-radius:7px;overflow:hidden;display:grid;place-items:center}
  .tpd-av img{width:100%;height:100%;object-fit:cover;object-position:center 22%;display:block}
  .tpd-av.ini{background:var(--brand-soft);color:var(--brand-ink);font-size:9px;font-weight:800;letter-spacing:.02em}
  .tpd-av.empty{background:#EEF3F5;color:var(--muted);font-weight:800}
  .tpd-cn{font-size:12px;font-weight:700;color:var(--muted);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .tpd-cn em{font-style:normal;color:var(--ink)}
  .tpd-right{flex:none;align-self:center;display:flex;flex-direction:column;align-items:center;gap:5px;width:56px}
  .tpd-photo{width:52px;height:52px;border-radius:50%;overflow:hidden;display:grid;place-items:center;border:2px solid #fff;box-shadow:0 2px 9px rgba(16,32,45,.14)}
  .tpd-photo img{width:100%;height:100%;object-fit:cover;object-position:center 22%;display:block}
  .tpd-photo.ini{background:var(--brand-soft);color:var(--brand-ink);font-size:16px;font-weight:800;letter-spacing:.02em}
  .tpd-photo.empty{background:#EEF3F5;color:var(--muted);font-weight:800;font-size:20px}
  .tpd-amt{font-size:11px;font-weight:800;color:#0a7a56;white-space:nowrap}
  .tpd-dot.amber{background:var(--amber,#E0892A)}
  .tpd-cost{flex:none;align-self:center;font-size:13px;font-weight:800;color:#0a7a56;background:#E4F5EC;border-radius:9px;padding:7px 10px;white-space:nowrap}
  .tpd-cost.open{color:var(--amber,#E0892A);background:#FCEFDD}
  .tpd-row.gclick{cursor:pointer}
  .tpd-row.gclick:active .tpd-main{transform:scale(.995)}
  /* PT-Notiz (Trainingsziele/Verletzungen/Equipment) in der PT-Inbox */
  .pt-note{display:block;font-size:12px;color:var(--ink);background:#F4F7F2;border-left:3px solid var(--brand);border-radius:7px;padding:6px 9px;margin-top:7px;white-space:pre-wrap;line-height:1.45}
  .pt-note-btn{margin-top:7px;font-size:11.5px;font-weight:800;color:var(--brand);background:transparent;border:1px solid var(--line);border-radius:9px;padding:6px 10px;cursor:pointer;white-space:nowrap}
  /* Freelancer-Raumbuchung (25 € je Slot; Angestellte kostenlos) */
  .room-card{padding:16px}
  .room-fee{font-size:12.5px;font-weight:700;color:var(--amber);background:var(--amber-soft);border-radius:10px;padding:8px 11px;margin-bottom:12px}
  .room-fee.ok{color:var(--income);background:var(--income-soft)}
  .room-fee b{font-weight:800}
  .room-form{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:12px}
  .room-form label:first-child{grid-column:1 / -1}
  .room-form label{display:flex;flex-direction:column;gap:5px;font-size:11.5px;font-weight:800;color:var(--muted);letter-spacing:.02em}
  .room-form input,.room-form select{font-family:inherit;font-size:14px;font-weight:600;color:var(--ink);background:#fff;border:1px solid var(--line);border-radius:11px;padding:10px 11px;width:100%}
  .room-form input:focus,.room-form select:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-soft)}
  .room-book-btn{width:100%;justify-content:center}
  .room-mine-h{margin-top:18px}
  .room-owed{display:flex;align-items:center;justify-content:space-between;background:var(--amber-soft);border-radius:11px;padding:9px 12px;margin-bottom:9px;font-size:13px;font-weight:800;color:var(--amber)}
  .room-owed b{font-size:15px}
  .room-row{display:flex;align-items:center;gap:12px;padding:11px 12px;border:1px solid var(--line);border-radius:12px;margin-bottom:8px;background:#fff}
  .room-row:last-child{margin-bottom:0}
  .room-row-l b{font-family:"Barlow Semi Condensed";font-weight:700;font-size:14.5px;display:block}
  .room-row-l span{font-size:11.5px;color:var(--muted);font-weight:600}
  .room-cancel{margin-left:auto;flex:none;font-size:11.5px;font-weight:800;color:var(--danger);background:transparent;border:1px solid #F2C9CB;border-radius:9px;padding:7px 11px;cursor:pointer}
  /* Management: Freelancer-Schalter */
  .fl-row{display:flex;align-items:center;gap:12px;padding:11px 4px;border-bottom:1px solid var(--line)}
  .fl-row:last-child{border-bottom:0}
  .fl-name{font-size:14px;font-weight:700;color:var(--ink)}
  .fl-unlinked{font-size:11px;font-weight:700;color:var(--muted);background:#EEF3F4;border-radius:7px;padding:2px 7px;margin-left:6px}
  .switch{position:relative;display:inline-block;width:46px;height:26px;margin-left:auto;flex:none;cursor:pointer}
  .switch input{opacity:0;width:0;height:0}
  .switch .sl{position:absolute;inset:0;background:#CBD8DB;border-radius:999px;transition:.2s}
  .switch .sl:before{content:"";position:absolute;height:20px;width:20px;left:3px;top:3px;background:#fff;border-radius:50%;transition:.2s;box-shadow:0 1px 3px rgba(0,0,0,.25)}
  .switch input:checked + .sl{background:var(--income)}
  .switch input:checked + .sl:before{transform:translateX(20px)}
  .switch input:disabled + .sl{opacity:.5}
  /* Management: Monatsabrechnung Raumgebühr */
  .rb-controls{display:flex;gap:10px;align-items:center;margin-bottom:12px;flex-wrap:wrap}
  .rb-controls input[type=month]{font-family:inherit;font-size:14px;font-weight:600;color:var(--ink);background:#fff;border:1px solid var(--line);border-radius:10px;padding:8px 11px}
  .rb-table{width:100%;border-collapse:collapse}
  .rb-table th{text-align:left;font-size:11px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);padding:8px 10px;border-bottom:1px solid var(--line)}
  .rb-table td{font-size:13.5px;font-weight:600;color:var(--ink);padding:9px 10px;border-bottom:1px solid var(--line)}
  .rb-table .r{text-align:right}
  .rb-table .ev{font-weight:800;color:var(--income)}
  .rb-table .rb-total td{font-weight:800;color:var(--ink);border-bottom:0;border-top:2px solid var(--line)}
  /* Wochenplan per Foto/PDF hochladen (KI-Auslese) */
  .plan-sheet{max-width:560px;width:min(560px,94vw);max-height:88vh;overflow-y:auto}
  .plan-hint{font-size:12.5px;color:var(--muted);font-weight:600;line-height:1.5;margin:2px 0 12px}
  .plan-file{font-size:12.5px;font-weight:700;color:var(--income);margin:2px 0 12px;min-height:16px}
  #planFile{font-family:inherit;font-size:13px}
  .plan-prev-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:4px}
  .plan-prev-head b{font-size:16px;color:var(--ink)}
  .plan-prev-head span{font-size:12px;font-weight:800;color:var(--brand)}
  .plan-preview{max-height:44vh;overflow-y:auto;border:1px solid var(--line);border-radius:12px;margin-bottom:12px}
  .plan-row{display:grid;grid-template-columns:26px 62px 1fr 40%;gap:8px;align-items:center;padding:9px 10px;border-bottom:1px solid var(--line)}
  .plan-row:last-child{border-bottom:0}
  .plan-inc{display:flex;align-items:center;justify-content:center}
  .plan-inc input{width:17px;height:17px;accent-color:var(--income)}
  .plan-when b{font-family:"Barlow Semi Condensed";font-weight:700;font-size:13.5px;color:var(--ink);white-space:nowrap}
  .plan-what{min-width:0}
  .plan-what b{display:block;font-size:13px;font-weight:700;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .plan-what span{font-size:11px;color:var(--muted);font-weight:600}
  .plan-tr select{width:100%;font-family:inherit;font-size:12px;font-weight:600;color:var(--ink);background:#fff;border:1px solid var(--line);border-radius:8px;padding:6px 7px}
  .plan-unmatch{display:inline-block;font-size:10.5px;font-weight:800;color:var(--amber);margin-top:3px}
  .plan-said{display:inline-block;font-size:10.5px;font-weight:700;color:var(--muted);margin-top:3px}
  .plan-warn{font-size:12px;font-weight:700;line-height:1.4;margin:-6px 0 14px;color:var(--muted)}
  .plan-warn.danger{color:var(--danger)}
  .plan-replace{display:flex;align-items:center;gap:9px;font-size:12.5px;font-weight:700;color:var(--ink);margin-bottom:14px;cursor:pointer;line-height:1.4}
  .plan-replace input{width:17px;height:17px;flex:none;accent-color:var(--brand)}
  @media(max-width:480px){ .plan-row{grid-template-columns:24px 54px 1fr;row-gap:6px} .plan-tr{grid-column:2 / -1} }
  /* Einstellungen-Karte im Profil */
  .set-card{padding:14px 16px}
  .set-row{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
  .set-l{display:flex;align-items:center;gap:9px;font-size:13.5px;font-weight:800;color:var(--ink)}
  .set-l svg{color:var(--muted);flex:none}
  /* kompakter Sprach-Umschalter (klein, rechtsbündig) */
  .lang-seg-compact{display:inline-flex;gap:3px;background:#E7EEF0;border-radius:10px;padding:3px}
  .lang-seg-compact button{border:none;background:transparent;color:var(--muted);font-family:inherit;font-weight:800;font-size:12px;padding:6px 11px;border-radius:8px;cursor:pointer}
  .lang-seg-compact button.active{background:#fff;color:var(--ink);box-shadow:0 1px 3px rgba(16,32,45,.1)}
  /* Foto-Editor (zuschneiden/zoomen/positionieren) */
  .pe-modal{position:fixed;inset:0;z-index:10001;background:rgba(9,18,22,.62);display:flex;align-items:center;justify-content:center;padding:20px}
  .pe-card{background:#fff;border-radius:22px;padding:18px;width:100%;max-width:360px;box-shadow:0 24px 60px rgba(0,0,0,.42)}
  .pe-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}
  .pe-head b{font-family:"Bebas Neue",inherit;font-size:21px;letter-spacing:.5px;color:var(--ink)}
  .pe-x{border:none;background:transparent;color:var(--muted);font-size:24px;line-height:1;cursor:pointer;padding:0 4px}
  .pe-stage{position:relative;width:300px;max-width:100%;aspect-ratio:1/1;margin:0 auto;border-radius:16px;overflow:hidden;background:#142720;touch-action:none}
  #peCanvas{display:block;width:100%;height:100%;cursor:grab;touch-action:none}
  #peCanvas:active{cursor:grabbing}
  .pe-mask{position:absolute;inset:0;pointer-events:none;box-shadow:0 0 0 100px rgba(15,34,41,.35) inset;border-radius:16px}
  .pe-mask::after{content:"";position:absolute;inset:0;border:2px solid rgba(255,255,255,.85);border-radius:14px;margin:2px}
  .pe-zoom{display:flex;align-items:center;gap:11px;margin:16px 4px 4px;color:var(--muted)}
  .pe-zoom input[type=range]{flex:1;accent-color:var(--brand);height:4px}
  .pe-hint{text-align:center;font-size:11.5px;font-weight:600;color:var(--muted);margin-top:8px}
  .pe-actions{display:flex;gap:10px;margin-top:16px}
  .pe-actions .btn{flex:1;margin-top:0}
  /* Akademie-Bearbeitung (Management) */
  .ak-note{font-size:12.5px;font-weight:600;color:var(--muted);line-height:1.5;margin:2px 2px 12px}
  .ak-empty{font-size:13px;font-weight:600;color:var(--muted);padding:14px 2px}
  .ak-row{display:flex;flex-wrap:wrap;align-items:flex-end;gap:10px;padding:12px 0;border-top:1px solid var(--line)}
  .ak-row:first-of-type{border-top:0}
  .ak-f{display:flex;flex-direction:column;gap:5px}
  .ak-f.grow{flex:1;min-width:180px}
  .ak-f label{font-size:10.5px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:var(--muted)}
  .ak-f input,.ak-f select{border:1px solid var(--line);border-radius:10px;padding:9px 11px;font-family:inherit;font-size:13.5px;font-weight:600;color:var(--ink);background:#fff}
  .ak-f.grow input{width:100%;box-sizing:border-box}
  .ak-price,.ak-mod{width:88px}
  .ak-f input:focus,.ak-f select:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px rgba(46,139,255,.12)}
  .ak-act{display:flex;align-items:center;gap:8px}
  .ak-del{border:none;background:transparent;color:var(--muted);font-size:22px;line-height:1;cursor:pointer;padding:0 4px;border-radius:8px}
  .ak-del:hover{color:var(--danger)}
  .ak-info{flex-basis:100%;font-size:11.5px;font-weight:700;color:var(--muted);margin-top:2px}
  /* Home-Kachel-Icons (Vertretung/Nachricht) */
  .quick .ic.teal{background:#D6F1EE;color:#0FA37F}
  .quick .ic.blue{background:#DCEBFF;color:#3B6659}
  .bell{position:relative}
  .bell-dot{position:absolute;top:8px;right:9px;width:9px;height:9px;border-radius:50%;background:#E5484D;border:2px solid #fff}
  /* Messenger (Trainer + Management) — WhatsApp/Google-Chat-Stil */
  .chat-sheet{max-width:480px;display:flex;flex-direction:column;max-height:88vh}
  .chat-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}
  .chat-head b{font-family:"Bebas Neue",inherit;font-size:22px;letter-spacing:.5px;color:var(--ink)}
  .chat-log{flex:1;max-height:56vh;min-height:180px;overflow-y:auto;display:flex;flex-direction:column;gap:6px;padding:6px 2px;background:#F3F7F8;border-radius:14px}
  .chat-empty{text-align:center;font-size:12.5px;font-weight:600;color:var(--muted);padding:26px 8px;margin:auto}
  .msg{max-width:84%;display:flex;align-items:flex-end;gap:5px}
  .msg.me{align-self:flex-end;flex-direction:row-reverse}
  .msg.them{align-self:flex-start}
  .msg-bubble{border-radius:16px;padding:8px 11px 6px;min-width:64px;box-shadow:0 1px 1px rgba(16,32,45,.06)}
  .msg.me .msg-bubble{background:var(--brand);color:#fff;border-bottom-right-radius:5px}
  .msg.them .msg-bubble{background:#fff;color:var(--ink);border-bottom-left-radius:5px}
  .msg-b{font-size:14px;font-weight:600;line-height:1.42;white-space:normal;word-break:break-word}
  .msg-img{display:block;max-width:100%;width:210px;max-height:240px;object-fit:cover;border-radius:11px;cursor:pointer;margin-bottom:3px}
  .msg-t{font-size:9.5px;font-weight:700;opacity:.7;margin-top:3px;text-align:right}
  .msg.them .msg-t{color:var(--muted)}
  .msg-actions{display:flex;gap:2px;opacity:0;transition:opacity .12s;align-self:center}
  .msg:hover .msg-actions,.msg.me .msg-actions{opacity:.85}
  .msg-actions button{border:none;background:transparent;color:var(--muted);cursor:pointer;padding:4px;border-radius:7px;display:grid;place-items:center}
  .msg-actions button:hover{background:#E7EEF0;color:var(--ink)}
  .chat-editbar{display:flex;align-items:center;gap:7px;background:var(--brand-soft);color:var(--brand-ink);border-radius:10px;padding:7px 11px;margin:10px 0 0;font-size:12.5px;font-weight:700}
  .chat-editbar span{flex:1}
  .chat-editbar button{border:none;background:transparent;color:var(--brand-ink);font-size:18px;line-height:1;cursor:pointer}
  .chat-preview{position:relative;margin:10px 0 0;width:84px}
  .chat-preview img{width:84px;height:84px;object-fit:cover;border-radius:11px;display:block}
  .chat-preview button{position:absolute;top:-7px;right:-7px;width:22px;height:22px;border-radius:50%;border:2px solid #fff;background:#142720;color:#fff;font-size:14px;line-height:1;cursor:pointer}
  .chat-input{display:flex;gap:8px;align-items:flex-end;margin-top:11px}
  .chat-attach{flex:none;width:42px;height:42px;border:1px solid var(--line);background:#fff;border-radius:12px;color:var(--muted);cursor:pointer;display:grid;place-items:center}
  .chat-attach:hover{border-color:var(--brand);color:var(--brand)}
  .chat-input textarea{flex:1;box-sizing:border-box;resize:none;border:1px solid var(--line);border-radius:12px;padding:11px 13px;font-family:inherit;font-size:14px;line-height:1.4;max-height:120px}
  .chat-input textarea:focus{outline:none;border-color:var(--brand)}
  .chat-send{flex:none;width:42px;height:42px;border:none;background:var(--brand);color:#fff;border-radius:12px;cursor:pointer;display:grid;place-items:center}
  .chat-send:hover{filter:brightness(1.05)}
  .img-viewer{position:fixed;inset:0;z-index:10002;background:rgba(9,18,22,.9);display:flex;align-items:center;justify-content:center;padding:20px;cursor:zoom-out}
  .img-viewer img{max-width:100%;max-height:100%;border-radius:12px}
  /* Vertretung – Trainer-Ergebnis */
  .sub-rule{font-size:11.5px;font-weight:600;color:var(--muted);line-height:1.5;background:#FCEFDD;border-radius:11px;padding:10px 12px;margin-bottom:12px}
  .sub-res{font-size:13.5px;font-weight:700;border-radius:12px;padding:12px 14px;margin-bottom:12px;line-height:1.45}
  .sub-res.ok{background:#E4F5EC;color:#0a7a56}
  .sub-res.warn{background:#FCE4E4;color:#b3261e}
  .sub-sug-title{font-size:11.5px;font-weight:800;letter-spacing:.03em;text-transform:uppercase;color:var(--muted);margin:4px 2px 8px}
  .sub-sug{display:flex;align-items:center;gap:10px;padding:8px 2px}
  .sub-sug-n b{display:block;font-size:13.5px;font-weight:800;color:var(--ink)}
  .sub-sug-n span{display:block;font-size:11.5px;font-weight:700;color:var(--muted)}
  .sub-note{font-size:11.5px;font-weight:600;color:var(--muted);margin-top:10px;line-height:1.5}
  /* Management: Vertretungs-Anfragen */
  .empty-row{font-size:13px;font-weight:600;color:var(--muted);padding:14px 2px}
  .sub-q{border-top:1px solid var(--line);padding:13px 2px}
  .sub-q:first-child{border-top:0}
  .sub-q-head{display:flex;align-items:center;justify-content:space-between;gap:10px}
  .sub-q-head b{font-size:14.5px;font-weight:800;color:var(--ink)}
  .sub-tag{font-size:11px;font-weight:800;padding:3px 10px;border-radius:20px;white-space:nowrap}
  .sub-tag.open{background:#FCEFDD;color:var(--amber,#E0892A)}
  .sub-tag.filled{background:#E4F5EC;color:#0a7a56}
  .sub-tag.cx{background:#EEF3F5;color:var(--muted)}
  .sub-q-meta{font-size:12px;font-weight:600;color:var(--muted);line-height:1.55;margin-top:5px}
  .sub-q-meta .sn{color:#b3261e;font-weight:800}
  .sub-q-meta .ontime{color:#0a7a56;font-weight:800}
  .sub-q-sug{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px;align-items:center}
  .sub-assign{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--line);background:#fff;border-radius:11px;padding:7px 11px;font-family:inherit;font-size:12.5px;font-weight:700;color:var(--ink);cursor:pointer}
  .sub-assign:hover{border-color:var(--brand)}
  .sub-assign em{font-style:normal;font-weight:800;color:var(--brand);margin-left:2px}
  .sub-assign .sa-n{white-space:nowrap}
  .sub-cancel{border:none;background:transparent;color:var(--muted);font-family:inherit;font-size:12px;font-weight:700;cursor:pointer;text-decoration:underline;padding:6px 4px}
  /* Management: Nachrichten-Threads */
  .msg-thread{display:flex;align-items:center;gap:11px;padding:11px 2px;border-top:1px solid var(--line);cursor:pointer}
  .msg-thread:first-child{border-top:0}
  .msg-thread:hover{background:var(--bg)}
  .mt-body{flex:1;min-width:0}
  .mt-body b{display:block;font-size:13.5px;font-weight:800;color:var(--ink)}
  .mt-last{display:block;font-size:12px;font-weight:600;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .mt-badge{display:inline-block;background:#E5484D;color:#fff;font-size:10.5px;font-weight:800;border-radius:20px;padding:1px 7px;vertical-align:middle;margin-left:4px}
  .mt-date{flex:none;font-size:10.5px;font-weight:700;color:var(--muted)}
  /* PWA Install-Banner + iOS-Sheet */
  .install-bar{position:fixed;left:12px;right:12px;top:calc(10px + env(safe-area-inset-top));z-index:9999;display:flex;align-items:center;gap:11px;background:#142720;color:#fff;border-radius:16px;padding:11px 12px 11px 14px;box-shadow:0 10px 34px rgba(0,0,0,.32);max-width:452px;margin:0 auto}
  .install-bar .ib-ic{flex:none;width:38px;height:38px;border-radius:11px;background:rgba(255,255,255,.12);display:grid;place-items:center;color:#3ee0b0}
  .install-bar .ib-txt{flex:1;min-width:0;line-height:1.3}
  .install-bar .ib-txt b{display:block;font-size:13.5px;font-weight:800}
  .install-bar .ib-txt span{display:block;font-size:11px;font-weight:600;opacity:.72;margin-top:1px}
  .install-bar .ib-btn{flex:none;border:none;background:#3B6659;color:#fff;font-family:inherit;font-weight:800;font-size:13px;padding:9px 15px;border-radius:11px;cursor:pointer}
  .install-bar .ib-x{flex:none;border:none;background:transparent;color:rgba(255,255,255,.55);font-size:22px;line-height:1;cursor:pointer;padding:0 2px}
  .ios-sheet{position:fixed;inset:0;z-index:10000;background:rgba(9,18,22,.55);display:flex;align-items:center;justify-content:center;padding:22px}
  .ios-sheet .ios-card{background:#fff;border-radius:22px;padding:22px 20px;max-width:360px;width:100%;box-shadow:0 24px 60px rgba(0,0,0,.4)}
  .ios-sheet .ios-card>b{display:block;font-family:"Bebas Neue",inherit;font-size:23px;letter-spacing:.5px;color:var(--ink);margin-bottom:12px}
  .ios-sheet ol{margin:0 0 16px;padding-left:20px;color:var(--ink)}
  .ios-sheet li{font-size:13.5px;font-weight:600;line-height:1.55;margin-bottom:9px}
  .ib-btn.full{width:100%;border:none;background:#3B6659;color:#fff;font-family:inherit;font-weight:800;font-size:14px;padding:12px;border-radius:12px;cursor:pointer}
  .qual-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 14px;border-bottom:1px solid var(--line)}
  .qual-row:last-child{border-bottom:0}
  .qual-open{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink);font-weight:700;flex:1;min-width:0}
  .qual-open b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .qual-ic{font-size:10px;font-weight:800;letter-spacing:.04em;background:var(--brand-soft);color:var(--brand-ink);padding:4px 7px;border-radius:7px;flex:none}
  .qual-del{border:0;background:transparent;color:var(--danger);cursor:pointer;font-size:18px;line-height:1;padding:2px 6px;flex:none}
  .qual-empty{padding:12px 14px;color:var(--muted);font-size:13px}
  /* Management-Modal: Foto + Qualifikationen */
  .mg-profile{display:flex;align-items:center;gap:12px;margin-bottom:12px}
  .mg-photo{width:56px;height:56px;border-radius:14px;object-fit:cover;background:var(--brand-soft);flex:none}
  .mg-photo.ph{display:flex;align-items:center;justify-content:center;font-weight:800;color:var(--brand-ink)}
  .mg-quals{display:flex;flex-direction:column;gap:4px;font-size:12.5px}
  .mg-quals a{color:var(--brand-ink);font-weight:700;text-decoration:none}
  .mg-quals .none{color:var(--muted)}
  .mg-photo-actions{display:flex;gap:8px;margin-bottom:12px}
  .mg-photo-btn{flex:1;font-size:12.5px;font-weight:800;color:var(--brand-ink);background:var(--brand-soft);border:0;border-radius:9px;padding:9px 10px;cursor:pointer}
  .mg-photo-btn.ghost{background:transparent;border:1px solid var(--line);color:var(--muted)}

  /* ---- Wochenplan: Raster-Ansicht (wie Studio-Plan) ---- */
  .sched-controls{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:14px 0 4px}
  .sched-loc-seg{margin:0}
  .sched-view-seg{display:inline-flex;gap:4px}
  .sched-view-seg button{border:1px solid var(--line);background:var(--surface);color:var(--muted);font-family:inherit;font-weight:800;font-size:12px;padding:8px 15px;border-radius:9px;cursor:pointer}
  .sched-view-seg button.active{background:var(--ink);color:#fff;border-color:transparent}
  .sched-grid{width:100%;border-collapse:collapse;min-width:820px;table-layout:fixed}
  .sched-grid th{background:var(--brand-soft);color:var(--brand-ink);font-size:11px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;padding:8px 6px;text-align:center;border:1px solid var(--line)}
  .sched-grid th.gt-time{width:52px}
  .sched-grid td{border:1px solid var(--line);vertical-align:top;padding:0}
  .sched-grid td.gt-time{text-align:center;font-weight:800;color:var(--ink);font-size:12px;padding:8px 3px;background:#F1F7F9;white-space:nowrap;vertical-align:middle}
  .sched-grid td.gempty{background:repeating-linear-gradient(45deg,#fafcfd,#fafcfd 6px,#eef3f5 6px,#eef3f5 12px)}
  .gcell{padding:7px 7px;text-align:center}
  .gsep{height:1px;background:var(--line);margin:0 -7px}
  .gtop{display:flex;justify-content:space-between;align-items:flex-start;gap:4px}
  .gtop b{font-size:12px;color:var(--ink);line-height:1.18}
  .glvl{display:block;font-size:10.5px;color:var(--muted);font-weight:600;margin:1px 0 5px}
  .gsel{width:100%;border:1px solid var(--line);border-radius:7px;padding:4px 5px;font-family:inherit;font-size:11.5px;color:var(--ink);background:#fff;cursor:pointer;-webkit-appearance:none}
  .gsel:focus{border-color:var(--brand);outline:none}
  .gfoot{margin-top:5px}
  .gcost{font-size:11.5px;font-weight:800;color:var(--ink);cursor:pointer;border-bottom:1px dotted var(--muted)}
  .gcost.custom{color:var(--brand-ink);border-bottom-color:var(--brand)}
  .gopen{font-size:11px;font-weight:800;color:var(--danger)}
  .gx{border:0;background:transparent;color:var(--danger);cursor:pointer;font-size:14px;line-height:1;padding:0 2px;flex:none}

  /* ---- Grid-Zelle: anklickbar, nur Anzeige ---- */
  .gclick{cursor:pointer;transition:filter .12s,box-shadow .12s}
  .gclick:hover{filter:brightness(1.04);box-shadow:inset 0 0 0 2px rgba(15,41,66,.28)}
  .gcoach{display:block;font-size:11px;font-weight:800;color:var(--ink);margin-top:4px}
  .gcost2{display:block;font-size:10.5px;font-weight:700;color:#3a4a52;margin-top:1px}
  /* ---- Klassen-Detailkarte (Design nach Vorlage) ---- */
  .cc-modal{position:fixed;inset:0;background:rgba(15,41,66,.5);display:flex;align-items:center;justify-content:center;z-index:120;padding:20px;backdrop-filter:saturate(1.1) blur(2px)}
  .cc-modal.hidden{display:none}
  .cc-card{position:relative;max-width:360px;width:100%;background:#FFFBE6;border:6px solid #fff;border-radius:2.25rem;padding:2rem;box-shadow:0 34px 90px -24px rgba(15,41,66,.55);font-family:'Nunito','Space Grotesk','Segoe UI',system-ui,sans-serif}
  .cc-x{position:absolute;top:16px;right:16px;color:#f43f5e;background:transparent;border:0;padding:8px;border-radius:999px;cursor:pointer;display:flex;transition:.18s}
  .cc-x:hover{color:#be123c;background:rgba(244,63,94,.12)}
  .cc-body{display:flex;flex-direction:column;align-items:center;text-align:center;padding-top:8px}
  .cc-meta{font-size:11.5px;font-weight:800;color:#94a3b8;letter-spacing:.03em;margin-bottom:8px;text-transform:uppercase}
  .cc-title{font-weight:800;font-size:28px;letter-spacing:-.02em;line-height:1.12;color:#0F2942;margin:0 0 4px}
  .cc-lvl{font-size:15px;font-weight:800;color:#B45309;letter-spacing:.02em;margin:0 0 20px}
  .cc-badge{display:inline-flex;align-items:center;justify-content:center;background:#fff;border:2px solid #DCEFF5;padding:10px 22px;border-radius:16px;box-shadow:0 1px 2px rgba(0,0,0,.05);margin-bottom:22px;font-size:14px;font-weight:800;color:#334155;max-width:100%}
  .cc-dot{width:10px;height:10px;border-radius:999px;margin-right:8px;flex:none;background:#34D399}
  .cc-dot.open{background:#f59e0b}
  .cc-price{font-size:24px;font-weight:800;letter-spacing:.02em;color:#2563EB;padding-bottom:6px;background-image:linear-gradient(to right,#2563EB 50%,rgba(255,255,255,0) 0);background-position:bottom;background-size:8px 2px;background-repeat:repeat-x;cursor:pointer}
  .cc-price-open{color:#94a3b8;background:none;cursor:default}
  .cc-edit{margin-top:24px;width:100%;border-top:1px solid #F0E6C0;padding-top:16px;display:flex;flex-direction:column;gap:9px;text-align:left}
  .cc-edit label{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:#94a3b8}
  .cc-sel{width:100%;border:2px solid #DCEFF5;border-radius:12px;padding:10px 12px;font-family:inherit;font-size:14px;font-weight:700;color:#334155;background:#fff;cursor:pointer}
  .cc-sel:focus{outline:none;border-color:#93c5fd}
  .cc-actions{display:flex;gap:8px;margin-top:2px}
  .cc-btn{flex:1;border:0;border-radius:12px;padding:11px;font-family:inherit;font-weight:800;font-size:13px;cursor:pointer;transition:filter .15s}
  .cc-btn:hover{filter:brightness(.96)}
  .cc-btn.edit{background:#DBEAFE;color:#1d4ed8}
  .cc-btn.del{background:#FEE2E2;color:#dc2626}

  /* ===== Wochenplan · Kalender-Ansicht (proportionale Zeitachse, schwebende Karten) ===== */
  .cal-board{background:var(--surface);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow);overflow:hidden;margin-top:2px}
  .cal-scroll{overflow-x:auto}
  .cal-head,.cal-body{display:grid;grid-template-columns:58px repeat(7,minmax(128px,1fr));min-width:980px}
  .cal-head{position:sticky;top:0;z-index:6;background:rgba(255,255,255,.9);backdrop-filter:saturate(1.4) blur(8px);-webkit-backdrop-filter:saturate(1.4) blur(8px);border-bottom:1px solid var(--line)}
  .cal-corner{position:sticky;left:0;z-index:8;background:rgba(255,255,255,.94);border-right:1px solid var(--line)}
  .cal-dh{padding:11px 10px 10px;text-align:center;border-right:1px solid var(--line)}
  .cal-dh:last-child{border-right:0}
  .cal-abbr{font-family:"Barlow Semi Condensed";font-weight:700;font-size:15px;color:var(--ink)}
  .cal-full{font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-top:1px}
  .cal-dh.weekend{background:#F6F9FA}
  .cal-gutter{position:sticky;left:0;z-index:5;border-right:1px solid var(--line);background:#FBFCFD}
  .cal-glabel{position:absolute;right:9px;transform:translateY(-50%);font-size:11px;font-weight:700;color:var(--muted);white-space:nowrap;font-variant-numeric:tabular-nums}
  .cal-gtick{position:absolute;right:0;width:6px;height:1px;background:var(--cal-line60,#DFE9EB)}
  .cal-col{position:relative;border-right:1px solid var(--line)}
  .cal-col:last-child{border-right:0}
  .cal-col.weekend{background:rgba(246,249,250,.6)}
  .cal-card{position:absolute;left:6px;right:6px;background:#fff;border:1px solid #E7EEF0;border-radius:10px;padding:6px 7px 6px 11px;display:flex;flex-direction:column;gap:3px;overflow:hidden;box-shadow:0 1px 2px rgba(20,50,59,.05),0 8px 16px -13px rgba(20,50,59,.22);cursor:pointer;transition:transform .16s,box-shadow .16s}
  .cal-card::before{content:"";position:absolute;left:0;top:0;bottom:0;width:5px;background:var(--bar,#9AAEB4)}
  .cal-card:hover{transform:translateY(-1px);box-shadow:0 2px 4px rgba(20,50,59,.06),0 18px 30px -16px rgba(20,50,59,.34);z-index:4}
  .cal-title{font-family:"Barlow Semi Condensed";font-weight:700;font-size:13.5px;line-height:1.08;color:var(--ink);overflow-wrap:anywhere;hyphens:auto;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
  .cal-lvl{align-self:flex-start;display:inline-flex;align-items:center;font-size:10px;font-weight:700;line-height:1;padding:2px 7px 3px;border-radius:999px;background:var(--pill-bg,#EEF3F4);color:var(--pill-tx,#4E656D);white-space:nowrap;max-width:100%;overflow:hidden;text-overflow:ellipsis}
  .cal-foot{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:5px;padding-top:2px}
  .cal-time{flex:1 1 auto;min-width:0;font-size:10px;font-weight:700;color:var(--muted);font-variant-numeric:tabular-nums;letter-spacing:-.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .cal-status{display:inline-flex;align-items:center;gap:3px;flex:0 0 auto;font-size:9.5px;font-weight:700;padding:2px 6px 2px 5px;border-radius:999px;background:#EEF7F1;color:#2C7A52;border:1px solid #D8EBDF;white-space:nowrap;max-width:60%;overflow:hidden;text-overflow:ellipsis}
  .cal-status::before{content:"";width:4px;height:4px;border-radius:50%;background:#34a56f;flex:0 0 auto}
  .cal-status.assigned{background:var(--brand-soft);color:var(--brand-ink);border-color:#CFE3FB}
  .cal-status.assigned::before{background:var(--brand)}

  /* Kalender · Ein-Tages-Ansicht (mobil, volle Breite) */
  .cal-day{display:grid;grid-template-columns:48px 1fr;background:var(--surface);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow);overflow:hidden;margin-top:12px}
  .cal-day-gutter{position:relative;border-right:1px solid var(--line);background:#FBFCFD}
  .cal-day-col{position:relative}
  .cal-day .cal-card{left:8px;right:8px}

  /* Multi-Standort als klickbare Chips im Trainer-Verwalten-Modal */
  .mg-locs{display:flex;gap:9px;flex-wrap:wrap;padding:3px 0}
  .mg-loc-chip{font-family:inherit;font-size:13.5px;font-weight:700;color:var(--muted);background:#fff;border:1.5px solid var(--line);border-radius:12px;padding:10px 15px;cursor:pointer;transition:.15s;display:inline-flex;align-items:center;gap:8px;line-height:1}
  .mg-loc-chip::before{content:"";width:16px;height:16px;border-radius:5px;border:1.5px solid #C7D6DA;background:#fff;flex:none;transition:.15s}
  .mg-loc-chip:hover{border-color:#BFD3DA}
  .mg-loc-chip.on{color:var(--brand-ink);border-color:var(--brand);background:var(--brand-soft)}
  .mg-loc-chip.on::before{background:var(--brand) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center/12px no-repeat;border-color:var(--brand)}

  /* ===== Standort-Farbthema Wochenplan (Management): Mitte rot · Kreuzberg blau, weiche Übergänge ===== */
  .theme-mitte{--loc:#E01B1B;--loc-ink:#B01414;--loc-soft:#FDECEC}
  .theme-kreuzberg{--loc:#1B6FE0;--loc-ink:#1657B8;--loc-soft:#E8F0FE}
  .sched-loc-seg button{transition:background .25s,color .25s,box-shadow .25s}
  .sched-loc-seg button.loc-mitte.active{background:#E01B1B;color:#fff;box-shadow:0 6px 14px -8px rgba(224,27,27,.55)}
  .sched-loc-seg button.loc-xberg.active{background:#1B6FE0;color:#fff;box-shadow:0 6px 14px -8px rgba(27,111,224,.55)}
  .sched-wrap .cal-head{background:var(--loc-soft);border-bottom:2px solid var(--loc);transition:background .25s,border-color .25s}
  .sched-wrap .cal-abbr{color:var(--loc);transition:color .25s}
  .sched-wrap .sched-loc-head h4{color:var(--loc);transition:color .25s}
  .sched-wrap .sched-loc-total{color:var(--loc-ink);font-weight:800}
  .sched-wrap .cal-day{border-top:3px solid var(--loc)}
  .sched-wrap .cal-day-gutter{background:var(--loc-soft);transition:background .25s}

  /* Wochenplan: 7-Tage-Raster ist Desktop-only — am Handy nur Tag/Liste anbieten */
  @media(max-width:700px){ .sched-view-seg .vs-grid{display:none} }
  /* Vollbreite-Dashboard: etwas Luft zum Bildschirmrand auf großen Screens */
  @media(min-width:1400px){ .app-scroll{padding-left:28px;padding-right:28px} }

  /* Team-Zugänge (Management-Logins) */
  .team-row{display:flex;align-items:center;gap:12px;justify-content:space-between;flex-wrap:wrap;padding:12px 2px;border-bottom:1px solid var(--line)}
  .team-row:last-of-type{border-bottom:0}
  .team-info{display:flex;align-items:center;gap:8px;flex-wrap:wrap;min-width:0}
  .team-info b{font-size:14.5px;font-weight:800;color:var(--ink)}
  .team-mail{flex-basis:100%;font-size:12.5px;color:var(--muted);font-weight:600}
  .team-badge{font-size:10.5px;font-weight:800;letter-spacing:.03em;text-transform:uppercase;padding:2px 8px;border-radius:999px}
  .team-badge.you{background:var(--brand-soft);color:var(--brand-ink)}
  .team-badge.coach{background:var(--income-soft);color:var(--income)}
  .team-badge.admin{background:#EEF2F4;color:var(--muted)}
  .team-badge.off{background:var(--danger-soft);color:var(--danger)}
  .team-actions{display:flex;gap:7px;flex-wrap:wrap}
  .team-act{font-family:inherit;font-size:12px;font-weight:800;color:var(--ink);background:#fff;border:1px solid var(--line);border-radius:9px;padding:7px 11px;cursor:pointer;transition:.15s}
  .team-act:hover{border-color:#C5DCEA;background:#F7FAFB}
  .team-act.danger{color:var(--danger);border-color:#F2C9CB}
  .team-add{margin-top:16px;padding-top:16px;border-top:2px solid var(--line)}
  .team-add-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:9px}
  .team-add input{font-family:inherit;font-size:14px;color:var(--ink);background:#fff;border:1px solid var(--line);border-radius:11px;padding:11px 12px;width:100%}
  .team-add input:focus{outline:none;border-color:var(--brand)}
  .team-coach{display:flex;align-items:center;gap:9px;margin:11px 0;font-size:13px;font-weight:600;color:var(--ink);cursor:pointer}
  .team-coach input{width:17px;height:17px;flex:none;accent-color:var(--brand)}
  @media(max-width:640px){ .team-add-grid{grid-template-columns:1fr} }

  /* Wochenplan-Panel: Inhalt bekommt sauberen Innenabstand (nicht am Rand kleben) */
  #scheduleBox{padding:0 20px}
  #schedulePanel > .kitty{padding:14px 20px 20px}

  /* Trainer-Ranking: "+ Trainer hinzufügen" im Kopf */
  .panel-head{flex-wrap:wrap;gap:8px 12px}
  .ph-right{display:flex;align-items:center;gap:12px;flex-wrap:wrap;justify-content:flex-end}
  .btn-add-trainer{border:1px solid var(--brand);background:var(--brand);color:#fff;font-family:"Barlow",sans-serif;font-weight:700;font-size:13px;line-height:1;padding:8px 14px;border-radius:9px;cursor:pointer;white-space:nowrap;transition:opacity .15s,box-shadow .15s;box-shadow:0 8px 18px -12px var(--brand)}
  .btn-add-trainer:hover{opacity:.92}
  .btn-add-trainer:active{transform:translateY(1px)}

  /* Feld-Hinweis unter Eingaben (z. B. Stundenhonorar) */
  .mm-body .fld-hint{display:block;font-size:11px;color:var(--muted);margin-top:5px;font-weight:600;line-height:1.35}

  /* Verwalten-Modal für Management-Coaches (z. B. Moritz): Login-/Löschen-Bereiche ausblenden */
  .manage-card.mgmt-coach .mg-hide-mgmt{display:none}
  .manage-card.mgmt-coach .mg-show-mgmt{display:block !important}

  /* Multi-Rollen: Umschalt-Button (Trainer <-> Dashboard) in beiden Ansichts-Köpfen */
  .role-switch{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--brand);background:var(--brand-soft);color:var(--brand);font-family:"Barlow",sans-serif;font-weight:700;font-size:12.5px;line-height:1;padding:8px 12px;border-radius:10px;cursor:pointer;white-space:nowrap;transition:background .15s,color .15s}
  .role-switch:hover{background:var(--brand);color:#fff}
  .role-switch:active{transform:translateY(1px)}
  .role-switch svg{width:15px;height:15px;flex:0 0 auto}
  .app-head .ah-right{margin-left:auto;display:flex;align-items:center;gap:8px}
  .app-head .ah-right .bell{margin-left:0}
