*{box-sizing:border-box;margin:0;padding:0}
:root{
  /* Surfaces — deeper, slightly warmer slate ramp */
  --bg:#0a0d12;
  --c1:#10151c;        /* card */
  --c2:#171e27;        /* card hover / nested */
  --c3:#1f2832;        /* inputs / tracks */
  --c-elev:#141a23;    /* elevated panels */

  /* Borders — hairline, two strengths */
  --b1:rgba(255,255,255,0.06);
  --b2:rgba(255,255,255,0.11);
  --b-strong:rgba(255,255,255,0.18);

  /* Text — clearer 4-step ramp */
  --t1:#e6edf5;
  --t2:#9aa7b8;
  --t3:#5b6878;
  --t4:#3a4350;

  /* Brand — refined teal, used intentionally */
  --teal:#22d3c5;
  --teal-soft:#0fa599;
  --tdim:rgba(34,211,197,0.10);
  --tbrd:rgba(34,211,197,0.32);
  --tglow:rgba(34,211,197,0.5);

  /* Semantic accents — desaturated for harmony */
  --blue:#5aa3ff;--bdim:rgba(90,163,255,0.10);--bbrd:rgba(90,163,255,0.28);
  --green:#3dd07f;--gdim:rgba(61,208,127,0.10);--gbrd:rgba(61,208,127,0.28);
  --amber:#f5b454;--adim:rgba(245,180,84,0.10);--abrd:rgba(245,180,84,0.28);
  --red:#ef5a5a;--rdim:rgba(239,90,90,0.10);--rbrd:rgba(239,90,90,0.30);
  --purple:#b29cf5;

  /* Radii — softer system */
  --r:8px;--r2:12px;--r3:18px;

  /* Shadows — layered, premium */
  --sh-sm:0 1px 0 rgba(255,255,255,0.035) inset, 0 1px 2px rgba(0,0,0,0.35);
  --sh-md:0 1px 0 rgba(255,255,255,0.05) inset, 0 6px 20px -4px rgba(0,0,0,0.5), 0 2px 4px rgba(0,0,0,0.25);
  --sh-lg:0 1px 0 rgba(255,255,255,0.07) inset, 0 24px 64px -12px rgba(0,0,0,0.7);
  --sh-inset:inset 0 1px 0 rgba(255,255,255,0.04), inset 0 0 0 1px rgba(255,255,255,0.01);
}
html,body{height:100%;min-height:100vh;font-family:'Inter',-apple-system,BlinkMacSystemFont,sans-serif;background:var(--bg);color:var(--t1);overflow-x:hidden;font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased;letter-spacing:-0.005em}
body{background:radial-gradient(ellipse 80% 50% at 50% -10%,rgba(34,211,197,0.04),transparent 60%),var(--bg)}

/* Numbers use mono */
.kpi-val,.unum,.pk .v,.sks,.rval,.rpos,.dqc-date,.cd,.cc{font-family:'JetBrains Mono',ui-monospace,monospace;font-feature-settings:"tnum" 1}

/* TOPBAR — grouped sections, generous breathing room */
.topbar{position:sticky;top:0;z-index:200;height:68px;padding:0 28px;display:flex;align-items:center;gap:24px;background:rgba(10,13,18,0.88);backdrop-filter:blur(24px) saturate(180%);-webkit-backdrop-filter:blur(24px) saturate(180%);border-bottom:1px solid var(--b1)}
.brand{display:flex;align-items:center;gap:12px;padding-right:24px;border-right:1px solid var(--b1);height:36px}
.brand-icon{width:34px;height:34px;background:linear-gradient(135deg,var(--teal-soft) 0%,var(--teal) 100%);border-radius:9px;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:800;color:#06120f;flex-shrink:0;letter-spacing:-0.5px;box-shadow:0 0 0 1px rgba(34,211,197,0.32),0 6px 16px rgba(34,211,197,0.22),inset 0 1px 0 rgba(255,255,255,0.25)}
.brand-text{font-size:15px;font-weight:700;letter-spacing:-0.018em;line-height:1.1}
.brand-text::after{display:none}
.brand-sub{font-size:11px;color:var(--t3);font-weight:500;letter-spacing:0.02em;line-height:1.1;display:block;margin-top:2px}
.brand-block{display:flex;flex-direction:column}
.topbar-spacer{flex:1}
.topbar-group{display:flex;align-items:center;gap:10px;padding-left:24px;border-left:1px solid var(--b1);height:36px}
.admin-btn{display:flex;align-items:center;gap:8px;padding:8px 14px 8px 12px;border-radius:var(--r);background:var(--c1);border:1px solid var(--b1);color:var(--t2);font-size:12px;font-weight:600;cursor:pointer;transition:all 0.18s;font-family:inherit;box-shadow:var(--sh-sm)}
.admin-btn:hover{border-color:var(--b2);color:var(--t1);background:var(--c2)}
.admin-btn.on{color:var(--teal);border-color:var(--tbrd);background:var(--tdim);box-shadow:0 0 0 1px var(--tbrd),0 4px 16px rgba(34,211,197,0.12)}
.adot{width:7px;height:7px;border-radius:50%;background:var(--t3);flex-shrink:0;transition:all 0.2s;position:relative}
.admin-btn.on .adot{background:var(--teal);box-shadow:0 0 0 3px rgba(34,211,197,0.18),0 0 10px var(--tglow)}
.admin-btn.on .adot::after{content:'';position:absolute;inset:-2px;border-radius:50%;border:1px solid var(--tbrd);animation:apulse 2s ease-in-out infinite}
.modal.hidden{display:none}
.modal{position:fixed;inset:0;z-index:500;background:rgba(0,0,0,.62);display:flex;align-items:center;justify-content:center;padding:18px}
.modal-card{max-width:760px;max-height:86vh;overflow:auto;background:var(--c1);border:1px solid var(--b1);border-radius:8px;padding:18px;box-shadow:var(--sh-lg)}
.auth-card{display:grid;gap:12px;width:min(420px,100%)}
@keyframes apulse{0%,100%{opacity:0.4;transform:scale(1)}50%{opacity:1;transform:scale(1.4)}}

/* SYNC — quieter, grouped on the right */
.sync-area{display:flex;align-items:center;gap:12px;padding:7px 8px 7px 16px;background:var(--c1);border:1px solid var(--b1);border-radius:99px;transition:border-color 0.2s;box-shadow:var(--sh-sm)}
.sync-area:hover{border-color:var(--b2)}
.sync-dot{width:8px;height:8px;border-radius:50%;background:var(--t3);flex-shrink:0;transition:all 0.3s;position:relative}
.sync-dot.ready{background:var(--green);box-shadow:0 0 0 3px rgba(61,208,127,0.18),0 0 10px rgba(61,208,127,0.55)}
.sync-dot.busy{background:var(--amber);animation:sdpulse 1.2s ease-in-out infinite}
.sync-dot.err{background:var(--red);box-shadow:0 0 0 3px rgba(239,90,90,0.18),0 0 10px rgba(239,90,90,0.55)}
@keyframes sdpulse{0%,100%{opacity:1;transform:scale(1);box-shadow:0 0 0 0 rgba(245,180,84,0.4)}50%{opacity:0.6;transform:scale(0.7);box-shadow:0 0 0 6px rgba(245,180,84,0)}}
.sync-lbl{font-size:12px;color:var(--t2);white-space:nowrap;max-width:220px;overflow:hidden;text-overflow:ellipsis;font-weight:500}
.sync-lbl strong{color:var(--t1);font-weight:600}
.btn-refresh{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:99px;background:var(--c3);border:1px solid var(--b1);color:var(--t2);font-size:10px;font-weight:700;cursor:pointer;transition:all 0.15s;white-space:nowrap;font-family:inherit;letter-spacing:0.06em;text-transform:uppercase}
.btn-refresh:hover:not(:disabled){border-color:var(--tbrd);color:var(--teal);background:var(--tdim)}
.btn-refresh:disabled{opacity:0.5;cursor:not-allowed}
.btn-refresh .rspin{width:11px;height:11px;border:1.5px solid rgba(255,255,255,0.15);border-top-color:var(--teal);border-radius:50%;animation:spin 0.7s linear infinite;display:none}
.btn-refresh.spinning .rspin{display:block}
.btn-refresh.spinning .rico{display:none}
.rico{font-size:11px;line-height:1}

/* NAV — pill tabs with icons + richer active state */
.nav{display:flex;padding:0 28px;background:var(--bg);border-bottom:1px solid var(--b1);overflow-x:auto;gap:2px;height:52px;align-items:center;position:relative}
.nav::-webkit-scrollbar{height:0}
.nb{padding:8px 14px;border:none;background:none;color:var(--t2);font-size:13px;font-weight:600;cursor:pointer;transition:color 0.15s,background 0.15s;white-space:nowrap;display:inline-flex;align-items:center;gap:8px;flex-shrink:0;letter-spacing:-0.008em;border-radius:var(--r);position:relative;font-family:inherit;height:36px}
.nb svg{width:15px;height:15px;flex-shrink:0;stroke-width:1.9;opacity:0.75;transition:opacity 0.15s}
.nb:hover{color:var(--t1);background:var(--c1)}
.nb:hover svg{opacity:1}
.nb.active{color:var(--teal);background:var(--tdim);box-shadow:inset 0 0 0 1px var(--tbrd)}
.nb.active svg{opacity:1}
.nb.active::after{content:'';position:absolute;bottom:-9px;left:50%;transform:translateX(-50%);width:24px;height:2px;background:var(--teal);border-radius:2px 2px 0 0;box-shadow:0 0 12px var(--tglow)}
.nb-ext{margin-left:6px;padding-left:12px;border-left:1px solid var(--b1);color:var(--t3)}
.nb-ext:hover{color:var(--t1)}
.lk{font-size:9px;opacity:0.7;transition:all 0.2s}
.nb .lk-svg{width:11px;height:11px;color:var(--t3);transition:color 0.2s}
.nb.unlocked .lk-svg{color:var(--teal)}

/* PAGES */
.page{display:none;padding:24px 28px;height:calc(100vh - 120px);overflow:hidden}
.page.active{display:flex;flex-direction:column;animation:fade 0.25s ease}
@keyframes fade{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}

/* MODAL */
.mbg{position:fixed;inset:0;z-index:500;background:rgba(0,0,0,0.65);backdrop-filter:blur(10px);display:none;align-items:center;justify-content:center;animation:fade 0.2s}
.mbg.open{display:flex}
.mcard{width:340px;padding:28px;background:var(--c-elev);border:1px solid var(--b2);border-radius:var(--r3);box-shadow:var(--sh-lg)}
.mcard h2{font-size:16px;font-weight:700;margin-bottom:4px;letter-spacing:-0.02em}
.mcard>p{font-size:12px;color:var(--t2);margin-bottom:18px}
.ml{display:block;font-size:10px;font-weight:600;color:var(--t2);text-transform:uppercase;letter-spacing:0.08em;margin:14px 0 6px}
.mi{width:100%;padding:9px 11px;background:var(--c3);border:1px solid var(--b1);border-radius:var(--r);color:var(--t1);font-size:13px;outline:none;transition:all 0.15s;font-family:inherit}
.mi:focus{border-color:var(--teal);background:var(--bg);box-shadow:0 0 0 3px var(--tdim)}
.mi::placeholder{color:var(--t3)}
.mrow{display:flex;gap:8px;margin-top:18px}
.mbtn{flex:1;padding:9px;border-radius:var(--r);font-size:12px;font-weight:600;cursor:pointer;border:none;transition:all 0.15s;font-family:inherit;letter-spacing:-0.005em}
.mok{background:var(--teal);color:#0a0d12}.mok:hover{background:#3de1d3;transform:translateY(-1px);box-shadow:0 6px 16px var(--tglow)}
.mcnl{background:var(--c3);border:1px solid var(--b1);color:var(--t2)}.mcnl:hover{color:var(--t1);border-color:var(--b2)}
.merr{font-size:11px;color:var(--red);text-align:center;margin-top:8px;display:none}

/* LOCKED — polished admin gate */
.locked{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:64px 48px;gap:14px;text-align:center;flex:1;background:linear-gradient(180deg,var(--c-elev) 0%,var(--c1) 100%);border:1px solid var(--b1);border-radius:var(--r3);box-shadow:var(--sh-md);position:relative;overflow:hidden}
.locked::before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 50% 0%,rgba(34,211,197,0.06),transparent 60%);pointer-events:none}
.locked-icon{width:60px;height:60px;border-radius:18px;background:var(--c2);border:1px solid var(--b2);display:flex;align-items:center;justify-content:center;margin-bottom:6px;box-shadow:var(--sh-md),inset 0 1px 0 rgba(255,255,255,0.04);position:relative;z-index:1}
.locked-icon svg{width:26px;height:26px;color:var(--teal);stroke-width:1.7}
.locked h2{font-size:20px;font-weight:700;letter-spacing:-0.02em;position:relative;z-index:1}
.locked p{font-size:13px;color:var(--t2);line-height:1.6;max-width:380px;position:relative;z-index:1}
.locked .btn-p{margin-top:10px;padding:10px 22px;font-size:13px;position:relative;z-index:1}

