:root{
    --brand:#2E8BFF;
    --brand-ink:#1668D6;
    --brand-soft:#E4EFFF;
    --aqua:#28B8C8;
    --petrol:#213D46;
    --petrol-deep:#0F2229;
    --bg:#EDF3F4;
    --surface:#FFFFFF;
    --ink:#17323B;
    --muted:#5F7B85;
    --line:#DCE7E9;
    --income:#0FA37F;
    --income-soft:#E0F4EE;
    --amber:#E0892A;
    --amber-soft:#FAEEDC;
    --danger:#E5484D;
    --danger-soft:#FBE7E7;
    --shadow:0 1px 2px rgba(23,50,59,.05),0 12px 32px -12px rgba(23,50,59,.16);
    --shadow-lg:0 30px 80px -30px rgba(23,50,59,.42);
    --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%,#315361);
    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),#14323B 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: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:center;gap:8px;color:rgba(255,255,255,.82);font-weight:600;cursor:pointer}
  .chk input{width:16px;height:16px;accent-color:var(--aqua);flex:none}
  .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:1240px;margin:0 auto}
  .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:22px}
  @media(max-width:900px){.kpis{grid-template-columns:1fr 1fr}}
  .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,#7FB6FF,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}
