/* Research Lab — BBW dark steel system, shared with the cockpit (Sales-Driver-UI-Design-2026-07.md).
   Dark ground · ONE steel-blue accent · Space Grotesk headings / Inter body. Self-contained. */
:root{
  --bg:#0A0C10; --bg2:#10141B; --card:#171C25; --card2:#1E2531;
  --line:#242C3A; --line2:#2E3746;
  --ink:#EBF1F7; --ink2:#A7B4C4; --ink3:#7D8A99;
  --accent:#5B8FC4; --accent-dim:#3D6A99; --accent-ink:#CFE4FB;
  --good:#3FA06A; --warn:#C9973D; --bad:#C4574A;
  --disp:'Space Grotesk',system-ui,-apple-system,'Segoe UI',sans-serif;
  --text:'Inter',system-ui,-apple-system,'Segoe UI',sans-serif;
  --mono:'SF Mono',ui-monospace,'JetBrains Mono',Menlo,Consolas,monospace;
}
*{box-sizing:border-box}
html{overflow-x:clip}
html,body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--text);font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased}
a{color:inherit}
.app{max-width:min(1120px,100%);margin:0 auto;min-height:100vh;padding:58px clamp(14px,3vw,32px) 64px;position:relative}

/* ── banner ─────────────────────────────────────────────────────────────── */
.banner{position:fixed;top:0;left:0;right:0;height:58px;z-index:30;overflow:hidden;background:var(--bg2);border-bottom:1px solid var(--line)}
.banner__fx{position:absolute;inset:0;width:100%;height:100%;display:block}
.banner__veil{position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,12,16,.9),rgba(10,12,16,.35) 42%,rgba(10,12,16,.75))}
.banner__row{position:relative;z-index:2;height:100%;display:flex;align-items:center;gap:12px;padding:0 clamp(14px,3vw,26px)}
.banner__logo{height:24px;width:auto;filter:drop-shadow(0 1px 4px rgba(0,0,0,.5))}
.banner__title{font-family:var(--disp);font-weight:700;font-size:15px;letter-spacing:.01em;color:var(--ink);white-space:nowrap}
.banner__tag{font-family:var(--disp);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink3);white-space:nowrap}
@media (max-width:560px){.banner__tag{display:none}}
.banner__sp{flex:1}
.acct{font-family:var(--mono);font-size:11px;color:#8FA0B4;max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media (max-width:640px){.acct{display:none}}
.iconbtn{background:var(--card2);border:1px solid var(--line2);color:var(--ink2);border-radius:9px;width:34px;height:34px;
  font-size:15px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;text-decoration:none}
.iconbtn:hover{color:var(--ink)}

/* ── header + sections ──────────────────────────────────────────────────── */
.top{padding:16px 2px 6px}
.date{font-family:var(--disp);font-weight:600;font-size:13px;color:var(--ink2);letter-spacing:.02em}
.lede{font-family:var(--disp);font-weight:700;font-size:26px;letter-spacing:-.02em;margin:2px 0 0}
.lede small{color:var(--ink3);font-weight:500;font-size:14px}
.sec{margin:20px 2px 8px;display:flex;align-items:center;gap:9px}
.sec h2{font-family:var(--disp);font-weight:700;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink3);margin:0}
.sec .rule{flex:1;height:1px;background:var(--line)}
.sec .count{font-size:11px;color:var(--ink3);font-weight:600}
.empty{background:var(--card);border:1px dashed var(--line2);border-radius:12px;padding:20px;text-align:center;color:var(--ink3);font-size:13px;margin:12px 0}
.lnk{color:var(--accent-ink);text-decoration:none;border-bottom:1px solid var(--accent-dim)}
.backlnk{display:inline-flex;align-items:center;gap:6px;font-family:var(--disp);font-size:12px;font-weight:600;color:var(--ink2);text-decoration:none;margin:4px 0}
.backlnk:hover{color:var(--ink)}