/* BUTTONS */
.btn{padding:8px 16px;border-radius:var(--r);font-size:13px;font-weight:600;cursor:pointer;border:none;transition:all 0.15s;display:inline-flex;align-items:center;gap:7px;letter-spacing:-0.008em;font-family:inherit}
.btn-g{background:var(--c1);border:1px solid var(--b1);color:var(--t2);box-shadow:var(--sh-sm)}.btn-g:hover{border-color:var(--b2);color:var(--t1);background:var(--c2)}
.btn-p{background:linear-gradient(180deg,#2ce0d3 0%,var(--teal) 100%);color:#06120f;border:1px solid transparent;box-shadow:0 1px 0 rgba(255,255,255,0.2) inset,0 4px 12px rgba(34,211,197,0.25)}.btn-p:hover{filter:brightness(1.07);transform:translateY(-1px);box-shadow:0 1px 0 rgba(255,255,255,0.2) inset,0 8px 22px var(--tglow)}

/* KPI ROW — deeper hierarchy, breathable */
.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px;margin-bottom:20px;flex-shrink:0}
.kpi{background:linear-gradient(180deg,var(--c-elev) 0%,var(--c1) 100%);border:1px solid var(--b1);border-radius:var(--r2);padding:20px 22px;position:relative;overflow:hidden;transition:all 0.2s;box-shadow:var(--sh-md)}
.kpi:hover{border-color:var(--b2);transform:translateY(-2px);box-shadow:var(--sh-md),0 12px 28px rgba(0,0,0,0.35)}
.kpi::before{content:'';position:absolute;top:0;left:0;width:3px;bottom:0;border-radius:var(--r2) 0 0 var(--r2)}
.kpi::after{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,0.08),transparent)}
.kblue::before{background:var(--blue);box-shadow:0 0 16px rgba(90,163,255,0.25)}.kgreen::before{background:var(--green);box-shadow:0 0 16px rgba(61,208,127,0.25)}
.kamber::before{background:var(--amber);box-shadow:0 0 16px rgba(245,180,84,0.25)}.kred::before{background:var(--red);box-shadow:0 0 16px rgba(239,90,90,0.25)}.kteal::before{background:var(--teal);box-shadow:0 0 16px var(--tglow)}
.kpi-lbl{font-size:10px;font-weight:700;color:var(--t2);text-transform:uppercase;letter-spacing:0.11em;margin-bottom:12px}
.kpi-val{font-size:34px;font-weight:700;line-height:1;letter-spacing:-0.045em;color:var(--t1)}
.kblue .kpi-val{color:var(--blue)}.kgreen .kpi-val{color:var(--green)}.kamber .kpi-val{color:var(--amber)}.kred .kpi-val{color:var(--red)}.kteal .kpi-val{color:var(--teal)}
.kpi-sub{font-size:12px;color:var(--t3);margin-top:10px;line-height:1.4;font-weight:500}

/* LEGEND */
.legend{display:flex;align-items:center;gap:18px;padding:10px 18px;background:var(--c1);border:1px solid var(--b1);border-radius:var(--r);margin-bottom:14px;flex-wrap:wrap;flex-shrink:0;box-shadow:var(--sh-sm)}
.leg-lbl{font-size:10px;font-weight:700;color:var(--t2);text-transform:uppercase;letter-spacing:0.1em;margin-right:4px}
.leg-i{display:flex;align-items:center;gap:7px;font-size:12px;color:var(--t2)}
.ld{width:22px;height:22px;border-radius:6px;font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center;font-family:'JetBrains Mono',monospace}
.ld0{background:var(--rdim);color:var(--red);border:1px solid var(--rbrd)}
.ld1{background:var(--adim);color:var(--amber);border:1px solid var(--abrd)}
.ld2{background:var(--gdim);color:var(--green);border:1px solid var(--gbrd)}
.ld3{background:var(--tdim);color:var(--teal);border:1px solid var(--tbrd)}

/* TOOLTIP */
.tip{position:relative;display:inline-flex;align-items:center;gap:3px;cursor:help}
.tip-icon{font-size:8px;color:var(--teal);font-weight:700;background:var(--tdim);border:1px solid var(--tbrd);border-radius:3px;padding:0 3px;line-height:13px}
.tip-box{display:none;position:absolute;z-index:300;top:calc(100% + 6px);left:50%;transform:translateX(-30%);background:var(--c-elev);border:1px solid var(--b2);border-radius:var(--r);padding:10px 14px;white-space:nowrap;font-size:11px;font-weight:400;color:var(--t1);line-height:1.8;box-shadow:var(--sh-lg);min-width:180px;text-transform:none;letter-spacing:0}
.tip-box strong{color:var(--teal);display:block;margin-bottom:4px;font-size:9px;text-transform:uppercase;letter-spacing:0.08em}
.tip:hover .tip-box{display:block}

