:root{
  --bg:#0b1020; --panel:#121a30; --panel2:#0f1729; --line:#22304f; --ink:#eaf0fb;
  --muted:#94a3c4; --accent:#5b8cff; --gold:#e0b24d;
}
*{box-sizing:border-box}
html,body{margin:0}
body{background:var(--bg);color:var(--ink);
  font:15px/1.45 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  -webkit-text-size-adjust:100%;overflow-x:hidden;padding-bottom:40px}
a{color:var(--accent);text-decoration:none}

header{position:sticky;top:0;z-index:20;background:linear-gradient(180deg,#0c1226,#0b1020);
  border-bottom:1px solid var(--line);padding:max(10px,env(safe-area-inset-top)) 14px 10px}
.brand{display:flex;align-items:center;gap:11px}
.logo{width:34px;height:34px;border-radius:9px;background:linear-gradient(135deg,#5b8cff,#9d6bff);
  display:flex;align-items:center;justify-content:center;font-size:18px;color:#fff}
h1{font-size:19px;margin:0;letter-spacing:.02em}
.tag{font-size:11px;color:var(--muted)}
#refreshBtn{margin-left:auto;background:var(--accent);color:#fff;border:0;border-radius:9px;
  padding:9px 13px;font-weight:700;font-size:13px;min-height:40px}
#refreshBtn:disabled{opacity:.6}

.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin-top:11px}
.kpi{background:var(--panel);border:1px solid var(--line);border-radius:11px;padding:9px 6px;text-align:center}
.kpi b{display:block;font-size:19px}
.kpi span{font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}
.kpi.imm b{color:#22c55e} .kpi.str b{color:#84cc16} .kpi.wat b{color:#eab308}
.status{font-size:11px;color:var(--muted);margin-top:9px}

.nav{display:flex;gap:7px;overflow-x:auto;margin-top:10px;padding-bottom:3px;-webkit-overflow-scrolling:touch}
.navchip{flex:0 0 auto;background:var(--panel2);border:1px solid var(--line);border-radius:20px;
  padding:7px 12px;font-size:12px;color:var(--ink);white-space:nowrap;min-height:34px;display:flex;align-items:center;gap:5px}
.navchip b{color:var(--accent)}

main{padding:14px}
section{margin:0 0 22px}
h2{font-size:15px;margin:0 0 10px;display:flex;align-items:center;gap:8px}
h2 .count{font-size:12px;color:var(--muted);background:var(--panel);border:1px solid var(--line);
  border-radius:11px;padding:1px 9px}
.empty{color:var(--muted);font-size:13px;background:var(--panel2);border:1px dashed var(--line);
  border-radius:11px;padding:16px;text-align:center}

.card{display:flex;align-items:stretch;gap:11px;background:var(--panel);border:1px solid var(--line);
  border-left:4px solid var(--line);border-radius:13px;padding:12px;margin-bottom:9px;cursor:pointer}
.card.tier-immediate{border-left-color:#22c55e} .card.tier-strong{border-left-color:#84cc16}
.card.tier-watchlist{border-left-color:#eab308} .card.tier-ignore{opacity:.6}
.card-body{flex:1;min-width:0}
.company{font-weight:700;font-size:15px;margin-bottom:2px}
.why{font-size:12.5px;color:var(--muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.meta{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-top:7px;font-size:11.5px}
.owner{font-weight:600} .owner.muted{font-weight:400;color:var(--muted)}
.sig{color:var(--accent)}
.pill{background:var(--panel2);border:1px solid var(--line);border-radius:8px;padding:1px 7px;color:var(--muted)}
.tierlab{border-radius:8px;padding:1px 7px;font-weight:700}
.tierlab.tier-immediate{background:#0c2a18;color:#4ade80} .tierlab.tier-strong{background:#1c2a0c;color:#a3e635}
.tierlab.tier-watchlist{background:#2a240c;color:#facc15} .tierlab.tier-ignore{background:#1a2238;color:var(--muted)}

.score{flex:0 0 auto;width:42px;border-radius:10px;background:var(--panel2);border:1px solid var(--c);
  color:var(--c);font-weight:800;font-size:17px;display:flex;align-items:center;justify-content:center}
.chev{align-self:center;color:var(--muted);font-size:22px}

.overlay{position:fixed;inset:0;background:rgba(4,8,18,.6);backdrop-filter:blur(2px);
  display:none;align-items:flex-end;z-index:40}
.overlay.show{display:flex}
.sheet{background:var(--panel);border-top:1px solid var(--line);border-radius:18px 18px 0 0;
  width:100%;max-height:90vh;overflow:auto;padding:16px 16px max(20px,env(safe-area-inset-bottom))}
.sheet-head{display:flex;gap:11px;align-items:center;margin-bottom:12px}
.sheet-head .company{font-size:17px}
.sheet-head .x{margin-left:auto;background:var(--panel2);border:1px solid var(--line);color:var(--ink);
  border-radius:9px;width:36px;height:36px;font-size:15px}
.row{border-top:1px solid var(--line);padding:10px 0}
.row label{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin-bottom:3px}
.row ul{margin:4px 0 0;padding-left:18px}.row li{margin:3px 0}
.links a{margin-right:6px}
.primary{display:block;text-align:center;background:var(--accent);color:#fff;font-weight:700;
  border-radius:11px;padding:13px;margin-top:14px}

/* mode selector */
.modebar{display:flex;gap:6px;overflow-x:auto;margin-top:11px;-webkit-overflow-scrolling:touch}
.modechip{flex:0 0 auto;background:var(--panel2);border:1px solid var(--line);color:var(--ink);
  border-radius:20px;padding:8px 13px;font-size:12.5px;font-weight:600;white-space:nowrap;min-height:38px}
.modechip.on{background:var(--accent);border-color:var(--accent);color:#fff}
.modeblurb{font-size:11px;color:var(--muted);margin-top:6px}
#refreshBtn.spin{animation:sp 1s linear infinite}@keyframes sp{to{transform:rotate(360deg)}}
.kpi.pip b{color:#a78bfa}

/* status chips on cards */
.statc{font-size:10px;font-weight:700;border-radius:7px;padding:1px 6px;color:var(--sc);
  border:1px solid var(--sc);background:#0d1426;vertical-align:middle}
.cmpl{color:var(--muted);font-size:11px;margin-left:auto}

/* lead sheet additions */
.pipe{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:6px}
.stbtn{flex:1 1 auto;background:var(--panel2);border:1px solid var(--line);color:var(--muted);
  border-radius:9px;padding:9px 6px;font-size:11.5px;font-weight:600;min-height:40px;min-width:84px}
.stbtn.on{background:color-mix(in srgb,var(--sc) 22%,#0d1426);border-color:var(--sc);color:var(--sc)}
.verify{background:var(--panel2);border:1px solid var(--accent);color:var(--accent);border-radius:8px;
  padding:5px 9px;font-size:12px;font-weight:600;margin-left:8px}
.verbox{margin-top:9px;background:#0d1426;border:1px solid var(--line);border-radius:10px;padding:10px;font-size:12.5px}
.verbox .evi{margin-top:6px;font-size:11.5px}.verbox .links{margin-top:8px;font-size:11.5px}
.verbox .links a{margin-right:8px}
.conf{font-size:10px;font-weight:700;border-radius:6px;padding:1px 6px;margin-left:6px}
.conf.c-high{background:#0c2a18;color:#4ade80}.conf.c-medium{background:#2a240c;color:#facc15}.conf.c-low{background:#1a2238;color:var(--muted)}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}
.grid2 .row{border-top:1px solid var(--line)}
.bd{margin:4px 0 0;padding-left:18px;font-size:12px;color:var(--muted)}.bd li{margin:2px 0}

footer{text-align:center;color:var(--muted);font-size:11px;padding:18px 14px}

@media(min-width:760px){
  .kpis{grid-template-columns:repeat(4,1fr);max-width:520px}
  main{max-width:820px;margin:0 auto}
  .overlay{align-items:center;justify-content:center}
  .sheet{max-width:620px;border-radius:18px;max-height:84vh}
}

/* ---- auth overlay (platform-managed accounts) ---- */
.authOverlay{position:fixed;inset:0;background:rgba(6,10,18,.92);display:flex;
  align-items:center;justify-content:center;z-index:9999;padding:20px}
.authCard{width:100%;max-width:340px;background:#0f1420;border:1px solid #223;
  border-radius:14px;padding:22px}
.authBrand{font-size:19px;font-weight:800;letter-spacing:-.3px}
.authTitle{font-size:13px;color:#8a93a6;margin:2px 0 14px}
.authInput{width:100%;box-sizing:border-box;background:#070a10;border:1px solid #223;
  border-radius:8px;padding:10px 11px;color:inherit;font-size:14px;margin-top:8px}
.authBtn{width:100%;margin-top:14px;background:#3b6cf0;border:0;border-radius:8px;
  padding:11px;color:#fff;font-weight:600;font-size:14px;cursor:pointer}
.authBtn:disabled{cursor:default}
.authSwitch{margin-top:13px;font-size:12px;color:#8a93a6}
.authSwitch a{color:#5b8cff;text-decoration:none}
.authMsg{font-size:12px;border-radius:8px;padding:8px 10px;margin-bottom:12px}
.authMsg.ok{background:#12351f;color:#7ee2a8}
.authMsg.info{background:#12233a;color:#8bb6ff}
.authMsg.err{background:#3a1620;color:#ff9aa8}
