/* ============================================================
   Eyam Health — Admin console styles
   Pipeline, document library, cap-table editing, decision
   analytics, audit and security. Extends styles.css tokens.
   ============================================================ */

/* ---- shared ---- */
.ms-alert .msv{color:var(--danger)}
.seg-chip{display:inline-block;padding:2px 8px;border-radius:5px;font-size:10.5px;font-weight:700;background:#eef1f3;color:#7d8992}
.mo{font-size:11.5px;font-weight:700;white-space:nowrap}
.mo.up{color:var(--teal-d)}
.mo.down{color:#a03e35}
.mo.flat{color:#aeb8c0}
.st-chip{display:inline-block;padding:3px 9px;border-radius:6px;font-size:10.5px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}
.st-released{background:rgba(45,138,138,.13);color:var(--teal-d)}
.st-draft{background:rgba(196,122,61,.16);color:#a3652f}
.st-archived{background:#eef1f3;color:#8b97a1}
.conf-chip{display:inline-block;padding:5px 12px;border-radius:999px;font-size:12px;font-weight:700;background:rgba(180,69,59,.09);color:#a03e35;letter-spacing:.02em}

/* ---- signals ---- */
.sig-list{list-style:none;display:flex;flex-direction:column}
.sig{display:flex;align-items:center;gap:14px;padding:13px 0;border-bottom:1px solid var(--line)}
.sig:last-child{border-bottom:none}
.sig[data-user]{cursor:pointer;border-radius:8px;transition:background .15s,padding .15s}
.sig[data-user]:hover{background:var(--bg-alt);padding-left:10px;padding-right:10px}
.sig-tag{flex:0 0 116px;text-align:center;font-size:10px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;padding:5px 0;border-radius:6px}
.sig-hot .sig-tag{background:var(--teal);color:#fff}
.sig-act .sig-tag{background:rgba(30,58,95,.11);color:var(--navy)}
.sig-warn .sig-tag{background:rgba(196,122,61,.16);color:#a3652f}
.sig-risk .sig-tag{background:rgba(180,69,59,.13);color:#a03e35}
.sig-mute .sig-tag{background:#eef1f3;color:#8b97a1}
.sig-body{flex:1;min-width:0}
.sig-body b{display:block;color:var(--ink);font-size:14.5px;font-weight:600}
.sig-body span{display:block;color:var(--body);font-size:13px;margin-top:2px}
.sig-act{flex:0 1 auto;min-width:0;font-size:12.5px;font-weight:700;color:var(--teal-d);text-align:right;max-width:220px}
@media(max-width:620px){
  .sig{flex-wrap:wrap}
  .sig-act{flex-basis:100%;text-align:left;max-width:none;padding-left:116px}
}
@media(max-width:430px){
  .sig-tag{flex-basis:auto;padding:4px 10px}
  .sig-act{padding-left:0}
}

/* ---- pipeline board ---- */
.pl-board{display:grid;grid-template-columns:repeat(7,minmax(140px,1fr));gap:10px;overflow-x:auto;padding-bottom:6px}
.pl-col{background:var(--bg-alt);border-radius:12px;padding:10px;min-width:140px}
.pl-chead{display:flex;justify-content:space-between;align-items:center;font-size:11px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:#7d8992;padding:2px 4px 10px}
.pl-chead span{background:#fff;border-radius:999px;padding:1px 7px;color:var(--ink)}
.pl-cbody{display:flex;flex-direction:column;gap:8px}
.pl-card{background:#fff;border:1px solid var(--line);border-radius:10px;padding:11px 12px;cursor:pointer;transition:.15s}
.pl-card:hover{border-color:var(--teal);transform:translateY(-1px)}
.pl-card b{display:block;font-size:12.5px;color:var(--ink);line-height:1.3}
.pl-seg{display:block;font-size:10.5px;color:#aeb8c0;margin-top:3px}
.pl-meta{display:block;font-size:10.5px;color:#8b97a1;margin:6px 0 8px}
.pl-empty{text-align:center;color:#cfd6db;font-size:18px;padding:10px}
.pl-tags{display:flex;gap:6px;flex-wrap:wrap;margin-top:6px}
.pl-next{min-width:230px}
.pl-note{width:100%;font-size:12px;padding:7px 9px;border-radius:8px;border:1.5px solid var(--line);resize:vertical}
.pl-note:focus{outline:none;border-color:var(--teal)}
.pl-owner{font-size:10.5px;color:#aeb8c0;margin-top:4px}
@media(max-width:1100px){.pl-board{grid-template-columns:repeat(4,minmax(150px,1fr))}}

/* ---- document library ---- */
.up-card{padding:22px 24px}
.up-drop{border:2px dashed var(--line);border-radius:12px;padding:26px;text-align:center;cursor:pointer;transition:.18s;margin-bottom:18px}
.up-drop:hover,.up-drop.over{border-color:var(--teal);background:rgba(45,138,138,.04)}
.up-drop b{display:block;color:var(--ink);font-size:15px;margin-bottom:5px}
.up-drop span{font-size:13px;color:var(--body)}
.up-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:16px}
.up-restrict{display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--body);cursor:pointer}
.up-restrict input{accent-color:var(--teal);width:16px;height:16px}
.lib-filters{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:14px}
.lib-filters select{font-size:13px;padding:7px 10px;border-radius:8px;border:1.5px solid var(--line);color:var(--ink);background:#fff}
.lib-row.is-draft{background:rgba(196,122,61,.045)}
.lib-tier,.lib-ceil{font-size:11.5px;padding:5px 7px;border-radius:7px;border:1.5px solid var(--line);color:var(--ink);background:#fff;max-width:130px}
.lib-row .actions{white-space:nowrap}
.lib-row .actions .btn{margin-left:4px}

/* ============================================================
   DOCUMENT BROWSER — a file manager, not a table
   ============================================================ */
.br-crumb{display:flex;align-items:center;gap:10px;margin:20px 0 14px;font-size:14px}
.br-up{border:0;background:transparent;font:inherit;font-size:14px;font-weight:700;color:var(--teal-d);cursor:pointer;padding:0}
.br-up:disabled{color:var(--ink);cursor:default}
.br-sep{color:#cfd6db}
.br-here{color:var(--ink);font-weight:600}
.br-here b{color:#8b97a1;font-weight:700;margin-right:4px}
.br-tools{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:16px}
.br-tools input[type=text]{flex:1;min-width:220px;font-size:13.5px;padding:10px 13px;border-radius:9px;border:1.5px solid var(--line);color:var(--ink)}
.br-tools input[type=text]:focus{outline:none;border-color:var(--teal)}
.br-tools select{font-size:13px;padding:9px 11px;border-radius:8px;border:1.5px solid var(--line);color:var(--ink);background:#fff}
.br-tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(186px,1fr));gap:12px;margin-bottom:20px}
.br-tile{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:2px;text-align:left;background:#fff;border:1.5px solid var(--line);border-radius:12px;padding:16px 16px 14px;font:inherit;cursor:pointer;transition:.16s var(--ease-out-expo)}
.br-tile:hover{border-color:var(--teal);transform:translateY(-2px);box-shadow:0 10px 24px rgba(14,27,42,.07)}
.br-tile.on{border-color:var(--teal);background:rgba(45,138,138,.05)}
.br-ticon{font-size:20px;line-height:1;margin-bottom:6px}
.br-tidx{font-size:10.5px;font-weight:800;color:#aeb8c0;letter-spacing:.06em}
.br-tname{font-size:14px;font-weight:700;color:var(--ink);line-height:1.3}
.br-tmeta{font-size:11.5px;color:#8b97a1;margin-top:5px}
.br-draft{color:#a3652f}
.br-ttier{font-size:10px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:#aeb8c0;margin-top:8px}
.br-tedit{position:absolute;top:10px;right:12px;font-size:13px;color:#cfd6db;opacity:0;transition:.15s}
.br-tile:hover .br-tedit{opacity:1}
.br-tedit:hover{color:var(--teal-d)}
.br-hint,.br-empty{text-align:center;padding:36px 24px}
.br-hint b,.br-empty b{display:block;font-size:15.5px;color:var(--ink);margin-bottom:6px}
.br-hint span,.br-empty span{font-size:13.5px;color:var(--body)}
.br-table .br-namecell{display:flex;align-items:center;gap:12px;min-width:320px}
.br-nb b{display:block;font-size:14px;color:var(--ink);font-weight:600;line-height:1.35}
.br-nb span{display:block;font-size:11.5px;color:#8b97a1;margin-top:2px}
.br-row.is-draft{background:rgba(196,122,61,.05)}
.br-row.just-added{animation:justAdded 2.4s ease}
@keyframes justAdded{0%,55%{background:rgba(45,138,138,.16)}100%{background:transparent}}
.br-reach{cursor:help}
.br-actions{white-space:nowrap}
.br-actions .btn{margin-right:4px}
.lib-move{font-size:11.5px;padding:5px 7px;border-radius:7px;border:1.5px solid var(--line);color:var(--body);background:#fff;max-width:120px}
.br-upload{background:#fff;border:1.5px solid var(--teal);border-radius:14px;padding:20px 22px;margin-bottom:20px}
.br-upload.collapsed{display:none}
.bru-head{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:14px}
.bru-head b{font-size:15px;color:var(--ink)}
.bru-head span{font-size:13px;color:var(--body);display:flex;align-items:center;gap:8px}
.bru-head select{font-size:13px;padding:7px 10px;border-radius:8px;border:1.5px solid var(--line);color:var(--ink);background:#fff;font-weight:600}
.bru-x{margin-left:auto;border:0;background:transparent;font-size:22px;line-height:1;color:#aeb8c0;cursor:pointer}
.bru-x:hover{color:var(--ink)}

/* ============================================================
   ACCESS DRAWER
   ============================================================ */
.ad-back{position:fixed;inset:0;background:rgba(10,21,33,.4);z-index:450;animation:fadeIn .2s ease}
/* Entry is opacity-only and deliberately transform-free: an animated
   translateX can be left applied on a fixed panel, which parks the drawer
   partly off-screen and puts its controls out of reach. */
.ad-drawer{position:fixed;top:0;right:0;bottom:0;width:min(460px,94vw);background:#fff;z-index:460;
  box-shadow:-18px 0 60px rgba(14,27,42,.22);overflow-y:auto;overscroll-behavior:contain;
  padding:26px 28px 40px;transform:none;animation:adIn .22s ease-out}
@keyframes adIn{from{opacity:.4}to{opacity:1}}
@media(max-width:620px){.ad-drawer{width:100vw;padding:22px 18px 32px}}
.ad-head{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;padding-bottom:16px;border-bottom:1px solid var(--line)}
.ad-eyebrow{font-size:10.5px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--teal-d);margin-bottom:6px}
.ad-head h3{font-size:19px;line-height:1.2}
.ad-sub{font-size:12.5px;color:#8b97a1;margin-top:4px}
.ad-x{border:0;background:transparent;font-size:26px;line-height:1;color:#aeb8c0;cursor:pointer;padding:0 2px}
.ad-x:hover{color:var(--ink)}
.ad-status{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin:16px 0}
.ad-outcome{background:linear-gradient(135deg,var(--ink2),var(--navy));color:#dbe6ea;border-radius:14px;padding:20px 22px;margin-bottom:22px}
.ad-big{font-size:34px;font-weight:800;color:#fff;line-height:1;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.ad-big small{font-size:12.5px;font-weight:600;color:#8faab0;letter-spacing:0;margin-left:8px}
.ad-words{font-size:13px;line-height:1.6;margin:12px 0 16px;color:#bcd0d0}
.ad-words b{color:#fff}
.ad-outcome .btn-line{border-color:rgba(255,255,255,.3);color:#fff}
.ad-outcome .btn-line:hover{border-color:#fff;background:rgba(255,255,255,.08)}
.ad-section{margin-bottom:24px}
.ad-label{display:flex;justify-content:space-between;align-items:center;font-size:10.5px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#aeb8c0;margin-bottom:12px}
.ad-adv{border:1px solid var(--line);background:#fff;border-radius:999px;padding:3px 11px;font:inherit;font-size:10px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--teal-d);cursor:pointer}
.ad-adv:hover{border-color:var(--teal)}
.ad-pkgs{display:flex;flex-direction:column;gap:8px}
.ad-pkg{display:flex;gap:11px;align-items:flex-start;padding:13px 15px;border:1.5px solid var(--line);border-radius:11px;cursor:pointer;transition:.15s}
.ad-pkg:hover{border-color:var(--ink)}
.ad-pkg.on{border-color:var(--teal);background:rgba(45,138,138,.06)}
.ad-pkg.is-custom{opacity:.75;cursor:default}
.ad-pkg input{margin-top:3px;accent-color:var(--teal);width:16px;height:16px;flex:0 0 auto}
.ad-pkg span{font-size:12.5px;color:var(--body);line-height:1.45}
.ad-pkg b{display:block;font-size:14px;color:var(--ink);margin-bottom:2px}
.ad-note{font-size:11.5px;color:#8b97a1;margin-top:10px;line-height:1.5}
.ad-folders{display:flex;flex-direction:column}
.ad-frow{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid var(--line)}
.ad-frow:last-child{border-bottom:none}
.ad-fname{flex:1;min-width:0}
.ad-fname b{display:block;font-size:13px;color:var(--ink);font-weight:600}
.ad-fname span{display:block;font-size:11px;color:#8b97a1;margin-top:1px}
.ad-fname em{color:var(--teal-d);font-style:normal;font-weight:700}
.ad-frow select{flex:0 0 auto;font-size:12px;padding:6px 8px;border-radius:8px;border:1.5px solid var(--line);color:var(--ink);background:#fff;max-width:150px}
.ad-frow select:focus{outline:none;border-color:var(--teal)}
.ad-exc{display:flex;flex-direction:column;gap:8px}
.ad-erow{display:flex;align-items:center;gap:12px;padding:11px 13px;background:rgba(196,122,61,.07);border-radius:10px}
.ad-erow>span{flex:1;min-width:0}
.ad-erow b{display:block;font-size:12.5px;color:var(--ink)}
.ad-erow span span{display:block;font-size:11px;color:#a3652f;margin-top:1px}
.ad-eclear{border:1px solid rgba(196,122,61,.4);background:#fff;border-radius:7px;padding:4px 10px;font:inherit;font-size:11px;font-weight:700;color:#a3652f;cursor:pointer}
.ad-eclear:hover{background:rgba(196,122,61,.1)}
.ad-ct{width:100%;font-size:13px;padding:9px 11px;border-radius:9px;border:1.5px solid var(--line);color:var(--ink);background:#fff}
.ad-ct:focus{outline:none;border-color:var(--teal)}
.ad-foot{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;padding-top:18px;border-top:1px solid var(--line)}

/* ---- preview-as bar ---- */
.preview-bar{position:fixed;bottom:0;left:0;right:0;z-index:420;display:flex;align-items:center;gap:14px;padding:12px 24px;background:var(--navy);color:#fff;font-size:13px;box-shadow:0 -6px 24px rgba(14,27,42,.2)}
.preview-bar b{color:#fff}
.preview-bar span{flex:1}
.preview-bar .btn{background:#fff;color:var(--navy);flex:0 0 auto}
.preview-bar .btn:hover{background:#dbe6ea}
.pv-dot{flex:0 0 auto;width:9px;height:9px;border-radius:50%;background:#7fe0d3;animation:pvPulse 1.8s ease-in-out infinite}
@keyframes pvPulse{0%,100%{opacity:1}50%{opacity:.35}}
body.previewing main{padding-bottom:60px}

/* ---- release consistency (replaced the access heatmap) ---- */
.rx-none{text-align:center;padding:30px 24px}
.rx-none b{display:block;font-size:15.5px;color:var(--ink);margin-bottom:6px}
.rx-none span{font-size:13.5px;color:var(--body)}
.rx-list{list-style:none;display:flex;flex-direction:column}
.rx{display:flex;align-items:center;gap:14px;padding:13px 0;border-bottom:1px solid var(--line);cursor:pointer;border-radius:8px;transition:background .15s,padding .15s}
.rx:last-child{border-bottom:none}
.rx:hover{background:var(--bg-alt);padding-left:10px;padding-right:10px}
.rx-tag{flex:0 0 104px;text-align:center;font-size:9.5px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;padding:5px 0;border-radius:6px}
.rx-warn .rx-tag{background:rgba(196,122,61,.16);color:#a3652f}
.rx-note .rx-tag{background:rgba(30,58,95,.1);color:var(--navy)}
.rx-mute .rx-tag{background:#eef1f3;color:#8b97a1}
.rx-body{flex:1;min-width:0}
.rx-body b{display:block;font-size:14px;color:var(--ink);font-weight:600;line-height:1.35}
.rx-body span{display:block;font-size:12.5px;color:var(--body);margin-top:3px;line-height:1.5}
.rx-body span b{display:inline;font-size:inherit;color:var(--ink)}
.rx-go{flex:0 0 auto;font-size:12px;font-weight:700;color:var(--teal);opacity:0;transition:.15s}
.rx:hover .rx-go{opacity:1}
@media(max-width:640px){.rx{flex-wrap:wrap}.rx-tag{flex-basis:auto;padding:4px 10px}}

/* ============================================================
   CAP-TABLE AUDIENCE — who has a Cap Table tab
   ============================================================ */
.ctlvl{display:inline-block;padding:3px 9px;border-radius:6px;font-size:10.5px;font-weight:700;white-space:nowrap}
.ct-none{background:#f0f2f4;color:#9aa6ad}
.ct-sum{background:rgba(45,138,138,.14);color:var(--teal-d)}
.tabvis{display:inline-block;font-size:10.5px;font-weight:700;letter-spacing:.02em}
.tabvis.on{color:var(--teal-d)}
.tabvis.on::before{content:"● "}
.tabvis.off{color:#aeb8c0}
.tabvis.off::before{content:"○ "}
.ct-aud{padding:0;overflow:hidden}
.ct-audsum{display:grid;grid-template-columns:auto auto auto 1fr;gap:28px;align-items:start;padding:22px 26px;background:var(--bg-alt);border-bottom:1px solid var(--line)}
/* Three counters plus the explanatory note do not fit one row below ~1000px;
   stack rather than let the panel push the page sideways. */
@media(max-width:1000px){.ct-audsum{grid-template-columns:repeat(3,auto);gap:20px 26px}.ct-audnote{grid-column:1/-1}}
@media(max-width:620px){.ct-audsum{grid-template-columns:1fr 1fr;gap:18px}}
/* Both capitalization tabs stacked in one cell, so the four combinations
   (own only / company only / both / neither) are scannable down the column. */
.ct-tabs{display:flex;flex-direction:column;gap:4px;align-items:flex-start}
/* "Not a holder" — deliberately not a control, so it must not look like one. */
.ct-na{font-size:11.5px;color:#aeb8c0;font-weight:600;font-style:italic}

/* ---- ON/OFF TOGGLE ----
   One per capitalization tab. The word On/Off sits next to the switch so the
   state never relies on colour alone, and the caption says what "On" grants. */
.tglwrap{display:grid;grid-template-columns:auto auto;gap:2px 9px;align-items:center}
.tgl{position:relative;width:38px;height:22px;flex:0 0 38px;border:0;border-radius:999px;background:#c8d0d6;cursor:pointer;padding:0;transition:background .18s var(--ease-out-expo)}
.tgl:hover{background:#b6c0c8}
.tgl.on,.tgl.on:hover{background:var(--teal)}
.tgl-knob{position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(16,32,48,.3);transition:transform .18s var(--ease-out-expo)}
.tgl.on .tgl-knob{transform:translateX(16px)}
.tgl:focus-visible{outline:2px solid var(--navy);outline-offset:2px}
.tgl-state{font-size:11.5px;font-weight:800;color:#8b97a1;letter-spacing:.02em}
.tgl-state.on{color:var(--teal-d)}
.tgl-cap{grid-column:1/-1;font-size:11px;color:#9aa6ad;line-height:1.35}
@media(max-width:620px){.tgl-cap{display:none}}
/* The My Holdings control lives only on Admin → Cap Table, where every holder
   is listed. The access drawer opens for prospect companies, which hold
   nothing, so a control there would be unreachable — it shows the read-only
   chips instead. */
.ct-audbig{font-size:27px;font-weight:800;color:var(--ink);line-height:1;font-variant-numeric:tabular-nums;margin-top:6px}
.ct-audbig small{display:block;font-size:11.5px;font-weight:600;color:#8b97a1;margin-top:5px}
.ct-audnote{font-size:12.5px;color:var(--body);line-height:1.6}
.ct-audnote b{color:var(--ink)}
.ct-aud .gridwrap{padding:0 26px}
.ct-arow td{vertical-align:middle}
.ct-seg{display:inline-flex;border:1.5px solid var(--line);border-radius:9px;overflow:hidden}
.ct-segb{border:0;border-right:1px solid var(--line);background:#fff;font:inherit;font-size:11.5px;font-weight:600;color:var(--body);padding:7px 11px;cursor:pointer;transition:.14s;white-space:nowrap}
.ct-segb:last-child{border-right:0}
.ct-segb:hover{background:var(--bg-alt);color:var(--ink)}
.ct-segb.on{background:var(--navy);color:#fff}
.ct-staffrow{display:flex;gap:12px;align-items:center;flex-wrap:wrap;padding:16px 26px 20px}
.ct-staff{font-size:12px;color:var(--ink);font-weight:600;background:var(--bg-alt);padding:5px 11px;border-radius:7px}
.ct-staff small{color:#8b97a1;font-weight:400;margin-left:5px}
.ad-ctres{margin-top:8px}

/* ============================================================
   PEOPLE CARDS — the analytics front door
   ============================================================ */
.pc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(298px,1fr));gap:16px}
.pc{display:flex;flex-direction:column;gap:14px;text-align:left;background:#fff;border:1.5px solid var(--line);border-radius:14px;padding:20px 22px;font:inherit;cursor:pointer;transition:.18s var(--ease-out-expo)}
.pc:hover{border-color:var(--teal);transform:translateY(-2px);box-shadow:0 12px 30px rgba(14,27,42,.08)}
.pc-top{display:flex;align-items:flex-start;gap:12px}
.pc-av{flex:0 0 42px;height:42px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:800;color:#fff;background:var(--navy)}
.pc-av.hot{background:linear-gradient(140deg,var(--teal),var(--teal-d))}
.pc-av.warm{background:var(--teal-l)}
.pc-av.cool{background:#aeb8c0}
.pc-id{flex:1;min-width:0}
.pc-id b{display:block;font-size:15px;color:var(--ink);line-height:1.3}
.pc-id span{display:block;font-size:11.5px;color:#8b97a1;margin-top:2px}
.pc-flag{flex:0 0 auto;font-size:9.5px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;padding:3px 8px;border-radius:5px}
.pc-flag.hot{background:var(--teal);color:#fff}
.pc-flag.warn{background:rgba(196,122,61,.16);color:#a3652f}
.pc-score{display:flex;align-items:center;gap:13px}
.pc-ring{flex:0 0 46px;height:46px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-variant-numeric:tabular-nums;border:3px solid var(--line)}
.pc-ring b{font-size:15px;font-weight:800;color:var(--ink)}
.pc-ring.hot{border-color:var(--teal)}
.pc-ring.warm{border-color:var(--teal-l)}
.pc-ring.cool{border-color:#dbe1e5}
.pc-sl b{display:block;font-size:13px;color:var(--ink)}
.pc-sl span{display:block;margin-top:2px}
.pc-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:12px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.pc-stats span{font-size:10.5px;color:#8b97a1;text-transform:uppercase;letter-spacing:.05em;font-weight:700}
.pc-stats b{display:block;font-size:15px;color:var(--ink);font-weight:800;font-variant-numeric:tabular-nums;text-transform:none;letter-spacing:0;margin-bottom:2px}
.pc-foot{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}
.pc-chips{display:flex;gap:5px;flex-wrap:wrap}
.pc-stage{font-size:11px;color:#8b97a1;font-weight:600}
.pc-last{display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:11px;color:#aeb8c0;font-variant-numeric:tabular-nums}
.pc-go{color:var(--teal);font-weight:700;opacity:0;transition:.15s}
.pc:hover .pc-go{opacity:1}

/* ---- one investor's profile ---- */
.pf-back{border:0;background:transparent;font:inherit;font-size:13px;font-weight:700;color:var(--teal-d);cursor:pointer;padding:0;margin-bottom:20px}
.pf-back:hover{gap:10px}
.pf-head{display:flex;align-items:flex-start;gap:18px;flex-wrap:wrap;padding-bottom:22px;border-bottom:1px solid var(--line);margin-bottom:22px}
.pf-av{flex:0 0 58px;height:58px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:19px;font-weight:800;color:#fff;background:var(--navy)}
.pf-av.hot{background:linear-gradient(140deg,var(--teal),var(--teal-d))}
.pf-av.warm{background:var(--teal-l)}
.pf-av.cool{background:#aeb8c0}
.pf-id{flex:1;min-width:220px}
.pf-id h1{font-size:29px;line-height:1.1}
.pf-sub{font-size:13.5px;color:var(--body);margin-top:5px}
.pf-chips{display:flex;gap:7px;flex-wrap:wrap;margin-top:11px}
.pf-actions{display:flex;gap:8px;flex-wrap:wrap}
.pf-signals{display:flex;flex-direction:column;gap:2px;margin-bottom:20px}
.pf-signals .sig{border-bottom:1px solid var(--line)}
.pf-signals .sig:last-child{border-bottom:none}
.pf-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1px;background:var(--line);border:1px solid var(--line);border-radius:12px;overflow:hidden}
.pf-k{background:#fff;padding:16px 18px}
.pf-kv{display:flex;align-items:center;gap:10px;margin-top:8px;font-size:12.5px;color:var(--body);font-weight:600}
.pf-kv .pc-ring{flex-basis:40px;height:40px}
.pf-kv2{font-size:23px;font-weight:800;color:var(--ink);margin-top:8px;line-height:1.1;font-variant-numeric:tabular-nums}
.pf-kv2 small{font-size:12px;font-weight:600;color:#8b97a1;margin-left:5px}
.pf-kv2.sm{font-size:14px}
.pf-notes{margin-top:18px;display:flex;flex-direction:column;gap:8px;font-size:13.5px;line-height:1.6}
.pf-notes b{color:var(--ink);margin-right:8px}
.pf-acc{list-style:none;margin-top:10px}
.pf-acc li{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid var(--line);font-size:13px}
.pf-acc li:last-child{border-bottom:none}
.pf-acc span{color:var(--body)}
.pf-acc b{color:var(--ink)}

/* ============================================================
   INVESTOR ROWS — replaces the 10-column table that forced a
   horizontal scroll and squeezed its controls flat.
   ============================================================ */
.ir-list{display:flex;flex-direction:column;gap:14px}
.ir{background:#fff;border:1.5px solid var(--line);border-radius:14px;padding:18px 20px;display:grid;gap:14px;
  grid-template-columns:minmax(240px,1.4fr) minmax(280px,1.6fr);grid-template-areas:"main metrics" "access next"}
.ir.is-lapsed{opacity:.72}
.ir:hover{border-color:#d5dde2}
.ir-main{grid-area:main;display:flex;align-items:flex-start;gap:14px;flex-wrap:wrap}
.ir-who{flex:1;min-width:180px}
.ir-who b{display:block;font-size:16.5px;color:var(--ink);line-height:1.25;cursor:pointer}
.ir-who b:hover{color:var(--teal-d)}
.ir-who span{display:block;font-size:12px;color:#8b97a1;margin-top:3px}
.ir-stage select{min-width:150px;font-size:12.5px;padding:7px 10px;border-radius:8px;border:1.5px solid var(--line);background:#fff;color:var(--ink)}
.ir-stage select:focus{outline:none;border-color:var(--teal)}
.ir-access{grid-area:access;display:flex;align-items:center;gap:9px;flex-wrap:wrap;padding-top:14px;border-top:1px solid var(--line)}
.ir-tag{font-size:9.5px;font-weight:800;letter-spacing:.09em;text-transform:uppercase;color:#aeb8c0}
.ir-sub{font-size:11.5px;color:#8b97a1}
.ir-div{width:1px;height:18px;background:var(--line);margin:0 4px}
.ir-access .btn{margin-left:auto}
.ir-metrics{grid-area:metrics;display:flex;align-items:center;justify-content:flex-end;gap:22px;flex-wrap:wrap}
.ir-metrics span{font-size:9.5px;font-weight:800;letter-spacing:.07em;text-transform:uppercase;color:#aeb8c0;text-align:right}
.ir-metrics b{display:block;font-size:17px;color:var(--ink);font-weight:800;font-variant-numeric:tabular-nums;letter-spacing:0;text-transform:none;margin-bottom:2px}
.ir-metrics .ir-m2{text-align:right}
.ir-next{grid-area:next;padding-top:14px;border-top:1px solid var(--line)}
.ir-next textarea{width:100%;font-size:12.5px;padding:8px 10px;border-radius:9px;border:1.5px solid var(--line);resize:vertical;color:var(--ink)}
.ir-next textarea:focus{outline:none;border-color:var(--teal)}
.ir-next p{font-size:12.5px}
@media(max-width:900px){
  .ir{grid-template-columns:1fr;grid-template-areas:"main" "metrics" "access" "next"}
  .ir-metrics{justify-content:flex-start;gap:26px}
  .ir-metrics span{text-align:left}
  .ir-access .btn{margin-left:0}
}

/* never let a select collapse to an unreadable stub inside a table */
.grid select,.data select{min-width:132px}
.grid td,.grid th{white-space:nowrap}
.grid td.mx-doc,.grid td.name,.grid td.br-namecell{white-space:normal}
/* make it obvious when a wide grid really does scroll */
.gridwrap{position:relative}
.gridwrap::after{content:"";position:absolute;top:0;right:0;bottom:0;width:26px;pointer-events:none;
  background:linear-gradient(90deg,rgba(255,255,255,0),rgba(255,255,255,.92));opacity:0;transition:opacity .2s}
.gridwrap.is-scrollable::after{opacity:1}
/* keep the first column in view when a wide grid scrolls sideways */
.grid-sticky th:first-child,.grid-sticky td:first-child{position:sticky;left:0;background:#fff;z-index:2}
.grid-sticky thead th:first-child{background:var(--navy)}

/* ============================================================
   REPRESENTATIVES (in the access drawer)
   ============================================================ */
.ad-seats{font-size:10px;font-weight:700;color:#aeb8c0;letter-spacing:.04em;text-transform:none}
.rep-list{display:flex;flex-direction:column;gap:10px}
.rep{border:1.5px solid var(--line);border-radius:11px;padding:13px 14px}
.rep-top{display:flex;align-items:flex-start;gap:11px}
.rep-av{flex:0 0 32px;height:32px;border-radius:50%;background:var(--bg-alt);color:var(--navy);display:flex;align-items:center;justify-content:center;font-size:11.5px;font-weight:800}
.rep-id{flex:1;min-width:0}
.rep-id b{display:block;font-size:13.5px;color:var(--ink);line-height:1.3}
.rep-id span{display:block;font-size:11px;color:#8b97a1;margin-top:2px;word-break:break-word}
.rep-state{flex:0 0 auto;font-size:9.5px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;padding:3px 8px;border-radius:5px}
.rep-state.st-active{background:rgba(45,138,138,.14);color:var(--teal-d)}
.rep-state.st-invited{background:rgba(30,58,95,.1);color:var(--navy)}
.rep-state.st-expired{background:rgba(196,122,61,.16);color:#a3652f}
.rep-state.st-staged{background:#eef1f3;color:#8b97a1}
.rep-state.st-suspended{background:rgba(180,69,59,.12);color:#a03e35}
.rep-meta{font-size:11.5px;color:#8b97a1;margin:9px 0 10px;line-height:1.5}
.rep-blocked{color:#a3652f}
.rep-acts{display:flex;gap:6px;flex-wrap:wrap}
.rep-acts .btn{font-size:11px;padding:5px 10px}
.rep-add{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px}
.rep-add input{font-size:12.5px;padding:8px 10px;border-radius:8px;border:1.5px solid var(--line);color:var(--ink);min-width:0}
.rep-add input:focus{outline:none;border-color:var(--teal)}
.rep-add #repTitle{grid-column:1/2}
.rep-add .btn{grid-column:2/3}
.rep-cap{display:inline-flex;align-items:center;gap:7px;margin-top:10px;font-size:11px;color:#8b97a1;font-weight:700}
.rep-cap input{width:56px;font-size:12px;padding:4px 7px;border-radius:7px;border:1.5px solid var(--line);color:var(--ink)}

/* ---- NDA record ---- */
.nda-on,.nda-off{display:flex;flex-direction:column;gap:9px;padding:13px 14px;border-radius:11px;background:var(--bg-alt)}
.nda-on{border-left:3px solid var(--teal)}
.nda-off{border-left:3px solid var(--warn)}
.nda-det{font-size:12.5px;color:var(--ink)}
.nda-det span{display:block;font-size:11px;color:#8b97a1;margin-top:2px}
.nda-rec{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:4px}
.nda-rec input{font-size:12.5px;padding:8px 10px;border-radius:8px;border:1.5px solid var(--line);color:var(--ink);min-width:0}
.nda-rec input:focus{outline:none;border-color:var(--teal)}
.nda-rec .btn{grid-column:1/-1}

/* ---- awaiting-NDA steps (representative-facing) ---- */
.aw-steps{list-style:none;counter-reset:aw;margin-top:12px;display:flex;flex-direction:column;gap:14px}
.aw-steps li{counter-increment:aw;position:relative;padding-left:38px}
.aw-steps li::before{content:counter(aw);position:absolute;left:0;top:0;width:26px;height:26px;border-radius:50%;
  background:var(--teal);color:#fff;display:flex;align-items:center;justify-content:center;font-size:12.5px;font-weight:800}
.aw-steps b{display:block;font-size:14.5px;color:var(--ink)}
.aw-steps span{display:block;font-size:13px;color:var(--body);margin-top:2px}

/* ---- representatives strip on a company profile ---- */
.pf-crumb{font-size:12.5px;color:var(--body);background:var(--bg-alt);padding:10px 14px;border-radius:9px;margin-bottom:18px}
.pf-crumb b{color:var(--teal-d);cursor:pointer}
.pf-crumb b:hover{text-decoration:underline}
.rs-list{display:flex;flex-direction:column;gap:8px}
.rs{display:flex;align-items:center;gap:14px;width:100%;text-align:left;background:#fff;border:1.5px solid var(--line);border-radius:11px;padding:12px 14px;font:inherit;cursor:pointer;transition:.15s}
.rs:hover{border-color:var(--teal);background:rgba(45,138,138,.03)}
.rs-av{flex:0 0 34px;height:34px;border-radius:50%;background:var(--bg-alt);color:var(--navy);display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:800}
.rs-id{flex:1;min-width:120px}
.rs-id b{display:block;font-size:13.5px;color:var(--ink)}
.rs-id span{display:block;font-size:11px;color:#8b97a1;margin-top:1px}
.rs-stat{flex:0 0 auto;font-size:9.5px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#aeb8c0;text-align:center;min-width:56px}
.rs-stat b{display:block;font-size:15px;color:var(--ink);font-variant-numeric:tabular-nums;letter-spacing:0;text-transform:none;margin-bottom:1px}
.rs-focus{flex:0 0 auto;max-width:280px;font-size:11.5px;color:#8b97a1;text-align:right}
.rs-focus b{color:var(--ink)}
.rs-go{flex:0 0 auto;color:var(--teal);font-weight:800;opacity:0;transition:.15s}
.rs:hover .rs-go{opacity:1}
@media(max-width:760px){.rs{flex-wrap:wrap}.rs-focus{text-align:left;max-width:none;flex-basis:100%}}

/* ---- chart legends + scatter ---- */
.sc-legend{display:flex;gap:16px;align-items:center;flex-wrap:wrap;margin-top:14px;font-size:11.5px;color:var(--body)}
.sc-legend i{display:inline-block;width:11px;height:11px;border-radius:3px;margin-right:6px;vertical-align:-1px}
.sc-dot{cursor:pointer}
.sc-dot:hover circle{fill-opacity:.42}
.an-tabs{margin-bottom:20px}

/* ---- readiness checklist ---- */
.rd-head{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;flex-wrap:wrap;padding-bottom:16px;border-bottom:1px solid var(--line);margin-bottom:6px}
.rd-score{display:flex;align-items:center;gap:12px;flex:0 0 auto}
.rd-track{width:150px;height:9px;border-radius:999px;background:#eef1f3;overflow:hidden}
.rd-fill{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,var(--teal-l),var(--teal-d))}
.rd-score b{font-size:19px;color:var(--ink);font-variant-numeric:tabular-nums}
.rd-list{list-style:none;display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:2px 22px}
.rd-item{display:flex;gap:12px;align-items:flex-start;padding:10px 0;border-bottom:1px solid var(--line)}
.rd-mark{flex:0 0 20px;height:20px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:800;margin-top:2px}
.rd-item.ok .rd-mark{background:rgba(45,138,138,.14);color:var(--teal-d)}
.rd-item.part .rd-mark{background:rgba(196,122,61,.18);color:#a3652f}
.rd-item.gap .rd-mark{background:rgba(180,69,59,.11);color:#a03e35}
.rd-body b{display:block;font-size:13.5px;color:var(--ink);font-weight:600;line-height:1.35}
.rd-body span{display:block;font-size:11.5px;color:#8b97a1;margin-top:2px}
.rd-item.gap .rd-body b{color:#a03e35}

/* ---- cap-table editing ---- */
.ct-holder{margin-bottom:16px}
.cth-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding-bottom:14px;border-bottom:1px solid var(--line);margin-bottom:8px}
.ct-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px;padding:6px 0}
.ct-form .field label{display:block;font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:#8b97a1;margin-bottom:5px}
.ct-form input,.ct-form select{width:100%;font-size:13.5px;padding:8px 10px;border-radius:8px;border:1.5px solid var(--line);color:var(--ink);background:#fff}
.ct-form input:focus,.ct-form select:focus{outline:none;border-color:var(--teal)}
.ct-actions{display:flex;gap:8px;align-items:flex-end;flex-wrap:wrap}
.ct-opt{display:flex;gap:14px;flex-wrap:wrap;padding:12px;background:var(--bg-alt);border-radius:10px;margin-top:6px}
.ct-opt .field{min-width:130px}
tr.ct-editing td{background:rgba(45,138,138,.05);padding:14px 12px !important}
.ct-err{display:flex;flex-direction:column;gap:4px;margin-top:8px}
.ct-err span{font-size:12.5px;color:#a03e35;font-weight:600}
.ct-cls{font-size:12.5px;padding:6px 8px;border-radius:7px;border:1.5px solid var(--line);width:92px;color:var(--ink)}

/* ---- funnel ---- */
.fn{display:flex;flex-direction:column;gap:3px}
.fn-step{display:grid;grid-template-columns:1fr 260px 54px;gap:16px;align-items:center;padding:9px 0;border-bottom:1px solid var(--line)}
.fn-step:last-child{border-bottom:none}
.fn-bar{position:relative;height:34px;background:var(--bg-alt);border-radius:8px;overflow:hidden;display:flex;align-items:center}
.fn-fill{height:100%;background:linear-gradient(90deg,var(--teal),var(--teal-d));border-radius:8px;transition:width .8s var(--ease-out-expo)}
.fn-n{position:absolute;left:12px;font-size:14px;font-weight:800;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.25)}
.fn-lbl b{display:block;font-size:13.5px;color:var(--ink)}
.fn-lbl span{display:block;font-size:11.5px;color:#8b97a1}
.fn-who{color:var(--teal-d) !important;font-weight:600;margin-top:2px}
.fn-conv{text-align:right;font-size:13px;font-weight:800;font-variant-numeric:tabular-nums}
.fn-conv.ok{color:var(--teal-d)} .fn-conv.mid{color:#a3652f} .fn-conv.low{color:#a03e35}
@media(max-width:820px){.fn-step{grid-template-columns:1fr;gap:6px}.fn-conv{text-align:left}}

/* ============================================================
   NARROW VIEWPORTS — the top bar was 232px of controls on one row,
   which pushed the whole page into a horizontal scroll. Nothing
   is removed that carries information: the avatar keeps identity,
   and the tab bar already scrolls on its own.
   ============================================================ */
@media(max-width:620px){
  /* charts that sit beside a legend must stack, or the legend runs off-screen */
  .grid-chart{grid-template-columns:1fr !important;gap:18px !important}
  .grid2{grid-template-columns:1fr}
  .wrap{padding:0 18px}
  .nav-in{height:60px}
  .brand-sub{display:none}
  .logo{font-size:18px}
  .logo .dropimg{height:23px}
  .nav-right{gap:10px}
  .who{display:none}
  #signOutBtn{padding:8px 14px;font-size:13px}
  .discbar .db-in{flex-direction:column;align-items:flex-start;gap:4px}
  .page-head h1{font-size:26px}
  .tabs{top:60px}
  .dh-rail{position:static;max-height:none}
}
@media(max-width:420px){
  .wrap{padding:0 14px}
  .avatar-badge{width:32px;height:32px;font-size:12px}
  #signOutBtn{padding:7px 12px;font-size:12px}
}

/* notification items are now links to the thing they mention */
.notif-panel .ni{display:block;cursor:pointer;transition:background .15s}
.notif-panel a.ni:hover{background:var(--bg-alt)}
.notif-panel .ni-empty{cursor:default;color:#8b97a1}

/* ============================================================
   ASK-US FORM · HELP BUBBLE · SLACK STATUS
   ============================================================ */
.ask{margin-top:14px}
.ask-row{display:flex;gap:14px;align-items:flex-end;flex-wrap:wrap;margin-bottom:14px}
.ask-f{display:block;flex:1;min-width:0}
.ask-f>span{display:block;font-size:10.5px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:#aeb8c0;margin-bottom:6px}
.ask-f select,.ask-f textarea{width:100%;font-size:14px;padding:10px 12px;border-radius:9px;border:1.5px solid var(--line);color:var(--ink);background:#fff;font-family:inherit}
.ask-f select:focus,.ask-f textarea:focus{outline:none;border-color:var(--teal)}
.ask-f textarea{resize:vertical;min-height:96px}
.ask-owner{flex:0 0 auto}
.ask-owner b{display:block;font-size:14px;color:var(--teal-d);padding:10px 0}
.ask-ctx{font-size:12.5px;color:var(--body);background:var(--bg-alt);padding:8px 12px;border-radius:8px;margin-bottom:12px}
.ask-ctx b{color:var(--ink)}
.ask-foot{display:flex;gap:14px;align-items:center;flex-wrap:wrap;margin-top:14px}
.ask-fine{font-size:11.5px;color:#8b97a1;flex:1;min-width:180px;line-height:1.5}
.ask-err{display:flex;flex-direction:column;gap:4px;margin-top:10px}
.ask-err span{font-size:12.5px;color:#a03e35;font-weight:600}
.sup-ask h3{margin-bottom:2px}
.sup-contact{margin:6px 0;font-size:14.5px;color:var(--ink)}
.sup-note{margin-top:14px;padding-top:14px;border-top:1px solid var(--line);font-size:12.5px;color:#8b97a1;line-height:1.55}
.sup-how{list-style:none;counter-reset:sh;margin-top:14px;display:flex;flex-direction:column;gap:13px}
.sup-how li{counter-increment:sh;position:relative;padding-left:32px}
.sup-how li::before{content:counter(sh);position:absolute;left:0;top:1px;width:22px;height:22px;border-radius:50%;
  background:rgba(45,138,138,.14);color:var(--teal-d);display:flex;align-items:center;justify-content:center;font-size:11.5px;font-weight:800}
.sup-how b{display:block;font-size:14px;color:var(--ink)}
.sup-how span{display:block;font-size:12.5px;color:var(--body);margin-top:2px;line-height:1.5}
.sup-faq{border-bottom:1px solid var(--line);padding:12px 0}
.sup-faq:last-child{border-bottom:none}
.sup-faq summary{cursor:pointer;color:var(--ink);font-weight:600;font-size:14.5px}
.sup-faq p{margin-top:8px;font-size:14px;line-height:1.65;color:var(--body)}
.qa-ctx{font-size:12px;color:#8b97a1;margin-bottom:8px}

/* floating help button */
/* above the document viewer (500) so it stays reachable while reading */
.help-bubble{position:fixed;bottom:22px;right:22px;z-index:520;width:54px;height:54px;border:0;border-radius:50%;
  background:var(--teal);color:#fff;font-size:24px;font-weight:800;cursor:pointer;
  box-shadow:0 8px 26px rgba(45,138,138,.42);transition:.18s var(--ease-out-expo)}
.help-bubble:hover{background:var(--teal-d);transform:translateY(-2px);box-shadow:0 12px 32px rgba(45,138,138,.5)}
.help-bubble span{display:block;line-height:1;margin-top:-2px}
body.previewing .help-bubble{bottom:78px}
.help-panel{position:fixed;bottom:88px;right:22px;z-index:521;width:min(420px,calc(100vw - 32px));
  background:#fff;border:1px solid var(--line);border-radius:16px;padding:20px 22px 18px;
  box-shadow:0 22px 60px rgba(14,27,42,.2);animation:adIn .18s ease-out}
body.previewing .help-panel{bottom:144px}
.hp-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}
.hp-head b{font-size:16px;color:var(--ink)}
.hp-x{border:0;background:transparent;font-size:24px;line-height:1;color:#aeb8c0;cursor:pointer;padding:0 2px}
.hp-x:hover{color:var(--ink)}
.hp-foot{margin-top:14px;padding-top:12px;border-top:1px solid var(--line);font-size:12px;color:#8b97a1}
.hp-foot a{color:var(--teal-d);font-weight:600}
@media(max-width:620px){
  .help-bubble{bottom:16px;right:16px;width:50px;height:50px;font-size:22px}
  .help-panel{right:12px;left:12px;bottom:76px;width:auto;padding:18px 16px 16px;max-height:74vh;overflow-y:auto}
}

/* admin: answer a question inline */
.anq-list{display:flex;flex-direction:column;gap:14px;margin-top:12px}
.anq{border:1.5px solid var(--line);border-radius:12px;padding:14px}
.anq-head{display:flex;align-items:center;gap:12px;margin-bottom:10px}
.anq-meta b{display:block;font-size:13.5px;color:var(--ink)}
.anq-meta span{display:block;font-size:11.5px;color:#8b97a1;margin-top:1px}
.anq-q{font-size:14.5px;color:var(--ink);font-weight:600;line-height:1.5;margin-bottom:10px}
.anq-a{width:100%;font-size:13.5px;padding:9px 11px;border-radius:9px;border:1.5px solid var(--line);resize:vertical;font-family:inherit;color:var(--ink)}
.anq-a:focus{outline:none;border-color:var(--teal)}
.anq-acts{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:10px}
.anq-own{font-size:12px;padding:7px 9px;border-radius:8px;border:1.5px solid var(--line);color:var(--body);background:#fff}
.anq-un{color:#a3652f}

/* Slack status */
.sk-card{padding:20px 22px}
.sk-head{display:flex;gap:14px;align-items:flex-start;flex-wrap:wrap}
.sk-badge{flex:0 0 auto;font-size:10px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;padding:5px 11px;border-radius:6px}
.sk-badge.on{background:rgba(45,138,138,.14);color:var(--teal-d)}
.sk-badge.off{background:rgba(196,122,61,.16);color:#a3652f}
.sk-h{flex:1;min-width:200px;font-size:13.5px;color:var(--body);line-height:1.55}
.sk-h b{color:var(--ink)}
.sk-count{display:block;font-size:11.5px;color:#8b97a1;margin-top:3px}
.sk-list{list-style:none;display:flex;flex-direction:column;margin-top:14px}
.sk-row{display:flex;align-items:center;gap:12px;padding:11px 0;border-bottom:1px solid var(--line)}
.sk-row:last-child{border-bottom:none}
.sk-st{flex:0 0 58px;text-align:center;font-size:9.5px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;padding:4px 0;border-radius:5px}
.sk-st.sent{background:rgba(45,138,138,.14);color:var(--teal-d)}
.sk-st.queued{background:#eef1f3;color:#8b97a1}
.sk-body{flex:1;min-width:0}
.sk-body b{display:block;font-size:13px;color:var(--ink);font-weight:600;line-height:1.4}
.sk-body span{display:block;font-size:11px;color:#8b97a1;margin-top:2px;font-variant-numeric:tabular-nums}
.sk-view{flex:0 0 auto;border:1px solid var(--line);background:#fff;border-radius:7px;padding:4px 10px;font:inherit;font-size:11px;font-weight:700;color:var(--teal-d);cursor:pointer}
.sk-view:hover{border-color:var(--teal)}
.sk-pre{margin-top:14px;background:var(--ink2);color:#cfe3e3;padding:16px;border-radius:10px;font-size:11.5px;line-height:1.55;overflow-x:auto;max-height:340px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}
.sk-setup{margin-top:16px;padding-top:14px;border-top:1px solid var(--line)}
.sk-setup summary{cursor:pointer;font-size:13px;font-weight:700;color:var(--teal-d)}
.sk-steps{margin:14px 0 0 18px;display:flex;flex-direction:column;gap:10px}
.sk-steps b{display:block;font-size:13.5px;color:var(--ink)}
.sk-steps span{display:block;font-size:12.5px;color:var(--body);margin-top:2px;line-height:1.55}
.sk-warn{margin-top:14px;padding:12px 14px;background:rgba(180,69,59,.06);border-left:3px solid var(--danger);border-radius:0 8px 8px 0;font-size:12.5px;color:var(--body);line-height:1.6}
.sk-warn b{color:#a03e35}

/* ============================================================
   CONTEXTUAL HELP — "?" markers and one repositioning popover
   ============================================================ */
.hx{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;flex:0 0 auto;
  margin-left:6px;padding:0;border:0;border-radius:50%;background:#dbe1e5;color:#fff;
  font:inherit;font-size:11px;font-weight:800;line-height:1;cursor:help;vertical-align:1px;
  transition:background .14s}
.hx:hover,.hx:focus-visible{background:var(--teal);outline:none}
.hx:focus-visible{box-shadow:0 0 0 3px rgba(45,138,138,.3)}
/* on dark headers the grey marker disappears — lift it */
.admin-head .hx,.dr-access .hx,.ad-outcome .hx{background:rgba(255,255,255,.32)}
.admin-head .hx:hover,.ad-outcome .hx:hover{background:#fff;color:var(--navy)}
.section-label .hx{vertical-align:2px}
.hpop{position:fixed;z-index:900;max-width:min(320px,calc(100vw - 24px));background:var(--ink2);color:#eef4f5;
  padding:11px 14px;border-radius:10px;font-size:12.5px;font-weight:400;line-height:1.55;letter-spacing:0;
  text-transform:none;box-shadow:0 14px 40px rgba(0,0,0,.32);opacity:0;pointer-events:none;transition:opacity .13s}
.hpop.on{opacity:1}
.hpop::after{content:"";position:absolute;left:var(--arrow,50%);transform:translateX(-50%);
  border:6px solid transparent;border-top-color:var(--ink2);top:100%}
.hpop.below::after{top:auto;bottom:100%;border-top-color:transparent;border-bottom-color:var(--ink2)}
/* the inline dotted term keeps its look but now shares the popover engine */
.tt{border-bottom:1px dotted var(--teal-d);cursor:help}
.tt:focus-visible{outline:2px solid rgba(45,138,138,.4);outline-offset:2px}

/* ---- chart summary strip (values in text, above the graphic) ---- */
.ch-head{display:flex;gap:34px;flex-wrap:wrap;padding-bottom:16px;margin-bottom:6px;border-bottom:1px solid var(--line)}
.ch-sum b{display:block;font-size:20px;font-weight:800;color:var(--ink);line-height:1.1;font-variant-numeric:tabular-nums}
.ch-sum span{display:block;font-size:11.5px;color:#8b97a1;margin-top:3px}
.do-cliff{flex:0 0 auto;font-size:12px;font-weight:700;color:#a03e35;background:rgba(180,69,59,.08);padding:6px 12px;border-radius:8px}
/* SVG bars: hover is a bonus, the labels do the work */
main svg rect:hover{opacity:.82}

/* ---- score breakdown ---- */
.sb-list{list-style:none;display:flex;flex-direction:column;gap:2px;margin-top:10px}
.sb-row{display:grid;grid-template-columns:110px 1fr 44px;gap:10px;align-items:center;padding:9px 0;border-bottom:1px solid var(--line)}
.sb-row:last-child{border-bottom:none}
.sb-k{font-size:12.5px;font-weight:700;color:var(--ink)}
.sb-track{height:8px;border-radius:999px;background:#eef1f3;overflow:hidden}
.sb-fill{display:block;height:100%;border-radius:999px;background:var(--teal)}
.sb-v{text-align:right;font-size:12.5px;font-weight:800;color:var(--ink);font-variant-numeric:tabular-nums}
.sb-d{grid-column:1/-1;font-size:11.5px;color:#8b97a1;margin-top:-4px}
.sb-d em{color:#aeb8c0;font-style:normal}

/* ---- session reconstruction ---- */
.ses-list{list-style:none;display:flex;flex-direction:column;gap:14px;margin-top:12px}
.ses{border-left:2px solid var(--line);padding-left:16px}
.ses-head{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:8px}
.ses-head b{font-size:13px;color:var(--ink);font-variant-numeric:tabular-nums}
.ses-head span{font-size:11.5px;color:#8b97a1}
.ses-path{list-style:none;counter-reset:step;display:flex;flex-direction:column;gap:5px}
.ses-path li{display:flex;align-items:center;gap:9px;font-size:12.5px;color:var(--body)}
.ses-idx{font-variant-numeric:tabular-nums;font-size:10.5px;font-weight:700;color:#aeb8c0;min-width:34px}
.ses-t{margin-left:auto;font-size:11px;color:#aeb8c0;white-space:nowrap}
.an-next{margin-top:14px;padding-top:14px;border-top:1px solid var(--line);font-size:13.5px;color:var(--body)}
.an-next b{color:var(--ink);margin-right:8px}

/* ---- audit + security ---- */
.au-tabs{display:flex;gap:8px;margin-bottom:18px}
.au-tab{border:1px solid var(--line);background:#fff;border-radius:999px;padding:8px 18px;font:inherit;font-size:13.5px;font-weight:600;color:var(--body);cursor:pointer;transition:.15s}
.au-tab:hover{border-color:var(--ink);color:var(--ink)}
.au-tab.on{background:var(--ink2);border-color:var(--ink2);color:#fff}
.au-filters{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:14px}
.au-filters input[type=text]{flex:1;min-width:200px;font-size:13.5px;padding:9px 12px;border-radius:9px;border:1.5px solid var(--line);color:var(--ink)}
.au-filters input[type=text]:focus{outline:none;border-color:var(--teal)}
.au-filters select,.au-filters input[type=date]{font-size:12.5px;padding:8px 10px;border-radius:8px;border:1.5px solid var(--line);color:var(--ink);background:#fff}
.au-dl{font-size:11.5px;color:#8b97a1;font-weight:600;display:flex;align-items:center;gap:6px}
.au-integrity{display:flex;gap:20px;align-items:center;flex-wrap:wrap;margin-bottom:16px;font-size:12.5px;color:var(--body);padding:14px 20px}
.au-integrity b{color:var(--ink)}
.au-hash code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;background:var(--bg-alt);padding:3px 8px;border-radius:6px;color:var(--teal-d)}
.av-meta .hash{color:#cfd6db}
.sec-list .sec-row{display:flex;align-items:center;gap:14px;padding:13px 0;border-bottom:1px solid var(--line)}
.sec-row:last-child{border-bottom:none}
.sec-risk{flex:0 0 62px;text-align:center;font-size:10px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;padding:4px 0;border-radius:6px;background:#eef1f3;color:#8b97a1}
.sec-row.r3 .sec-risk{background:rgba(180,69,59,.13);color:#a03e35}
.sec-row.r2 .sec-risk{background:rgba(196,122,61,.16);color:#a3652f}
.sec-row.r3{background:rgba(180,69,59,.035)}
.sec-alert{border-left:3px solid var(--danger)}
.ev-badge.newip,.ev-badge.capture{background:rgba(180,69,59,.11);color:#a03e35}
.ev-badge.stage,.ev-badge.captable,.ev-badge.upload,.ev-badge.release,.ev-badge.withdraw,.ev-badge.version,.ev-badge.folder,.ev-badge.class,.ev-badge.pool,.ev-badge.mark,.ev-badge.holder,.ev-badge.cancel,.ev-badge.export{background:rgba(30,58,95,.1);color:var(--navy)}

/* ============================================================
   RAISE COCKPIT — internal fundraising screens
   ============================================================ */
.rz-close{text-align:right}
.rz-days{font-size:34px;font-weight:800;color:#fff;line-height:1;letter-spacing:-.03em}
.rz-days small{display:block;font-size:11px;font-weight:700;letter-spacing:.1em;opacity:.7;margin-top:4px}
.ms .mss{font-size:11px;color:#8b97a1;margin-top:5px;font-weight:600;line-height:1.35}

/* commitment state chips (read-only view) */
.cm{display:inline-block;padding:3px 9px;border-radius:6px;font-size:10.5px;font-weight:700;white-space:nowrap}
.cm-committed{background:var(--teal-d);color:#fff}
.cm-soft{background:rgba(45,138,138,.16);color:var(--teal-d)}
.cm-considering{background:#f0f2f4;color:#7d8a94}
.cm-passed{background:#f7eaea;color:#8c2f39}

/* the two modeling cards read as links, so make that obvious */
a.rz-link{display:block;text-decoration:none;color:inherit;transition:.16s var(--ease-out-expo)}
a.rz-link:hover{transform:translateY(-2px);box-shadow:0 10px 26px rgba(16,32,48,.10);border-color:var(--teal)}
a.rz-link h3{color:var(--teal-d)}

/* ---------- pre-meeting brief ---------- */
body.bp-open{overflow:hidden}
#briefHost{position:fixed;inset:0;z-index:540;background:rgba(14,27,42,.55);display:flex;justify-content:center;
  align-items:flex-start;padding:34px 20px;overflow-y:auto;animation:fadeIn .16s ease both}
.rz-bp{background:#fff;border-radius:18px;max-width:1000px;width:100%;padding:28px 30px 26px;
  box-shadow:0 30px 70px rgba(10,22,36,.30)}
.bp-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;
  padding-bottom:18px;border-bottom:1px solid var(--line);margin-bottom:20px}
.bp-head h2{margin:4px 0 0;font-size:25px;letter-spacing:-.02em;color:var(--navy)}
.bp-head .sub{font-size:12.5px;color:var(--body);margin-top:5px}
.bp-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:24px}
.bp-card{border:1px solid var(--line);border-radius:12px;padding:15px 16px;background:var(--bg-alt)}
.bp-big{font-size:26px;font-weight:800;color:var(--ink);line-height:1;margin:7px 0 5px;letter-spacing:-.02em;
  font-variant-numeric:tabular-nums}
.bp-big small{font-size:12.5px;font-weight:700;color:#8b97a1;margin-left:3px}
.bp-sec{font-size:10.5px;font-weight:800;letter-spacing:.11em;text-transform:uppercase;color:#8b97a1;
  margin:24px 0 11px}
.bp-sec:first-of-type{margin-top:0}

/* the three things to walk in with — deliberately the loudest block */
.bp-points{margin:0;padding-left:22px;display:flex;flex-direction:column;gap:9px}
.bp-points li{font-size:14px;line-height:1.5;color:var(--ink);font-weight:500}
.bp-two{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin-top:8px}

.bp-bars{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:9px}
.bp-bars li{display:grid;grid-template-columns:1fr 88px auto;align-items:center;gap:10px;font-size:12.5px}
.bpb-l{color:var(--ink);font-weight:600}
.bp-bars b{font-variant-numeric:tabular-nums;font-size:12px;color:var(--teal-d);text-align:right}

.bp-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:7px}
.bp-list li{display:flex;justify-content:space-between;gap:12px;font-size:12.5px;padding-bottom:7px;
  border-bottom:1px dashed var(--line)}
.bp-list li:last-child{border-bottom:none}
.bp-list b{font-weight:600;color:var(--ink)}
.bp-list span{color:#8b97a1;font-variant-numeric:tabular-nums;white-space:nowrap}

.bp-q{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:9px}
.bp-q li{font-size:12.5px;line-height:1.5;color:var(--body)}
.bpq-open,.bpq-done{display:inline-block;font-size:9.5px;font-weight:800;letter-spacing:.06em;
  padding:2px 7px;border-radius:5px;margin-right:7px;vertical-align:1px}
.bpq-open{background:#f7eaea;color:#8c2f39}
.bpq-done{background:rgba(45,138,138,.14);color:var(--teal-d)}

.bp-reps{display:flex;flex-wrap:wrap;gap:8px}
.bp-rep{font-size:11.5px;color:var(--body);background:var(--bg-alt);border:1px solid var(--line);
  border-radius:999px;padding:6px 12px}
.bp-rep b{color:var(--ink)}

@media(max-width:900px){
  .bp-grid{grid-template-columns:1fr 1fr}
  .bp-two{grid-template-columns:1fr;gap:4px}
}
@media(max-width:620px){
  #briefHost{padding:0}
  .rz-bp{border-radius:0;min-height:100%;padding:20px 16px}
  .bp-grid{gap:10px}
  .bp-bars li{grid-template-columns:1fr 56px auto}
  .rz-days{font-size:26px}
}

/* ============================================================
   VIEW AS — access verification
   ============================================================ */
.va-intro{font-size:13px;line-height:1.6;color:var(--body);background:var(--bg-alt);border-left:3px solid var(--teal)}
.va-intro b{color:var(--ink)}
.va-ok{font-size:11px;font-weight:700;color:var(--teal-d)}
.va-ok::before{content:"● "}
.va-blocked{font-size:11px;font-weight:700;color:#8c2f39;line-height:1.35;display:inline-block;max-width:190px}
.va-blocked::before{content:"○ "}
.va-t{display:inline-block;font-size:10px;font-weight:800;letter-spacing:.02em;padding:2px 7px;border-radius:5px;margin:0 4px 3px 0;white-space:nowrap}
.va-t.on{background:rgba(45,138,138,.14);color:var(--teal-d)}
.va-t.off{background:#f0f2f4;color:#aeb8c0;text-decoration:line-through}
.va-tabs{max-width:290px}
.va-tab{display:inline-block;font-size:10.5px;font-weight:600;color:var(--body);background:#fff;
  border:1px solid var(--line);border-radius:999px;padding:2px 9px;margin:0 4px 4px 0;white-space:nowrap}
.va-row:hover{background:var(--bg-alt)}
@media(max-width:900px){.va-tabs{max-width:none}}

/* ============================================================
   CLOSING PANEL
   ============================================================ */
.cl-panel{max-width:720px}
.cl-jur{border:1px solid var(--line);border-radius:12px;padding:15px 17px;background:var(--bg-alt);margin-bottom:6px}
.cl-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}
.cl-item{display:flex;align-items:flex-start;gap:12px;padding:13px 4px;border-bottom:1px solid var(--line)}
.cl-item:last-child{border-bottom:none}
.cl-item.cl-term{margin-top:6px;border-top:1px solid var(--line);background:linear-gradient(90deg,rgba(45,138,138,.05),transparent)}
.cl-box-l{cursor:pointer;flex:0 0 auto;line-height:0}
.cl-box-l input{position:absolute;opacity:0;width:0;height:0}
.cl-box{display:inline-flex;align-items:center;justify-content:center;width:21px;height:21px;border-radius:6px;
  border:1.5px solid var(--line);background:#fff;color:#fff;font-size:12px;font-weight:800;flex:0 0 21px;transition:.14s}
.cl-box-l:hover .cl-box{border-color:var(--teal)}
.cl-box.on{background:var(--teal-d);border-color:var(--teal-d)}
.cl-box-l input:focus-visible + .cl-box{outline:2px solid var(--navy);outline-offset:2px}
.cl-txt{display:flex;flex-direction:column;gap:3px}
.cl-txt b{font-size:13.5px;font-weight:600;color:var(--ink);line-height:1.35}
.cl-txt span{font-size:11.5px;color:#8b97a1;line-height:1.4}
.cl-item.done .cl-txt b{color:var(--teal-d)}
.cl-foot{margin-top:20px;padding-top:18px;border-top:1px solid var(--line)}
.cl-foot .btn[disabled]{opacity:.45;cursor:not-allowed}
.cl-issued{font-size:13.5px;font-weight:700;color:var(--teal-d);background:rgba(45,138,138,.10);
  border-radius:10px;padding:13px 15px}
.rz-acts{white-space:nowrap;display:flex;gap:6px;flex-wrap:wrap}
@media(max-width:620px){.cl-panel{max-width:none}}

/* Editable amount cells + add-to-round row on the Raise screen */
.rz-amt{width:132px;font-size:13px;padding:7px 9px;border-radius:8px;border:1.5px solid var(--line);text-align:right}
.rz-amt:disabled{background:var(--bg-alt);color:#9aa6ad;border-style:dashed}
.rz-add{margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}
.rz-addrow{display:flex;gap:9px;flex-wrap:wrap;align-items:center;margin-top:9px}
.rz-addrow select,.rz-addrow input{width:auto;min-width:160px;flex:0 1 auto;font-size:13px;padding:8px 10px}
.rz-addrow input{min-width:150px;text-align:right}
.ac-note{margin-top:16px;background:var(--bg-alt);border-left:3px solid var(--teal);border-radius:10px;
  padding:14px 16px;font-size:12.5px;line-height:1.6;color:var(--body)}
.ac-note b{color:var(--ink)}
@media(max-width:620px){.rz-addrow select,.rz-addrow input{min-width:0;width:100%}.rz-amt{width:100%}}
