/* The whole app is drawn a step larger: the team found 100% looked zoomed out.
   One zoom scales the px-sized legacy CSS and the rem-sized Tailwind alike;
   full-height boxes divide by it so they still fit the window. */
:root{--zoom:1.125}
html{zoom:var(--zoom)}
/* Near-black, neutral greys, one accent (the logo's steel blue): the same
   values as tailwind.config.js. The old names stay because the hidden
   legacy pages use them. */
:root{--navy:#0a0a0a;--navy-mid:#111111;--navy-light:#1a1a1a;--gold:#6b93c9;--gold-light:#9dbbe3;--white:#ededed;--muted:#a1a1a1;--border:rgba(255,255,255,0.1);--bs:rgba(255,255,255,0.07);--sel:rgba(255,255,255,0.08);--green:#4caf82;--red:#e05555;--amber:#e09830;--r:8px;--rl:12px}
/* Light mode (the sidebar switch; tailwind.config.js has the React side). */
:root[data-theme="light"]{--navy:#fafafa;--navy-mid:#ffffff;--navy-light:#f4f4f5;--gold:#3d6aa8;--gold-light:#2f5891;--white:#171717;--muted:#737373;--border:rgba(0,0,0,0.1);--bs:rgba(0,0,0,0.06);--sel:rgba(0,0,0,0.06);--green:#15803d;--red:#b91c1c;--amber:#b45309}
*{box-sizing:border-box;margin:0;padding:0}
body{font-family:Geist,system-ui,sans-serif;-webkit-font-smoothing:antialiased;background:var(--navy);color:var(--white);min-height:calc(100vh / var(--zoom));font-size:14px;line-height:1.6}
.app{display:flex;flex-direction:column;min-height:calc(100vh / var(--zoom))}
.hdr{border-bottom:1px solid var(--border);padding:16px 28px;display:flex;align-items:center;justify-content:space-between;background:var(--navy-mid)}
.lm{display:flex;align-items:center;gap:12px}
.lmark{width:30px;height:30px;flex-shrink:0;color:var(--white)}
.lmark .needle{fill:var(--gold)}
.lmark .hub{fill:var(--navy)}
/* The theme switch's icon shows the current mode: moon in dark, sun in light. */
.theme-sun{display:none}
:root[data-theme="light"] .theme-sun{display:block}
:root[data-theme="light"] .theme-moon{display:none}
.ltxt{font-size:15px;font-weight:600;letter-spacing:-.01em;color:var(--white)}
.ltxt span{color:var(--gold)}
.lsub{font-size:11px;color:var(--muted)}
.ak{display:flex;align-items:center;gap:10px}
.aklbl{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}
.aki{font-family:"Geist Mono",ui-monospace,monospace;font-size:12px;background:var(--navy);border:1px solid var(--border);border-radius:var(--r);padding:6px 12px;color:var(--muted);width:220px}
.aki:focus{outline:none;border-color:var(--gold);color:var(--white)}
.dot{width:8px;height:8px;border-radius:50%;background:var(--muted)}
.dot.ok{background:var(--green)}
.main{display:flex;flex:1}
.sb{width:232px;flex-shrink:0;border-right:1px solid var(--border);padding:18px 0 0;background:var(--navy);position:sticky;top:0;height:calc(100vh / var(--zoom));display:flex;flex-direction:column;overflow-y:auto}
.sb .lsub{white-space:nowrap}
.sb .lm{padding:0 16px 18px;margin-bottom:6px;border-bottom:1px solid var(--bs)}
.sb-foot{margin-top:auto;border-top:1px solid var(--bs)}
.sb-sync{font-size:11px;padding:8px 16px 0;line-height:1.4}
.sb-sync:empty{display:none}
.sb-user{display:flex;align-items:center;gap:10px;padding:12px 16px}
.sb-av{width:32px;height:32px;border-radius:50%;background:var(--gold);color:#fff;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:600;flex-shrink:0}
.sb-who{min-width:0;flex:1}
.sb-name{font-size:13px;font-weight:600;color:var(--white);line-height:1.3}
.sb-email{font-size:11px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sb-out{background:none;border:0;color:var(--muted);cursor:pointer;padding:4px;border-radius:6px;display:flex}
.sb-out:hover{color:var(--gold);background:var(--bs)}
.nl{font-size:11px;color:var(--muted);font-weight:500;padding:0 16px;margin:18px 0 6px;display:block}
.ni2{display:flex;align-items:center;gap:12px;margin:1px 8px;padding:7px 10px;border-radius:6px;cursor:pointer;font-size:14px;color:var(--muted)}
.ni2:hover{background:var(--bs);color:var(--white)}
.ni2.active{color:var(--white);background:var(--sel)}
.ni2.active .nico{color:var(--gold)}
.nico{font-size:15px;width:18px;height:18px;flex-shrink:0;text-align:center}
.bdg{margin-left:auto;background:var(--sel);color:var(--white);font-size:11px;font-weight:500;padding:0 7px;border-radius:10px}
.ct{flex:1;padding:28px;overflow-y:auto;max-width:1200px}
/* The Tier 1 table has ~12 columns; it gets the full width the other tabs don't need. */
.ct:has(#pg-screen.active){max-width:none}
.pg{display:none}
.pg.active{display:block}
.ptit{font-size:22px;font-weight:300;letter-spacing:.02em;margin-bottom:4px}
.psub{font-size:13px;color:var(--muted);margin-bottom:22px;line-height:1.6}
input[type=text],input[type=password],input[type=number],select{font-family:Geist,system-ui,sans-serif;font-size:13px;background:var(--navy);border:1px solid var(--bs);border-radius:var(--r);padding:8px 12px;color:var(--white)}
input:focus,select:focus{outline:none;border-color:var(--gold)}
textarea{font-family:Geist,system-ui,sans-serif;font-size:13px;background:var(--navy);border:1px solid var(--bs);border-radius:var(--r);padding:12px;color:var(--white);width:100%;resize:vertical}
textarea:focus{outline:none;border-color:var(--gold)}
.bg{background:var(--gold);color:var(--navy);border:none;padding:10px 24px;border-radius:var(--r);font-family:Geist,system-ui,sans-serif;font-size:14px;font-weight:600;cursor:pointer;transition:background .15s}
.bg:hover{background:var(--gold-light)}
.bg:disabled{background:rgba(107,147,201,.25);cursor:not-allowed;color:rgba(13,27,42,.4)}
.bsm{background:transparent;border:1px solid var(--bs);padding:6px 14px;border-radius:var(--r);font-family:Geist,system-ui,sans-serif;font-size:12px;color:var(--muted);cursor:pointer}
.bsm:hover{color:var(--white);border-color:var(--border)}
.bdng{background:transparent;border:1px solid rgba(224,85,85,.3);padding:6px 14px;border-radius:var(--r);font-family:Geist,system-ui,sans-serif;font-size:12px;color:#e88;cursor:pointer}
.mg{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px;margin-bottom:18px}
.mb{padding:13px 8px;border-radius:var(--r);border:1px solid var(--bs);background:transparent;color:var(--muted);font-family:Geist,system-ui,sans-serif;font-size:12px;cursor:pointer;text-align:center;line-height:1.5}
.mb:hover{border-color:var(--border);color:var(--white)}
.mb.active{border-color:var(--gold);color:var(--gold);background:rgba(107,147,201,.07)}
.mi{font-size:20px;display:block;margin-bottom:6px}
.mt{font-weight:500;font-size:13px;display:block}
.ms{font-size:11px;color:var(--muted);display:block;margin-top:3px}
.mb.active .ms{color:rgba(107,147,201,.55)}
.itabs{display:flex;border:1px solid var(--bs);border-radius:var(--r);overflow:hidden;margin-bottom:12px}
.itab{flex:1;font-size:12px;padding:7px;text-align:center;cursor:pointer;background:transparent;border:none;color:var(--muted);font-family:Geist,system-ui,sans-serif}
.itab:hover{color:var(--white)}
.itab.active{background:var(--navy-light);color:var(--white);font-weight:500}
.ipnl{display:none}
.ipnl.active{display:block}
.dz{border:1.5px dashed rgba(107,147,201,.2);border-radius:var(--rl);padding:38px 24px;text-align:center;cursor:pointer;background:rgba(255,255,255,.01);margin-bottom:12px}
.dz:hover,.dz.over{border-color:var(--gold);background:rgba(107,147,201,.04)}
.di{font-size:28px;margin-bottom:10px;opacity:.5}
.dt{font-size:14px;color:var(--white);margin-bottom:5px}
.dh{font-size:12px;color:var(--muted);line-height:1.6}
.dh a{color:var(--gold);text-decoration:none}
.fok{display:inline-flex;align-items:center;gap:8px;background:rgba(76,175,130,.1);border:1px solid rgba(76,175,130,.3);border-radius:var(--r);padding:7px 14px;font-size:13px;color:var(--green);margin-bottom:12px}
.cbar{background:var(--navy-mid);border:1px solid var(--bs);border-radius:var(--r);padding:10px 14px;margin-bottom:16px}
.cbartit{font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.07em;margin-bottom:8px}
.pills{display:flex;gap:6px;flex-wrap:wrap}
.pill{font-size:11px;padding:3px 10px;border-radius:20px;border:1px solid var(--border);color:var(--muted)}
.pill.g{border-color:rgba(107,147,201,.35);color:var(--gold-light)}
.pill.b{border-color:rgba(100,160,220,.35);color:#90c0e8}
.spin{display:inline-block;width:12px;height:12px;border:2px solid rgba(107,147,201,.2);border-top-color:var(--gold);border-radius:50%;animation:sp .7s linear infinite;vertical-align:middle;margin-right:6px}
@keyframes sp{to{transform:rotate(360deg)}}
.sts{font-size:12px;color:var(--muted);margin-top:10px;min-height:20px}
.rc{background:var(--navy-mid);border:1px solid var(--bs);border-radius:var(--rl);padding:24px;margin-top:22px}
.sbig{font-size:48px;font-weight:300;line-height:1}
.srow{display:flex;align-items:flex-end;gap:14px;margin-bottom:6px}
.sden{font-size:18px;color:var(--muted);margin-bottom:6px}
.spill{font-size:11px;font-weight:600;padding:4px 12px;border-radius:20px;text-transform:uppercase;letter-spacing:.06em;display:inline-block;margin-bottom:8px}
.ssum{font-size:13px;color:var(--muted);line-height:1.7;margin-bottom:18px}
.btrk{height:4px;background:rgba(255,255,255,.06);border-radius:2px;margin-bottom:20px}
.bfil{height:100%;border-radius:2px;transition:width .8s ease}
.bdgrd{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--bs);border-radius:var(--r);overflow:hidden;margin-bottom:18px}
.bdc{background:var(--navy);padding:12px 14px}
.bdl{font-size:11px;color:var(--muted);margin-bottom:5px}
.bdb{height:3px;background:rgba(255,255,255,.05);border-radius:2px;margin-bottom:5px}
.bdbf{height:100%;border-radius:2px;background:var(--gold)}
.sgrd{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:18px}
.sc2{background:rgba(255,255,255,.025);border-radius:var(--r);padding:10px 12px}
.sl{font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;margin-bottom:4px}
.sv{font-size:13px;color:var(--white)}
.fr2{display:flex;gap:16px;margin-bottom:18px;flex-wrap:wrap}
.fc2{flex:1;min-width:120px}
.ftit{font-size:11px;text-transform:uppercase;letter-spacing:.06em;margin-bottom:8px;font-weight:500}
.fchip{display:inline-block;font-size:11px;padding:3px 9px;border-radius:20px;margin:2px 3px 2px 0}
.cg{background:rgba(76,175,130,.12);color:#6dcfa0;border:1px solid rgba(76,175,130,.2)}
.cr{background:rgba(224,85,85,.12);color:#e88;border:1px solid rgba(224,85,85,.2)}
.ca{background:rgba(224,152,48,.12);color:#e8b86d;border:1px solid rgba(224,152,48,.2)}
.ol{font-size:10px;color:var(--gold);text-transform:uppercase;letter-spacing:.08em;margin-bottom:8px;font-weight:500}
.ob{background:rgba(107,147,201,.05);border:1px solid rgba(107,147,201,.18);border-radius:var(--r);padding:14px 16px;font-size:13px;line-height:1.7;color:var(--white);margin-bottom:14px}
.dvd{height:1px;background:var(--bs);margin:16px 0}
.sarow{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.sai{flex:1;min-width:160px}
.sab{padding:8px 18px;border-radius:var(--r);background:transparent;border:1px solid var(--gold);color:var(--gold);font-family:Geist,system-ui,sans-serif;font-size:13px;cursor:pointer}
.sab:hover{background:rgba(107,147,201,.1)}
.eb{background:rgba(224,85,85,.08);border:1px solid rgba(224,85,85,.25);border-radius:var(--r);padding:12px 16px;font-size:13px;color:#e88;margin-top:14px;line-height:1.6}
.cgrd{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:18px}
.cc{background:rgba(255,255,255,.025);border-radius:var(--r);padding:11px 14px;display:flex;align-items:flex-start;gap:10px}
.cci{font-size:15px;flex-shrink:0;margin-top:1px}
.ccl{font-size:11px;color:var(--muted);margin-bottom:3px}
.ccv{font-size:13px;color:var(--white)}
.ab{background:rgba(107,147,201,.06);border:1px solid rgba(107,147,201,.18);border-radius:var(--r);padding:11px 14px;font-size:13px;margin-bottom:18px}
.al{font-size:10px;color:var(--gold);text-transform:uppercase;letter-spacing:.07em;margin-bottom:4px;font-weight:500}
.ptbl{border-collapse:collapse;width:100%}
.ptbl th{font-size:10px;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);padding:8px 12px;text-align:left;border-bottom:1px solid var(--bs);font-weight:500}
.ptbl td{padding:10px 12px;border-bottom:1px solid var(--bs);vertical-align:middle}
.ptbl tr:last-child td{border-bottom:none}
.ptbl tr:hover td{background:rgba(255,255,255,.012)}
.sdot{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;font-size:13px;font-weight:600}
.an{font-size:14px;font-weight:500;color:var(--white)}
.am{font-size:11px;color:var(--muted);margin-top:2px}
.tb2{display:inline-block;font-size:10px;padding:2px 7px;border-radius:10px;margin-left:6px;vertical-align:middle}
.tria{background:rgba(100,160,220,.12);color:#90c0e8;border:1px solid rgba(100,160,220,.2)}
.twire{background:rgba(224,152,48,.12);color:#e8b86d;border:1px solid rgba(224,152,48,.2)}
.tcand{background:rgba(76,175,130,.12);color:#6dcfa0;border:1px solid rgba(76,175,130,.2)}
.pss{font-family:Geist,system-ui,sans-serif;font-size:12px;background:var(--navy-light);border:1px solid var(--bs);border-radius:var(--r);padding:4px 8px;color:var(--white);cursor:pointer}
.pni{font-family:Geist,system-ui,sans-serif;font-size:12px;background:transparent;border:none;color:var(--muted);width:100%;resize:none;height:34px;padding:4px 0}
.pni:focus{outline:none;color:var(--white)}
.delbtn{background:transparent;border:none;color:var(--muted);cursor:pointer;font-size:18px;padding:4px 8px;border-radius:var(--r)}
.delbtn:hover{color:var(--red)}
.mty{text-align:center;padding:60px 0;color:var(--muted)}
.sc3{background:var(--navy-mid);border:1px solid var(--bs);border-radius:var(--rl);padding:22px;margin-bottom:14px}
.stt{font-size:14px;font-weight:500;margin-bottom:4px}
.std{font-size:12px;color:var(--muted);margin-bottom:14px;line-height:1.6}
.sro{display:flex;gap:12px;align-items:center;margin-bottom:12px}
.slb{font-size:13px;color:var(--muted);min-width:160px}
.sin{flex:1}
.wn{font-size:11px;margin-top:6px}
.pbw{height:4px;background:rgba(255,255,255,.06);border-radius:2px;overflow:hidden}
.pb{height:100%;background:var(--gold);border-radius:2px;transition:width .4s ease;width:0%}
.firmrow{display:flex;align-items:center;gap:12px;padding:10px 14px;border-bottom:1px solid var(--bs);cursor:pointer;width:100%;box-sizing:border-box}
.firmrow:hover{background:rgba(255,255,255,.02)}
.firmrow.sel{background:rgba(107,147,201,.07)}
.fltr{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}
.fb{font-size:12px;padding:5px 12px;border-radius:20px;border:1px solid var(--bs);background:transparent;color:var(--muted);cursor:pointer;font-family:Geist,system-ui,sans-serif}
.fb:hover{color:var(--white)}
.fb.active{color:var(--gold);border-color:rgba(107,147,201,.4);background:rgba(107,147,201,.06)}
.phdr{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:16px;flex-wrap:wrap;gap:10px}

.ask-chip {
  font-size:11px;padding:4px 10px;border-radius:12px;border:1px solid rgba(107,147,201,.3);
  color:var(--gold-light);cursor:pointer;background:rgba(107,147,201,.05);
  transition:background .15s;
}
.ask-chip:hover { background:rgba(107,147,201,.12); }