/* ── list card (penetration + band mix + sourced) ───────────────────────── */
.listcard{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:14px 16px;margin:10px 0}
.listcard__h{display:flex;justify-content:space-between;align-items:baseline;gap:10px;flex-wrap:wrap}
.listcard__name{font-family:var(--disp);font-weight:700;font-size:16px;color:var(--ink);min-width:0}
.regionchip{font-family:var(--mono);font-size:11px;color:var(--accent-ink);background:#102538;border:1px solid var(--accent-dim);padding:2px 8px;border-radius:7px;white-space:nowrap}
.pen{margin-top:11px}
.pen__track{height:10px;border-radius:6px;background:#0e1720;overflow:hidden}
.pen__seg{display:block;height:100%;background:linear-gradient(90deg,var(--accent-dim),var(--accent))}
.pen__lab{font-size:11.5px;color:var(--ink3);margin-top:6px}.pen__lab b{color:var(--accent-ink)}
.bmix{margin-top:11px}
.bmix__bar{display:flex;height:6px;border-radius:4px;overflow:hidden;background:#0e1720}
.bmix__seg{height:100%;display:block;min-width:0}
.bmix__seg--A{background:linear-gradient(90deg,var(--accent-dim),var(--accent))}
.bmix__seg--B{background:#33506c}.bmix__seg--C{background:#28353f}
.bmix__leg{display:flex;flex-wrap:wrap;gap:6px 14px;margin-top:7px;font-family:var(--mono);font-size:10px;color:var(--ink3)}
.bmix__l--A{color:var(--accent-ink)}
.listcard__chips{margin-top:10px;display:flex;flex-wrap:wrap;gap:7px}
.srcchip{font-family:var(--disp);font-size:10px;font-weight:700;letter-spacing:.03em;color:var(--accent-ink);background:#102538;border:1px solid var(--accent-dim);padding:3px 9px;border-radius:7px;white-space:nowrap}
.listcard__src{font-size:11px;color:var(--ink3);margin-top:9px;line-height:1.45}

/* ── account rows ───────────────────────────────────────────────────────── */
.listrows{display:grid;gap:3px;margin-top:6px}
.acctrow{display:grid;grid-template-columns:22px minmax(0,1fr) auto auto;gap:12px;align-items:center;padding:10px 12px;
  border-radius:9px;background:var(--card);border:1px solid var(--line);text-decoration:none;color:var(--ink)}
.acctrow:hover{background:var(--card2);border-color:var(--line2)}
.acctrow__band{font-family:var(--disp);font-size:12px;font-weight:700;text-align:center;color:var(--ink3)}
.acctrow__band.band--A{color:var(--accent-ink)}
.acctrow__who{min-width:0;display:flex;flex-direction:column;line-height:1.22;font-size:13.5px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.acctrow__who small{font-size:11px;color:var(--ink3);font-weight:400;overflow:hidden;text-overflow:ellipsis}
.acctrow__tele{font-family:var(--mono);font-size:10px;color:var(--ink3);text-align:right;white-space:nowrap}
.acctrow__sc{font-family:var(--mono);font-size:13px;color:var(--ink2);text-align:right;min-width:24px}
.band--A{background:#123152;color:var(--accent-ink)}.band--B{background:#1a2836;color:var(--ink2)}.band--C{background:#16202b;color:var(--ink3)}

/* ── account canvas ─────────────────────────────────────────────────────── */
.canvas{display:grid;gap:14px;margin-top:8px}
@media (min-width:960px){.canvas{grid-template-columns:minmax(0,1fr) 340px;align-items:start}}
.cv__main{min-width:0;display:grid;gap:14px}
.cv__side{min-width:0;display:grid;gap:14px}
@media (min-width:960px){.cv__side{position:sticky;top:72px}}
.cvcard{background:var(--card);border:1px solid var(--line);border-radius:13px;padding:14px 16px}
.cvcard__k{font-family:var(--disp);font-size:10px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--ink3);margin-bottom:10px}
.cv__id{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px}
.cv__who{font-family:var(--disp);font-weight:700;font-size:22px;letter-spacing:-.01em;line-height:1.1;overflow-wrap:anywhere}
.cv__org{font-size:13px;color:var(--ink2)}
.band{display:inline-flex;align-items:center;gap:5px;font-family:var(--disp);font-weight:700;font-size:12px;padding:3px 9px;border-radius:8px;white-space:nowrap}
.dossier{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);border:1px solid var(--line);border-radius:10px;overflow:hidden}
@media (max-width:520px){.dossier{grid-template-columns:1fr}}
.dfield{background:var(--card);padding:9px 12px;min-width:0}
.dfield__k{font-family:var(--disp);font-size:9px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--ink3)}
.dfield__v{font-size:13.5px;color:var(--ink);margin-top:2px;overflow-wrap:anywhere;line-height:1.4}
.prose{font-size:13.5px;color:var(--ink);line-height:1.55}
.prose h5{font-family:var(--disp);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);margin:12px 0 4px}
.prose p{margin:0 0 8px}
.cv__opener{font-size:16px;line-height:1.5;color:var(--ink);margin:0}
.cv__opener .q{color:var(--accent);font-weight:700}
.cta{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:100%;background:var(--accent);color:#fff;
  border:0;border-radius:11px;padding:12px 16px;font-family:var(--text);font-weight:700;font-size:14px;text-decoration:none;
  box-shadow:0 2px 10px rgba(63,131,198,.28)}
.cta:hover{filter:brightness(1.06)}

/* ── proof block (decode of stored evidence) ────────────────────────────── */
.proof{background:#0c1420;border:1px solid var(--line2);border-radius:12px;padding:13px 14px}
.proof__head{display:flex;justify-content:space-between;align-items:center;gap:10px;padding-bottom:10px;margin-bottom:2px;border-bottom:1px solid var(--line)}
.proof__eye{font-family:var(--disp);font-size:10px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--ink3)}
.badge{font-family:var(--mono);font-size:10px;font-weight:600;letter-spacing:.04em;padding:3px 8px;border-radius:7px;white-space:nowrap}
.badge--ver{color:var(--accent-ink);background:#102a44;border:1px solid var(--accent-dim)}
.badge--unver{color:var(--warn);background:#2a2008;border:1px solid #5c481f}
.ev{display:grid;grid-template-columns:16px 1fr;gap:9px;padding:8px 0;border-bottom:1px solid #14202c}
.ev:last-child{border-bottom:0}
.ev__t{font-size:12px;text-align:center}.ev__t--hi{color:var(--accent)}.ev__t--mid{color:var(--ink3)}
.ev__row{display:flex;justify-content:space-between;align-items:baseline;gap:10px}
.ev__m{font-family:var(--disp);font-size:12px;font-weight:600;color:var(--ink2)}
.ev__v{font-size:13px;color:var(--ink);font-weight:600;text-align:right;overflow-wrap:anywhere}
.ev__meta{font-family:var(--mono);font-size:10px;color:var(--ink3);margin-top:2px;overflow-wrap:anywhere}
.ev__src{color:var(--accent-ink);text-decoration:none;border-bottom:1px solid var(--accent-dim)}
.proof__los{font-size:12px;color:var(--ink2);line-height:1.5;margin-top:8px}.proof__los b{color:var(--ink)}

/* ── notes (localStorage autosave) ──────────────────────────────────────── */
.notes__ta{width:100%;min-height:200px;resize:vertical;background:var(--card2);border:1px solid var(--line2);border-radius:10px;
  padding:12px;color:var(--ink);font-family:var(--text);font-size:13.5px;line-height:1.55}
.notes__ta:focus{outline:none;border-color:var(--accent-dim)}
.notes__hint{font-family:var(--text);font-size:9.5px;letter-spacing:0;text-transform:none;color:var(--ink3);font-weight:400}