/* OVERVIEW TABLE — less dense, readable scores */
.ov-wrap{flex:1;border-radius:var(--r2);overflow:auto;border:1px solid var(--b1);background:var(--c1);min-height:0;box-shadow:var(--sh-md)}
.ovt{border-collapse:separate;border-spacing:0;white-space:nowrap;width:100%}
.ovt thead{position:sticky;top:0;z-index:10}
.ovt th{background:#0c1117;color:var(--t2);padding:13px 8px;text-align:center;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:0.08em;border-bottom:1px solid var(--b2)}
.ovt th.nc{text-align:left;padding-left:18px;min-width:180px;position:sticky;left:0;z-index:20;background:#0c1117}
.ovt td{padding:9px 6px;text-align:center;border-bottom:1px solid rgba(255,255,255,0.04)}
.ovt td.nc{padding:0 18px;font-size:13px;font-weight:500;position:sticky;left:0;background:var(--c1);z-index:5;border-right:1px solid var(--b1);height:52px;white-space:nowrap;text-align:left}
.ovt tbody tr{transition:background 0.1s}
.ovt tr:hover td{background:var(--c2)}.ovt tr:hover td.nc{background:#13191f}
.ovc{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:8px;font-weight:700;font-size:13px;font-family:'JetBrains Mono',monospace;line-height:1;letter-spacing:-0.02em}
.s0{background:rgba(239,90,90,0.18);color:#ff8585;box-shadow:inset 0 0 0 1px rgba(239,90,90,0.22)}
.s1{background:rgba(245,180,84,0.18);color:#ffc471;box-shadow:inset 0 0 0 1px rgba(245,180,84,0.22)}
.s2{background:rgba(61,208,127,0.16);color:#5fdf95;box-shadow:inset 0 0 0 1px rgba(61,208,127,0.22)}
.s3{background:rgba(34,211,197,0.18);color:var(--teal);box-shadow:inset 0 0 0 1px rgba(34,211,197,0.30)}
.se{background:transparent;color:var(--t4);box-shadow:none}
.sr td{font-size:10px;font-weight:700;padding:10px 4px;border-top:2px solid var(--b2);font-family:'JetBrains Mono',monospace;text-align:center}
.sr-imp{background:rgba(90,163,255,0.04)}.sr-req{background:rgba(34,211,197,0.04)}
.sr-tr{background:rgba(61,208,127,0.04)}.sr-ntt{background:rgba(239,90,90,0.04)}
.sl{text-align:left!important;padding-left:18px!important;color:var(--t2)!important;font-style:normal;white-space:nowrap;position:sticky;left:0;background:inherit!important;z-index:5;font-weight:700!important;font-family:'Inter',sans-serif!important;text-transform:uppercase;font-size:10px!important;letter-spacing:0.09em}

/* BADGES */
.badge{display:inline-block;padding:2px 7px;border-radius:4px;font-size:9px;font-weight:700;white-space:nowrap;letter-spacing:0.06em;text-transform:uppercase}
.by{background:rgba(90,163,255,0.12);color:var(--blue);border:1px solid var(--bbrd)}
.bi{background:rgba(245,180,84,0.12);color:var(--amber);border:1px solid var(--abrd)}
.bs{background:rgba(178,156,245,0.10);color:var(--purple);border:1px solid rgba(178,156,245,0.25)}
.bok{background:var(--gdim);color:var(--green);border:1px solid var(--gbrd)}
.bnok{background:var(--rdim);color:var(--red);border:1px solid var(--rbrd)}

/* URGENCY */
.ug{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px;overflow-y:auto;flex:1;min-height:0;align-content:start;padding-bottom:6px}
.uc{background:linear-gradient(180deg,var(--c-elev) 0%,var(--c1) 100%);border:1px solid var(--b1);border-radius:var(--r2);padding:18px 20px;transition:all 0.18s;box-shadow:var(--sh-md);position:relative}
.uc:hover{border-color:var(--b2);transform:translateY(-2px);box-shadow:var(--sh-md),0 10px 24px rgba(0,0,0,0.3)}
.uc::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;border-radius:var(--r2) var(--r2) 0 0;}
.uc::after{content:'';position:absolute;top:1px;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,0.06),transparent);border-radius:var(--r2) var(--r2) 0 0;}
.uc.crit::before{background:var(--red);box-shadow:0 0 20px rgba(239,90,90,0.4)}
.uc.risk::before{background:var(--amber);box-shadow:0 0 20px rgba(245,180,84,0.4)}
.uc.ok::before{background:var(--green);box-shadow:0 0 20px rgba(61,208,127,0.4)}
.ut{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:10px;gap:12px}
.utask{font-size:13px;font-weight:700;line-height:1.3;flex:1;letter-spacing:-0.012em}
.unum{font-size:26px;font-weight:700;line-height:1;letter-spacing:-0.045em}
.unum span{font-size:13px;font-weight:500;color:var(--t3)}
.crit .unum{color:var(--red)}.risk .unum{color:var(--amber)}.ok .unum{color:var(--green)}
.upill{display:inline-flex;font-size:9px;font-weight:700;padding:3px 9px;border-radius:99px;text-transform:uppercase;letter-spacing:0.08em;margin-bottom:10px;align-items:center;gap:5px}
.upill::before{content:'';width:5px;height:5px;border-radius:50%;background:currentColor;box-shadow:0 0 6px currentColor}
.pc{background:var(--rdim);color:var(--red);border:1px solid var(--rbrd)}
.pr{background:var(--adim);color:var(--amber);border:1px solid var(--abrd)}
.po{background:var(--gdim);color:var(--green);border:1px solid var(--gbrd)}
.ubar{height:5px;background:var(--c3);border-radius:99px;margin-bottom:10px;overflow:hidden;box-shadow:inset 0 1px 0 rgba(0,0,0,0.3)}
.ufill{height:100%;border-radius:99px;transition:width 0.4s}
.crit .ufill{background:linear-gradient(90deg,var(--red),#ff7575)}
.risk .ufill{background:linear-gradient(90deg,var(--amber),#ffc471)}
.ok .ufill{background:linear-gradient(90deg,var(--green),#5fdf95)}
.uinfo{font-size:12px;color:var(--t2);line-height:1.5}.uinfo strong{color:var(--t1);font-weight:600}
.utog{font-size:10px;color:var(--teal);cursor:pointer;margin-top:8px;display:inline-block;user-select:none;font-weight:700;letter-spacing:0.05em;text-transform:uppercase}
.utog:hover{text-decoration:underline}
.unames{font-size:11px;color:var(--t2);margin-top:8px;display:none;line-height:1.7;padding-top:8px;border-top:1px solid var(--b1)}
.unames.open{display:block}
/* Redesigned urgency task cards */
.uc-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:8px}
.uc-count{font-family:'JetBrains Mono',monospace;font-size:22px;font-weight:800;color:var(--t1);line-height:1;text-align:right}
.uc-req{font-size:13px;opacity:.5}
.uc-bar-wrap{display:flex;align-items:center;gap:8px;margin-bottom:8px}
.uc-bar-track{flex:1;height:5px;background:var(--b2);border-radius:3px;overflow:hidden}
.uc-bar-fill{height:100%;border-radius:3px;transition:width .3s}
.uc-bar-label{font-size:10px;font-weight:700;color:var(--t3);min-width:30px;text-align:right}
.uc-meta{display:flex;flex-wrap:wrap;gap:5px;align-items:center;margin-bottom:6px}
.uc-imp{font-size:10px;font-weight:700;font-family:'JetBrains Mono',monospace}
.uc-badge{font-size:9.5px;background:var(--b2);color:var(--t2);padding:2px 7px;border-radius:10px}
/* Urgency info bar (per-task tab header) */
.urg-info-bar{display:flex;align-items:center;gap:8px;margin-bottom:12px;flex-wrap:wrap}
.urg-info-btn{background:transparent;border:1px solid var(--b2);color:var(--teal);padding:3px 10px;border-radius:4px;cursor:pointer;font-size:11px;font-weight:600}
.urg-info-btn:hover{background:rgba(34,211,197,.08)}
.urg-info-detail{width:100%;padding:10px 14px;background:rgba(34,211,197,.06);border:1px solid rgba(34,211,197,.2);border-radius:5px;font-size:11px;color:var(--t2);line-height:1.7;margin-top:6px}
.urg-info-detail.hidden{display:none}
/* Urgency sub-tabs */
.urg-tabs{display:flex;gap:4px;margin-bottom:14px;border-bottom:1px solid var(--b1);padding-bottom:0;}
.urg-tab{background:transparent;border:none;color:var(--t3);padding:8px 16px;cursor:pointer;font-size:12px;font-weight:600;letter-spacing:.3px;border-bottom:2px solid transparent;margin-bottom:-1px;transition:all .15s;}
.urg-tab:hover{color:var(--t1);}
.urg-tab.active{color:var(--teal);border-bottom-color:var(--teal);}
.urg-pane{flex:1;overflow-y:auto;min-height:0;padding-bottom:6px;}
.urg-pane.hidden{display:none;}
.urg-pane-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px;align-content:start;}
/* Urgency summary panel */
.urg-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px;margin-bottom:14px;}
.urg-summary-card{padding:14px 16px;border-radius:var(--r2);background:linear-gradient(180deg,var(--c-elev) 0%,var(--c1) 100%);border:1px solid var(--b1);box-shadow:var(--sh-md);position:relative;}
.urg-summary-card::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;border-radius:var(--r2) var(--r2) 0 0;}
.urg-summary-crit::before{background:var(--red);box-shadow:0 0 14px rgba(239,90,90,.4);}
.urg-summary-risk::before{background:var(--amber);box-shadow:0 0 14px rgba(245,180,84,.4);}
.urg-summary-ok::before{background:var(--green);box-shadow:0 0 14px rgba(61,208,127,.4);}
.urg-summary-num{font-family:'JetBrains Mono',monospace;font-size:28px;font-weight:800;color:var(--t1);line-height:1;margin-bottom:4px;}
.urg-summary-crit .urg-summary-num{color:var(--red);}
.urg-summary-risk .urg-summary-num{color:var(--amber);}
.urg-summary-ok .urg-summary-num{color:var(--green);}
.urg-summary-lbl{font-size:12px;font-weight:600;color:var(--t1);margin-bottom:2px;}
.urg-summary-sub{font-size:10px;color:var(--t3);}
.urg-overburden{padding:14px;border-radius:var(--r2);background:linear-gradient(180deg,rgba(245,180,84,.08) 0%,transparent 100%);border:1px solid rgba(245,180,84,.3);margin-bottom:14px;}
.urg-overburden-title{font-size:12px;font-weight:700;color:var(--amber);margin-bottom:8px;letter-spacing:.3px;}
.urg-overburden-list{display:flex;flex-direction:column;gap:6px;margin-bottom:8px;}
.urg-overburden-row{display:flex;align-items:center;gap:10px;padding:6px 10px;background:rgba(0,0,0,.15);border-radius:4px;font-size:11px;}
.urg-overburden-name{font-weight:700;color:var(--t1);min-width:140px;}
.urg-overburden-count{font-family:'JetBrains Mono',monospace;font-weight:700;color:var(--amber);font-size:11px;min-width:60px;}
.urg-overburden-tasks{color:var(--t2);font-size:10px;}
.urg-overburden-foot{font-size:10px;color:var(--t3);font-style:italic;}
.urg-loss-warn{font-size:10px;color:var(--red);padding:4px 6px;background:rgba(239,90,90,.1);border-radius:3px;margin-top:6px;border-left:2px solid var(--red);}
.uinfo-grid{display:flex;flex-wrap:wrap;gap:5px;margin-top:8px;}
.uinfo-item{display:flex;flex-direction:column;padding:6px 10px;background:var(--b1);border-radius:4px;font-size:11px;color:var(--t2);min-width:80px;}
.uinfo-lbl{font-size:8.5px;text-transform:uppercase;letter-spacing:.4px;color:var(--t3);font-weight:600;margin-bottom:2px;}
.uinfo-item strong{color:var(--t1);font-size:13px;}
.info-mark{font-size:9px;cursor:help;opacity:.6;}
/* Scenarios pane */
.urg-scenario-hdr{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid var(--b1);}
.urg-scenario-title{font-size:14px;font-weight:700;color:var(--t1);margin-bottom:4px;}
.urg-scenario-sub{font-size:11px;color:var(--t3);max-width:520px;line-height:1.5;}
.urg-scenario-sel{background:var(--c2);color:var(--t1);border:1px solid var(--b2);border-radius:5px;padding:8px 12px;font-size:12px;cursor:pointer;min-width:240px;font-weight:600;}
.urg-scenario-sel:focus{outline:none;border-color:var(--teal);}
.urg-scenario-preview{padding:14px;background:var(--c1);border:1px solid var(--b1);border-radius:8px;}
.urg-scenario-preview-title{font-size:12px;font-weight:700;color:var(--t1);margin-bottom:10px;text-transform:uppercase;letter-spacing:.5px;}
.urg-scenario-preview-list{display:flex;flex-direction:column;gap:4px;}
.urg-danger-row{display:flex;align-items:center;gap:12px;padding:8px 12px;background:var(--c-elev);border-radius:5px;cursor:pointer;transition:all .12s;border:1px solid transparent;}
.urg-danger-row:hover{border-color:var(--teal);transform:translateX(2px);}
.urg-danger-name{font-weight:700;color:var(--t1);min-width:180px;font-size:12px;}
.urg-danger-meta{flex:1;font-size:10px;color:var(--t3);}
.urg-danger-meta b{color:var(--amber);font-family:'JetBrains Mono',monospace;}
.urg-danger-cta{font-size:10px;color:var(--teal);font-weight:600;letter-spacing:.4px;}
.urg-danger-foot{margin-top:10px;font-size:10px;color:var(--t3);font-style:italic;}
.urg-emp-picker{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:16px;padding:10px;background:var(--c1);border:1px solid var(--b1);border-radius:6px;max-height:120px;overflow-y:auto;}
.urg-emp-chip{background:var(--b1);border:1px solid var(--b2);color:var(--t2);padding:5px 10px;border-radius:5px;font-size:11px;cursor:pointer;line-height:1.3;text-align:center;transition:all .12s;}
.urg-emp-chip:hover{border-color:var(--teal);color:var(--t1);}
.urg-emp-chip.selected{background:rgba(34,211,197,.15);border-color:var(--teal);color:var(--teal);font-weight:700;}
.urg-sim-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;margin-bottom:16px;}
.urg-sim-card{padding:12px 14px;background:linear-gradient(180deg,var(--c-elev) 0%,var(--c1) 100%);border:1px solid var(--b1);border-radius:6px;border-top:3px solid var(--b2);}
.urg-sim-card.urg-sim-emp{border-top-color:var(--teal);}
.urg-sim-card.urg-sim-bad{border-top-color:var(--red);}
.urg-sim-card.urg-sim-warn{border-top-color:var(--amber);}
.urg-sim-card.urg-sim-ok{border-top-color:var(--green);}
.urg-sim-card-lbl{font-size:9px;text-transform:uppercase;color:var(--t3);letter-spacing:.5px;font-weight:600;margin-bottom:4px;}
.urg-sim-card-val{font-size:22px;font-weight:800;color:var(--t1);font-family:'JetBrains Mono',monospace;line-height:1.1;margin-bottom:4px;}
.urg-sim-emp .urg-sim-card-val{font-size:14px;font-family:inherit;}
.urg-sim-bad .urg-sim-card-val{color:var(--red);}
.urg-sim-warn .urg-sim-card-val{color:var(--amber);}
.urg-sim-card-sub{font-size:9.5px;color:var(--t3);}
.urg-sim-reco{padding:14px;background:linear-gradient(180deg,rgba(34,211,197,.06) 0%,transparent 100%);border:1px solid rgba(34,211,197,.3);border-radius:6px;margin-bottom:16px;}
.urg-sim-reco-title{font-size:12px;font-weight:700;color:var(--teal);margin-bottom:10px;}
.urg-sim-reco-list{display:flex;flex-direction:column;gap:5px;}
.urg-sim-reco-row{display:grid;grid-template-columns:24px 1fr 110px 120px;align-items:center;gap:10px;padding:7px 10px;background:rgba(0,0,0,.15);border-radius:4px;font-size:11px;}
.urg-sim-reco-rank{font-family:'JetBrains Mono',monospace;font-weight:700;color:var(--teal);text-align:center;}
.urg-sim-reco-task{font-weight:600;color:var(--t1);}
.urg-sim-reco-status{font-size:9.5px;font-weight:700;padding:2px 8px;border-radius:3px;text-align:center;}
.urg-sim-reco-status.sc-crit{background:rgba(239,90,90,.18);color:var(--red);}
.urg-sim-reco-status.sc-risk{background:rgba(245,180,84,.18);color:var(--amber);}
.urg-sim-reco-ready{font-size:10px;color:var(--t3);text-align:right;}
.urg-sim-detail-title{font-size:11px;font-weight:600;color:var(--t3);text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px;}
.urg-sim-tbl-wrap{overflow-x:auto;}
.urg-sim-tbl{width:100%;border-collapse:collapse;font-size:11px;background:var(--c1);}
.urg-sim-tbl th{background:var(--b3);color:var(--t1);text-align:left;padding:6px 10px;font-size:10px;text-transform:uppercase;letter-spacing:.4px;font-weight:700;border-bottom:1px solid var(--b1);}
.urg-sim-tbl th.num{text-align:right;}
.urg-sim-tbl td{padding:7px 10px;border-bottom:1px solid var(--b1);color:var(--t2);}
.urg-sim-tbl td.num{text-align:right;font-family:'JetBrains Mono',monospace;}
.urg-sim-tbl tr.urg-sim-dr{background:rgba(239,90,90,.05);}
.urg-sim-tbl tr:hover td{background:var(--b3);}
.urg-sim-pill{display:inline-block;font-size:9.5px;font-weight:700;padding:2px 7px;border-radius:3px;letter-spacing:.3px;}
.urg-sim-pill.p-crit{background:rgba(239,90,90,.18);color:var(--red);}
.urg-sim-pill.p-risk{background:rgba(245,180,84,.18);color:var(--amber);}
.urg-sim-pill.p-ok{background:rgba(61,208,127,.18);color:var(--green);}

/* PROFILE */
.prof-top{display:flex;align-items:center;gap:12px;margin-bottom:12px;flex-shrink:0}
.prof-sel{padding:9px 14px;background:var(--c1);border:1px solid var(--b1);border-radius:var(--r);color:var(--t1);font-size:13px;outline:none;min-width:240px;cursor:pointer;font-family:inherit;font-weight:500;transition:all 0.15s}
.prof-sel:hover{border-color:var(--b2)}
.prof-sel:focus{border-color:var(--teal);box-shadow:0 0 0 3px var(--tdim)}
.prof-sel option{background:var(--c1)}

.phdr{background:linear-gradient(180deg,var(--c-elev) 0%,var(--c1) 100%);border:1px solid var(--b1);border-radius:var(--r2);padding:16px 22px;display:flex;align-items:center;gap:28px;flex-wrap:wrap;flex-shrink:0;margin-bottom:12px;box-shadow:var(--sh-md);position:relative;overflow:hidden}
.phdr::after{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,0.08),transparent)}
.phdr-left{display:flex;flex-direction:column;gap:6px;flex:0 0 auto}
.pname{font-size:20px;font-weight:700;letter-spacing:-0.025em;display:flex;align-items:center;gap:10px}
.prof-pdf-btn{font-size:10px;font-weight:600;background:rgba(34,211,197,.15);color:var(--teal);border:1px solid var(--teal);border-radius:4px;padding:3px 8px;cursor:pointer;letter-spacing:.4px;text-transform:uppercase;}
.prof-pdf-btn:hover{background:var(--teal);color:#0a0d12;}
.pdf-options-menu{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background:var(--c-elev);border:1px solid var(--b2);border-radius:10px;padding:14px;box-shadow:0 12px 40px rgba(0,0,0,.5);z-index:1500;min-width:320px;}
.pdf-options-hdr{font-size:12px;font-weight:700;color:var(--t1);text-transform:uppercase;letter-spacing:.6px;margin-bottom:10px;text-align:center;}
.pdf-options-btn{display:flex;align-items:center;gap:12px;width:100%;padding:12px 14px;background:var(--c1);border:1px solid var(--b1);border-radius:6px;cursor:pointer;margin-bottom:6px;color:var(--t1);text-align:left;transition:all .15s;}
.pdf-options-btn:hover{border-color:var(--teal);background:rgba(34,211,197,.05);transform:translateX(2px);}
.pdf-options-icon{font-size:22px;line-height:1;}
.pdf-options-title{font-size:13px;font-weight:700;color:var(--t1);}
.pdf-options-sub{font-size:10px;color:var(--t3);margin-top:2px;}
.pdf-options-cancel{width:100%;padding:8px;background:transparent;border:1px solid var(--b1);border-radius:5px;color:var(--t3);cursor:pointer;margin-top:6px;font-size:11px;}
.pdf-options-cancel:hover{color:var(--t1);border-color:var(--b2);}
.pmeta{display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.pcert{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:2px}
.pclbl{font-size:9px;font-weight:700;color:var(--t3);text-transform:uppercase;letter-spacing:0.09em}
.pca{font-size:11px;color:var(--teal);text-decoration:none;font-weight:500}.pca:hover{text-decoration:underline}
.pspl{font-size:11px;color:var(--purple);font-weight:500}
.pkpis{display:flex;gap:26px;flex-wrap:wrap;flex:1;justify-content:flex-end}
.pk{text-align:center;position:relative;padding-left:26px}
.pk:not(:first-child)::before{content:'';position:absolute;left:0;top:50%;transform:translateY(-50%);height:28px;width:1px;background:var(--b1)}
.pk .v{font-size:22px;font-weight:700;line-height:1;letter-spacing:-0.045em}
.pk .l{font-size:9px;color:var(--t2);text-transform:uppercase;letter-spacing:0.1em;margin-top:5px;font-weight:700}

.prof-body{flex:1;display:grid;grid-template-rows:1fr 1fr;gap:12px;min-height:0;overflow:hidden}
.profile-tabs{display:flex;gap:6px;flex-wrap:wrap;margin:10px 0 12px;flex-shrink:0}
.profile-tab{height:34px;border:1px solid var(--b1);border-radius:var(--r);background:var(--c1);color:var(--t2);font:inherit;font-size:12px;font-weight:700;padding:0 12px;cursor:pointer}
.profile-tab:hover{color:var(--t1);background:var(--c2)}
.profile-tab.active{color:var(--teal);background:var(--tdim);border-color:var(--tbrd)}
.prof-body.tabbed{display:block;overflow:hidden}
.profile-panel{display:none;height:100%;min-height:0;overflow:auto}
.profile-panel.active{display:block}
.profile-panel .pcard-scroll{max-height:min(56vh,560px);overflow:auto;scrollbar-gutter:stable}
.prof-row{display:grid;gap:12px;min-height:0;overflow:hidden}
.prof-row-top,.prof-row-bot{grid-template-columns:1fr 1fr 1fr 1fr}

.pcard{background:var(--c1);border:1px solid var(--b1);border-radius:var(--r2);padding:14px 16px;display:flex;flex-direction:column;overflow:hidden;min-height:0;transition:border-color 0.15s,box-shadow 0.15s;box-shadow:var(--sh-sm)}
.pcard:hover{border-color:var(--b2);box-shadow:var(--sh-md)}
.pcard-title{font-size:10px;font-weight:700;color:var(--t2);text-transform:uppercase;letter-spacing:0.11em;margin-bottom:11px;flex-shrink:0;padding-bottom:10px;border-bottom:1px solid var(--b1);display:flex;align-items:center;gap:8px}
.pcard-title::before{content:'';width:3px;height:12px;background:var(--teal);border-radius:2px}
.pcard-scroll{overflow-y:auto;flex:1;min-height:0;margin:0 -4px;padding:0 4px}

.ski{display:flex;align-items:center;justify-content:space-between;padding:5px 0;border-bottom:1px solid var(--b1);font-size:12px}
.ski:last-child{border-bottom:none}
.skl{display:flex;align-items:center;gap:6px;flex:1;min-width:0}
.skn{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:12px;font-weight:500}
.st{font-size:8px;font-weight:700;padding:2px 5px;border-radius:3px;background:var(--gdim);color:var(--green);border:1px solid var(--gbrd);white-space:nowrap;flex-shrink:0;text-transform:uppercase;letter-spacing:0.06em}
.sks{font-weight:700;font-size:14px;min-width:18px;text-align:right;letter-spacing:-0.02em}
.sc0{color:var(--red)}.sc1{color:var(--amber)}.sc2{color:var(--green)}.sc3{color:var(--teal)}

.vki{display:flex;align-items:center;justify-content:space-between;padding:5px 0;border-bottom:1px solid var(--b1);font-size:12px;font-weight:500}
.vki:last-child{border-bottom:none}
.sopc{display:flex;flex-wrap:wrap;gap:3px;margin-top:8px}
.sc-y{padding:3px 6px;border-radius:4px;font-size:9px;font-weight:700;background:var(--gdim);color:var(--green);border:1px solid var(--gbrd);text-transform:uppercase;letter-spacing:0.05em}
.sc-n{padding:3px 6px;border-radius:4px;font-size:9px;font-weight:700;background:rgba(255,255,255,0.02);color:var(--t3);border:1px solid var(--b1);text-transform:uppercase;letter-spacing:0.05em}

/* DQC rows in profile */
.dqc-row{display:flex;align-items:flex-start;gap:9px;padding:6px 6px;border-bottom:1px solid var(--b1);cursor:pointer;border-radius:var(--r);transition:background 0.12s}
.dqc-row:last-child{border-bottom:none}
.dqc-row:hover{background:var(--c2)}
.dqc-date{color:var(--t2);min-width:82px;font-size:10px;flex-shrink:0;padding-top:1px;font-weight:500}
.dqc-body{flex:1;min-width:0}
.dqc-nok{font-size:11px;color:var(--red);line-height:1.4;margin-top:2px}
.dqc-ok-txt{font-size:11px;color:var(--green);margin-top:2px;font-weight:500}
.dqc-detail{display:none;margin-top:7px;padding:9px 11px;background:var(--bg);border-radius:var(--r);font-size:10px;line-height:1.8;border:1px solid var(--b1)}
.dqc-detail.open{display:block}
.dqc-detail-row{display:flex;gap:8px;margin-bottom:2px}
.dqc-detail-lbl{color:var(--t2);font-weight:600;min-width:90px;flex-shrink:0;font-size:9px;text-transform:uppercase;letter-spacing:0.05em}
.dqc-detail-val{color:var(--t1);flex:1;font-size:11px}

/* Scan/claims table */
.stbl{border-collapse:collapse;font-size:11px;white-space:nowrap;width:100%}
.stbl th{padding:6px 8px;text-align:center;color:var(--t2);font-size:9px;font-weight:600;text-transform:uppercase;letter-spacing:0.07em;border-bottom:1px solid var(--b1)}
.stbl th.rl{text-align:left;min-width:90px;position:sticky;left:0;z-index:3;background:var(--c1)}
.stbl td{padding:5px 8px;text-align:center;border-bottom:1px solid var(--b1);font-family:'JetBrains Mono',monospace;font-size:11px}
.stbl td.rl{text-align:left;color:var(--t2);font-weight:500;font-size:11px;font-family:'Inter',sans-serif;position:sticky;left:0;z-index:2;background:var(--c1)}
.stbl tr.dv td{border-top:1px solid var(--b2)}
.clm{display:flex;align-items:center;gap:8px;padding:5px 0;border-bottom:1px solid var(--b1);font-size:11px}
.clm:last-child{border-bottom:none}
.cd{color:var(--t2);min-width:74px;font-size:10px;font-weight:500}
.ct{font-weight:700;font-size:10px;letter-spacing:0.04em}
.cc{color:var(--t3);font-size:10px;margin-left:auto}

/* DQC TAB */
.dqc-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:12px;flex-shrink:0}
.dqc-layout{display:grid;grid-template-columns:1fr 1fr;gap:10px;flex:1;min-height:0;overflow:hidden}
.dqc-panel{background:var(--c1);border:1px solid var(--b1);border-radius:var(--r2);padding:14px 16px;display:flex;flex-direction:column;overflow:hidden;min-height:0;box-shadow:var(--sh-sm);transition:border-color 0.15s}
.dqc-panel:hover{border-color:var(--b2)}
.dqc-panel.full{grid-column:1/-1;overflow:auto}
.dqc-panel-title{font-size:10px;font-weight:600;color:var(--teal);text-transform:uppercase;letter-spacing:0.1em;margin-bottom:11px;flex-shrink:0;padding-bottom:9px;border-bottom:1px solid var(--b1);display:flex;align-items:center;gap:6px}
.dqc-panel-title::before{content:'';width:3px;height:11px;background:var(--teal);border-radius:2px}
.dqc-scroll{overflow-y:auto;flex:1;min-height:0}
.err-row{display:flex;align-items:center;gap:10px;margin-bottom:8px}
.err-label{font-size:11px;min-width:160px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:500}
.err-bar-wrap{flex:1;height:6px;background:var(--c3);border-radius:99px;overflow:hidden}
.err-bar-fill{height:100%;border-radius:99px;background:linear-gradient(90deg,var(--red),#ff7575);transition:width 0.4s}
.err-pct{font-size:11px;font-weight:700;color:var(--red);min-width:36px;text-align:right;font-family:'JetBrains Mono',monospace}
.emp-dqc-row{display:flex;align-items:center;gap:9px;padding:5px 0;border-bottom:1px solid var(--b1);font-size:11px}
.emp-dqc-row:last-child{border-bottom:none}
.emp-dqc-name{flex:1;font-weight:500}
.emp-dqc-bar{width:70px;height:5px;background:var(--c3);border-radius:99px;overflow:hidden}
.emp-dqc-fill{height:100%;border-radius:99px;transition:width 0.4s}
.mtbl{border-collapse:collapse;width:100%;font-size:11px}
.mtbl th{padding:8px 10px;text-align:center;color:var(--t2);font-size:9px;font-weight:600;text-transform:uppercase;letter-spacing:0.07em;border-bottom:1px solid var(--b1)}
.mtbl th.rl{text-align:left;min-width:75px}
.mtbl td{padding:6px 10px;text-align:center;border-bottom:1px solid var(--b1);font-size:11px;font-family:'JetBrains Mono',monospace}
.mtbl td.rl{text-align:left;font-weight:600;font-family:'Inter',sans-serif}
.mtbl tr.tot td{border-top:2px solid var(--b2);font-weight:700}
.mtbl tr:hover td{background:var(--c2)}

/* RANKINGS */
.rcontrols{display:flex;gap:10px;margin-bottom:12px;align-items:center;flex-wrap:wrap;flex-shrink:0}
.rl{font-size:10px;color:var(--t2);font-weight:600;text-transform:uppercase;letter-spacing:0.08em}
.rsel{padding:7px 12px;background:var(--c1);border:1px solid var(--b1);border-radius:var(--r);color:var(--t1);font-size:12px;outline:none;cursor:pointer;font-family:inherit;font-weight:500;transition:all 0.15s}
.rsel:hover{border-color:var(--b2)}
.rsel:focus{border-color:var(--teal);box-shadow:0 0 0 3px var(--tdim)}
.rsel option{background:var(--c1)}
.rlist{display:flex;flex-direction:column;gap:8px;overflow-y:auto;flex:1;min-height:0;padding-bottom:4px}
.rcard{display:flex;align-items:center;gap:18px;background:var(--c1);border:1px solid var(--b1);border-radius:var(--r2);padding:14px 20px;cursor:pointer;transition:all 0.15s;box-shadow:var(--sh-sm);position:relative;overflow:hidden;min-height:64px}
.rcard::before{content:'';position:absolute;left:0;top:0;bottom:0;width:3px;background:transparent;transition:background 0.15s}
.rcard:hover{border-color:var(--b2);background:var(--c2);transform:translateX(2px)}
.rcard:hover::before{background:var(--teal)}
.rpos{font-size:18px;font-weight:700;color:var(--t3);min-width:34px;text-align:center;letter-spacing:-0.03em}
.gold{color:#ffd700!important;text-shadow:0 0 12px rgba(255,215,0,0.4)}
.silver{color:#c0c8d0!important;text-shadow:0 0 10px rgba(192,200,208,0.3)}
.bronze{color:#cd7f32!important;text-shadow:0 0 10px rgba(205,127,50,0.3)}
.rinfo{flex:1;min-width:0;display:flex;flex-direction:column;gap:5px}
.rname{font-size:14px;font-weight:600;display:flex;align-items:center;gap:8px;flex-wrap:wrap;letter-spacing:-0.005em;line-height:1.2}
.rdtl{font-size:11px;color:var(--t2);line-height:1.4}
.rbar{height:3px;background:var(--c3);border-radius:99px;overflow:hidden;margin-top:2px}
.rbar-fill{height:100%;border-radius:99px;background:linear-gradient(90deg,var(--teal-soft),var(--teal));transition:width 0.4s}
.rval{font-size:22px;font-weight:700;letter-spacing:-0.04em;min-width:60px;text-align:right}

/* MATRIX */
.mx-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:11px;flex-shrink:0;gap:10px;flex-wrap:wrap}
.mx-filters{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.mxl{font-size:10px;color:var(--t2);font-weight:600;text-transform:uppercase;letter-spacing:0.08em}
.mxi,.mxs{padding:6px 10px;background:var(--c1);border:1px solid var(--b1);border-radius:var(--r);color:var(--t1);font-size:12px;outline:none;font-family:inherit;transition:all 0.15s}
.mxi:focus,.mxs:focus{border-color:var(--teal);box-shadow:0 0 0 3px var(--tdim)}
.mxi::placeholder{color:var(--t3)}
.mxs option{background:var(--c1)}
.mx-wrap{flex:1;border-radius:var(--r2);overflow:auto;background:var(--c1);border:1px solid var(--b1);min-height:0;box-shadow:var(--sh-sm)}
.mxt{border-collapse:collapse;white-space:nowrap;font-size:11px}
.mxt thead{position:sticky;top:0;z-index:10}
.mxt th{background:#0c1117;color:var(--t2);padding:9px 5px;text-align:center;font-size:9px;font-weight:600;text-transform:uppercase;letter-spacing:0.07em;border-bottom:1px solid var(--b1)}
.mxt th.mn{text-align:left;padding-left:14px;min-width:150px;position:sticky;left:0;z-index:20;background:#0c1117}
.mxt td{padding:3px 4px;text-align:center;border-bottom:1px solid var(--b1)}
.mxt td.mn{text-align:left;padding-left:14px;font-size:12px;font-weight:500;position:sticky;left:0;background:var(--c1);z-index:5;border-right:1px solid var(--b1)}
.mxt tr:hover td{background:var(--c2)}.mxt tr:hover td.mn{background:#13191f}
.mxt td.msp{min-width:100px;padding:3px 4px}.mxt td.mcr{min-width:130px;padding:3px 4px}
.meta-row td{border-top:2px solid var(--b2);padding:6px 4px}
.meta-row.req-row{background:rgba(34,211,197,0.04)}.meta-row.imp-row{background:rgba(90,163,255,0.04)}
.sb{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:5px;font-weight:700;font-size:11px;transition:all 0.12s;user-select:none;font-family:'JetBrains Mono',monospace;position:relative}
.cell-st{position:absolute;right:1px;top:1px;width:7px;height:7px;border-radius:50%;background:var(--t3);box-shadow:0 0 0 1px var(--card)}
.cell-st.lock{border-radius:2px;background:var(--red)}
.cell-st.alert,.cell-st.clock-red{background:var(--red)}
.cell-st.clock,.cell-st.flag{background:var(--amber)}
.cell-st.dot{background:var(--blue)}
.cell-st.check{background:var(--green)}
.evbox{display:grid;gap:8px;min-width:280px;max-width:330px;font-size:12px;text-align:left;color:var(--t1)}
.evbox hr{width:100%;border:0;border-top:1px solid var(--b1);margin:0}
.mini-act{margin-left:6px;border:1px solid var(--b1);background:var(--c2);color:var(--teal);border-radius:5px;padding:3px 6px;font-size:10px;font-weight:800;cursor:pointer}
.mini-act.warn{color:var(--amber)}
.sb.ed{cursor:pointer}.sb.ed:hover{transform:scale(1.18);box-shadow:0 0 0 2px var(--tbrd)}
.sb0{background:rgba(239,90,90,0.18);color:#ff8585;border:1px solid var(--rbrd)}
.sb1{background:rgba(245,180,84,0.18);color:#ffc471;border:1px solid var(--abrd)}
.sb2{background:rgba(61,208,127,0.16);color:#5fdf95;border:1px solid var(--gbrd)}
.sb3{background:rgba(34,211,197,0.18);color:var(--teal);border:1px solid var(--tbrd)}
.ef{font-size:11px;background:var(--c3);border:1px solid var(--b1);border-radius:var(--r);padding:5px 7px;color:var(--t1);outline:none;width:100%;transition:all 0.15s;font-family:inherit}
.ef:focus{border-color:var(--teal);box-shadow:0 0 0 2px var(--tdim)}
.ef::placeholder{color:var(--t3)}
.ef-num{width:44px;text-align:center;font-family:'JetBrains Mono',monospace;font-weight:600}
.ef-auto{background:var(--c1);color:var(--t3);cursor:not-allowed;border-style:dashed}
.tgl{position:relative;width:30px;height:17px;cursor:pointer;display:inline-block}
.tgl input{opacity:0;width:0;height:0;position:absolute}
.tgl-t{position:absolute;inset:0;background:var(--c3);border-radius:99px;transition:background 0.2s;border:1px solid var(--b1)}
.tgl input:checked+.tgl-t{background:var(--teal-soft);border-color:var(--tbrd)}
.tgl-th{position:absolute;top:2px;left:2px;width:11px;height:11px;background:white;border-radius:50%;transition:transform 0.18s;pointer-events:none;box-shadow:0 1px 2px rgba(0,0,0,0.4)}
.tgl input:checked~.tgl-th{transform:translateX(13px)}

/* SCORE POPUP */
.spopup{position:fixed;background:var(--c-elev);border:1px solid var(--b2);border-radius:var(--r2);padding:14px;z-index:600;display:none;min-width:200px;box-shadow:var(--sh-lg)}
.spop-lbl{font-size:10px;color:var(--t2);text-transform:uppercase;letter-spacing:0.09em;font-weight:600;margin-bottom:10px}
.spop-opts{display:flex;gap:7px;justify-content:center;margin-bottom:9px}
.spop-opt{width:32px;height:32px;border-radius:var(--r);border:2px solid transparent;font-weight:700;font-size:14px;cursor:pointer;transition:all 0.12s;display:flex;align-items:center;justify-content:center;font-family:'JetBrains Mono',monospace}
.spop-opt:hover{transform:scale(1.12)}.spop-opt.sel{border-color:white!important;transform:scale(1.12);box-shadow:0 0 0 3px rgba(255,255,255,0.1)}
.spop-cancel{width:100%;padding:5px;background:var(--c1);border:1px solid var(--b1);border-radius:var(--r);color:var(--t2);font-size:11px;cursor:pointer;font-family:inherit;font-weight:500;transition:all 0.15s}
.spop-cancel:hover{color:var(--t1);border-color:var(--b2)}

/* SAVE BAR */
.savebar{position:fixed;bottom:18px;left:50%;transform:translateX(-50%);background:var(--c-elev);border:1px solid var(--tbrd);padding:10px 16px;border-radius:99px;box-shadow:var(--sh-lg);display:none;align-items:center;gap:14px;font-size:12px;z-index:400;backdrop-filter:blur(20px)}
.savebar.on{display:flex;animation:slideUp 0.25s ease}
@keyframes slideUp{from{opacity:0;transform:translate(-50%,8px)}to{opacity:1;transform:translate(-50%,0)}}
.save-ok{padding:6px 14px;background:var(--teal);border:none;border-radius:99px;color:#0a0d12;font-weight:700;font-size:11px;cursor:pointer;font-family:inherit;letter-spacing:-0.005em;transition:all 0.15s}
.save-ok:hover{background:#3de1d3;box-shadow:0 0 16px var(--tglow)}
.save-dis{background:none;border:none;color:var(--t2);font-size:11px;cursor:pointer;font-family:inherit;font-weight:500}
.save-dis:hover{color:var(--t1)}

/* TOAST */
.toast{position:fixed;top:68px;right:20px;background:var(--c-elev);border:1px solid var(--b1);color:var(--t1);padding:10px 16px;border-radius:var(--r);font-size:12px;display:none;z-index:999;box-shadow:var(--sh-lg);font-weight:500;backdrop-filter:blur(20px);animation:slideIn 0.3s}
@keyframes slideIn{from{opacity:0;transform:translateX(20px)}to{opacity:1;transform:none}}
.toast.ok{border-color:var(--gbrd);display:block;border-left:3px solid var(--green)}
.toast.err{border-color:var(--rbrd);display:block;border-left:3px solid var(--red)}

/* LOADING */
.loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px;gap:12px;color:var(--t2);font-size:13px;width:100%;height:100%;font-weight:500}
.spin{width:24px;height:24px;border:2px solid var(--b1);border-top-color:var(--teal);border-radius:50%;animation:spin 0.8s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}

/* PLANNING */
.plan-layout{display:grid;grid-template-columns:320px 1fr;gap:14px;flex:1;min-height:0;overflow:hidden}
.plan-sidebar{display:flex;flex-direction:column;gap:12px;overflow-y:auto;padding-right:2px}
.plan-section{background:var(--c1);border:1px solid var(--b1);border-radius:var(--r2);padding:16px;box-shadow:var(--sh-sm)}
.plan-section-title{font-size:10px;font-weight:700;color:var(--t2);text-transform:uppercase;letter-spacing:0.11em;margin-bottom:11px;display:flex;align-items:center;gap:8px}
.plan-section-title::before{content:'';width:3px;height:12px;background:var(--teal);border-radius:2px}
.plan-date{width:100%;padding:9px 12px;background:var(--c3);border:1px solid var(--b1);border-radius:var(--r);color:var(--t1);font-size:13px;outline:none;font-family:inherit;transition:all 0.15s}
.plan-date:focus{border-color:var(--teal);box-shadow:0 0 0 3px var(--tdim)}
.emp-checkbox{display:flex;align-items:center;gap:9px;padding:6px 0;border-bottom:1px solid var(--b1);font-size:13px;cursor:pointer;transition:color 0.12s}
.emp-checkbox:last-child{border-bottom:none}
.emp-checkbox:hover{color:var(--teal)}
.emp-checkbox input{cursor:pointer;accent-color:var(--teal);width:14px;height:14px}
.emp-slot{font-size:9px;color:var(--t3);margin-left:auto;font-weight:700;text-transform:uppercase;letter-spacing:0.07em}
.plan-main{display:flex;flex-direction:column;gap:12px;overflow-y:auto}
.plan-result-card{background:var(--c1);border:1px solid var(--b1);border-radius:var(--r2);padding:16px 18px;box-shadow:var(--sh-sm)}
.plan-result-title{font-size:10px;font-weight:700;color:var(--t2);text-transform:uppercase;letter-spacing:0.11em;margin-bottom:12px;display:flex;align-items:center;gap:8px}
.plan-result-title::before{content:'';width:3px;height:12px;background:var(--teal);border-radius:2px}
.plan-tbl{border-collapse:collapse;width:100%;font-size:13px}
.plan-tbl th{padding:8px 12px;text-align:left;color:var(--t2);font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:0.09em;border-bottom:1px solid var(--b1)}
.plan-tbl td{padding:9px 12px;border-bottom:1px solid var(--b1)}
.plan-tbl tr:hover td{background:var(--c2)}
.task-badge{display:inline-block;padding:4px 10px;border-radius:99px;font-size:10px;font-weight:700;background:var(--tdim);color:var(--teal);border:1px solid var(--tbrd);text-transform:uppercase;letter-spacing:0.06em}
.task-badge.none{background:rgba(255,255,255,0.02);color:var(--t3);border-color:var(--b1)}
.warn-row td{color:var(--amber);font-size:12px;padding:6px 12px;background:rgba(245,180,84,0.06)}
.plan-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:var(--t2);font-size:13px;gap:12px;background:var(--c1);border:1px dashed var(--b2);border-radius:var(--r2);min-height:300px}
.plan-empty-icon{width:56px;height:56px;border-radius:50%;background:var(--c2);display:flex;align-items:center;justify-content:center;font-size:22px;border:1px solid var(--b1);box-shadow:var(--sh-sm)}
.select-all-btn{font-size:10px;color:var(--teal);cursor:pointer;background:none;border:none;padding:0;margin-bottom:8px;font-weight:700;text-transform:uppercase;letter-spacing:0.08em;font-family:inherit}
.select-all-btn:hover{text-decoration:underline}
.ph{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;flex-wrap:wrap;gap:12px;flex-shrink:0}
.ph h1{font-size:20px;font-weight:700;letter-spacing:-0.025em}
.ph p{font-size:13px;color:var(--t2);margin-top:4px;font-weight:500}

/* Scrollbars */
*::-webkit-scrollbar{width:8px;height:8px}
*::-webkit-scrollbar-track{background:transparent}
*::-webkit-scrollbar-thumb{background:var(--c3);border-radius:99px;border:2px solid transparent;background-clip:padding-box}
*::-webkit-scrollbar-thumb:hover{background:var(--b-strong);background-clip:padding-box;border:2px solid transparent}

/* LIGHT THEME — warm stone/linen, high contrast for readability */
body.light{
  --bg:#edeae4;
  --c1:#f5f2ec;
  --c2:#ede9e1;
  --c3:#ddd9d0;
  --c-elev:#f8f5f0;
  --b1:rgba(60,50,30,0.10);
  --b2:rgba(60,50,30,0.18);
  --b-strong:rgba(60,50,30,0.28);
  --t1:#1a1612;
  --t2:#4a4035;
  --t3:#857a6e;
  --t4:#b5ab9f;
  --teal:#087a72;
  --teal-soft:#076b64;
  --tdim:rgba(8,122,114,0.09);
  --tbrd:rgba(8,122,114,0.30);
  --tglow:rgba(8,122,114,0.30);
  --blue:#1d6abf;--bdim:rgba(29,106,191,0.09);--bbrd:rgba(29,106,191,0.28);
  --green:#1a7a40;--gdim:rgba(26,122,64,0.09);--gbrd:rgba(26,122,64,0.28);
  --amber:#a05f00;--adim:rgba(160,95,0,0.09);--abrd:rgba(160,95,0,0.28);
  --red:#b02222;--rdim:rgba(176,34,34,0.09);--rbrd:rgba(176,34,34,0.28);
  --purple:#6040a8;
}
body.light{background:var(--bg);color:var(--t1)}
body.light .topbar{background:rgba(237,234,228,0.94);border-bottom-color:var(--b2)}
body.light .nav{background:var(--bg);border-bottom-color:var(--b2)}
body.light .ovt td.nc,body.light .mxt td.mn{background:var(--c1)}
body.light .ovt th,body.light .mxt th{background:#d8d4cc;color:var(--t2)}
body.light .ovt th.nc,body.light .mxt th.mn{background:#d8d4cc}
body.light .s0{background:rgba(176,34,34,0.13);color:#8a1818}
body.light .s1{background:rgba(160,95,0,0.13);color:#7a4800}
body.light .s2{background:rgba(26,122,64,0.12);color:#145a30}
body.light .s3{background:rgba(8,122,114,0.12);color:#065c56}
body.light .sb0{background:rgba(176,34,34,0.13);color:#8a1818;border-color:rgba(176,34,34,0.35)}
body.light .sb1{background:rgba(160,95,0,0.13);color:#7a4800;border-color:rgba(160,95,0,0.35)}
body.light .sb2{background:rgba(26,122,64,0.12);color:#145a30;border-color:rgba(26,122,64,0.32)}
body.light .sb3{background:rgba(8,122,114,0.12);color:#065c56;border-color:rgba(8,122,114,0.32)}
body.light .ld0{background:rgba(176,34,34,0.13);color:#8a1818;border-color:rgba(176,34,34,0.35)}
body.light .ld1{background:rgba(160,95,0,0.13);color:#7a4800;border-color:rgba(160,95,0,0.35)}
body.light .ld2{background:rgba(26,122,64,0.12);color:#145a30;border-color:rgba(26,122,64,0.32)}
body.light .ld3{background:rgba(8,122,114,0.12);color:#065c56;border-color:rgba(8,122,114,0.32)}
body.light .sync-area{background:var(--c1)}
body.light .kpi{box-shadow:0 1px 3px rgba(60,50,30,0.12)}
body.light .rcard,.body.light .pcard,.body.light .uc{background:var(--c1)}
body.light .spopup{background:var(--c-elev)}
body.light .mi,.body.light .ef{background:var(--c3);color:var(--t1)}

/* Theme toggle button */
.topbar-right{display:flex;align-items:center;gap:8px;margin-left:auto}
.theme-btn{display:flex;align-items:center;gap:6px;padding:5px 10px;border-radius:var(--r);background:var(--c1);border:1px solid var(--b1);color:var(--t2);font-size:11px;font-weight:600;cursor:pointer;transition:all 0.15s;font-family:inherit}
.theme-btn:hover{border-color:var(--b2);color:var(--t1)}

/* RANKINGS redesign */
.rank-page{display:flex;flex-direction:column;gap:16px;overflow-y:auto;flex:1;min-height:0;padding-bottom:8px}
.rank-section-title{font-size:11px;font-weight:700;color:var(--t2);text-transform:uppercase;letter-spacing:0.1em;margin-bottom:10px;display:flex;align-items:center;gap:8px}
.rank-section-title::before{content:'';width:3px;height:12px;background:var(--teal);border-radius:2px;flex-shrink:0}

/* Tier columns */
.rank-tiers{display:grid;grid-template-columns:1fr 1fr;gap:14px;flex-shrink:0}
.rank-col{background:var(--c1);border:1px solid var(--b1);border-radius:var(--r2);padding:18px;box-shadow:var(--sh-sm)}
.rank-col-hdr{display:flex;align-items:center;gap:10px;margin-bottom:14px;padding-bottom:12px;border-bottom:1px solid var(--b1)}
.rank-col-hdr-icon{width:8px;height:8px;border-radius:50%;flex-shrink:0}
.rank-col.stars .rank-col-hdr-icon{background:var(--teal);box-shadow:0 0 10px var(--tglow)}
.rank-col.attention .rank-col-hdr-icon{background:var(--red);box-shadow:0 0 10px rgba(239,90,90,0.5)}
.rank-col-hdr-text{font-size:13px;font-weight:700;letter-spacing:-0.01em}
.rank-col-hdr-sub{font-size:11px;color:var(--t2);font-weight:500;margin-top:2px}
.rank-col-hdr-count{margin-left:auto;font-size:11px;font-weight:700;padding:2px 8px;border-radius:99px}
.rank-col.stars .rank-col-hdr-count{background:var(--tdim);color:var(--teal)}
.rank-col.attention .rank-col-hdr-count{background:var(--rdim);color:var(--red)}

/* Employee cards inside tier columns */
.emp-card{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:var(--r2);transition:all 0.12s;cursor:pointer;border:1px solid var(--b1);background:var(--c2)}
.emp-card:hover{background:var(--c1);border-color:var(--b2);transform:translateX(2px)}
.emp-card-avatar{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:800;flex-shrink:0;letter-spacing:-0.5px}
.tier-star .emp-card-avatar{background:var(--tdim);color:var(--teal);border:1.5px solid var(--tbrd)}
.tier-solid .emp-card-avatar{background:var(--gdim);color:var(--green);border:1.5px solid var(--gbrd)}
.tier-developing .emp-card-avatar{background:var(--adim);color:var(--amber);border:1.5px solid var(--abrd)}
.tier-attention .emp-card-avatar{background:var(--rdim);color:var(--red);border:1.5px solid var(--rbrd)}
.emp-card-body{flex:1;min-width:0}
.emp-card-name{font-size:12px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:flex;align-items:center;gap:6px}
.emp-card-stats{font-size:10px;color:var(--t2);margin-top:2px;display:flex;gap:10px;flex-wrap:wrap}
.emp-card-stat{display:flex;align-items:center;gap:3px}
.emp-card-bar{height:3px;background:var(--c3);border-radius:99px;overflow:hidden;margin-top:4px}
.emp-card-bar-fill{height:100%;border-radius:99px}
.tier-star .emp-card-bar-fill{background:var(--teal)}
.tier-solid .emp-card-bar-fill{background:var(--green)}
.tier-developing .emp-card-bar-fill{background:var(--amber)}
.tier-attention .emp-card-bar-fill{background:var(--red)}
/* Tier badges — cleaner without emoji */
.tier-badge{font-size:9px;font-weight:700;padding:2px 8px;border-radius:99px;text-transform:uppercase;letter-spacing:0.07em;white-space:nowrap;display:inline-flex;align-items:center;gap:5px}
.tier-badge::before{content:'';width:5px;height:5px;border-radius:50%;background:currentColor}
.tier-badge-star{background:var(--tdim);color:var(--teal);border:1px solid var(--tbrd)}
.tier-badge-solid{background:var(--gdim);color:var(--green);border:1px solid var(--gbrd)}
.tier-badge-developing{background:var(--adim);color:var(--amber);border:1px solid var(--abrd)}
.tier-badge-attention{background:var(--rdim);color:var(--red);border:1px solid var(--rbrd)}

/* Category leader cards */
.rank-leaders{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}
.leader-card{background:var(--c1);border:1px solid var(--b1);border-radius:var(--r2);padding:18px;box-shadow:var(--sh-sm);transition:all 0.15s}
.leader-card:hover{border-color:var(--b2);transform:translateY(-1px);box-shadow:var(--sh-md)}
.leader-card-hdr{display:flex;align-items:center;gap:10px;margin-bottom:14px;padding-bottom:12px;border-bottom:1px solid var(--b1)}
.leader-card-icon{width:32px;height:32px;border-radius:8px;display:flex;align-items:center;justify-content:center;background:var(--tdim);border:1px solid var(--tbrd);color:var(--teal);flex-shrink:0}
.leader-card-icon svg{width:16px;height:16px}
.leader-card.cat-prod .leader-card-icon{background:rgba(90,163,255,0.10);border-color:var(--bbrd);color:var(--blue)}
.leader-card.cat-qual .leader-card-icon{background:var(--gdim);border-color:var(--gbrd);color:var(--green)}
.leader-card.cat-vol .leader-card-icon{background:var(--tdim);border-color:var(--tbrd);color:var(--teal)}
.leader-card.cat-warn .leader-card-icon{background:var(--rdim);border-color:var(--rbrd);color:var(--red)}
.leader-card.cat-cov .leader-card-icon{background:var(--tdim);border-color:var(--tbrd);color:var(--teal)}
.leader-card.cat-sop .leader-card-icon{background:rgba(178,156,245,0.10);border-color:rgba(178,156,245,0.28);color:var(--purple)}
.leader-card.cat-dqcq .leader-card-icon{background:var(--gdim);border-color:var(--gbrd);color:var(--green)}
.leader-card.cat-dqcv .leader-card-icon{background:rgba(245,180,84,0.10);border-color:var(--abrd);color:var(--amber)}
.leader-card-title{font-size:13px;font-weight:700;color:var(--t1);letter-spacing:-0.01em;line-height:1.2}
.leader-card-sub{font-size:10px;color:var(--t2);margin-top:3px;font-weight:500;letter-spacing:0.01em}
.leader-podium{display:flex;flex-direction:column;gap:6px}
.leader-row{display:flex;align-items:center;gap:10px;padding:7px 10px;border-radius:var(--r);transition:background 0.12s}
.leader-row:nth-child(1){background:rgba(255,215,0,0.05);border:1px solid rgba(255,215,0,0.18)}
.leader-row:nth-child(2){background:rgba(192,200,208,0.04);border:1px solid rgba(192,200,208,0.12)}
.leader-row:nth-child(3){background:rgba(205,127,50,0.04);border:1px solid rgba(205,127,50,0.12)}
.leader-row:nth-child(n+4){background:transparent;border:1px solid var(--b1)}
.leader-pos{font-size:12px;font-weight:800;min-width:18px;text-align:center;font-family:'JetBrains Mono',monospace;letter-spacing:-0.02em}
.leader-row:nth-child(1) .leader-pos{color:#c8a800}
.leader-row:nth-child(2) .leader-pos{color:#8a9399}
.leader-row:nth-child(3) .leader-pos{color:#9a6230}
.leader-name{font-size:12px;font-weight:600;flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.leader-val{font-size:12px;font-weight:700;font-family:'JetBrains Mono',monospace;white-space:nowrap;letter-spacing:-0.01em}
.leader-loading{font-size:11px;color:var(--t3);padding:8px 0;text-align:center}
.rank-explain{font-size:11px;color:var(--t2);background:var(--c1);border:1px solid var(--b1);border-radius:var(--r2);padding:14px 18px;display:flex;gap:18px;flex-wrap:wrap;flex-shrink:0;align-items:center}
.rank-explain-item{display:flex;align-items:center;gap:8px;line-height:1.4}


/* Tier tabs */
.tier-section{background:var(--c1);border:1px solid var(--b1);border-radius:var(--r2);padding:18px 20px;box-shadow:var(--sh-sm)}
.tier-tabs{display:flex;gap:8px;margin-bottom:18px;flex-wrap:wrap}
.tier-tab{display:flex;align-items:center;gap:10px;padding:10px 18px;border-radius:var(--r);border:1px solid var(--b1);background:var(--c2);color:var(--t2);font-size:12px;font-weight:600;cursor:pointer;transition:all 0.15s;font-family:inherit}
.tier-tab:hover{border-color:var(--b2);color:var(--t1)}
.tier-tab.active{background:var(--tdim);border-color:var(--tbrd);color:var(--teal)}
.tier-tab-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}
.tier-tab-dot.dot-star{background:var(--teal);box-shadow:0 0 8px var(--tglow)}
.tier-tab-dot.dot-solid{background:var(--green)}
.tier-tab-dot.dot-developing{background:var(--amber)}
.tier-tab-dot.dot-attention{background:var(--red);box-shadow:0 0 8px rgba(239,90,90,0.5)}
.tier-tab-count{font-size:11px;font-weight:800;padding:2px 8px;border-radius:99px;background:var(--c3);color:var(--t2);font-family:'JetBrains Mono',monospace;min-width:24px;text-align:center}
.tier-tab.active .tier-tab-count{background:rgba(34,211,197,0.15);color:var(--teal)}
.tier-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:10px}
/* Bigger leader-row for top 5 */
.leader-row{padding:5px 8px}


/* Period filter pills */
.period-pills{display:flex;gap:4px;align-items:center}
.period-pill{padding:3px 9px;border-radius:99px;font-size:10px;font-weight:700;cursor:pointer;border:1px solid var(--b1);background:var(--c2);color:var(--t2);transition:all 0.12s;font-family:inherit;letter-spacing:0.02em}
.period-pill:hover{border-color:var(--b2);color:var(--t1)}
.period-pill.active{background:var(--tdim);border-color:var(--tbrd);color:var(--teal)}
