:root{
  --navy:#001D3D;--navy2:#003566;--gold:#FFC300;--cyan:#169BBD;--cyanL:#33BBDF;
  --danger:#D64027;--dangerbg:#fbeae6;--ok:#2f9d68;--okbg:#e8f6ee;
  --ink:#0f1b2d;--soft:#5f7085;--line:#e4e9f0;--paper:#f5f8fb;--card:#fff;
  --disp:"Fraunces",Georgia,serif;--sans:"Inter",system-ui,sans-serif;--mono:"Spline Sans Mono",monospace;
}
*{box-sizing:border-box;margin:0;padding:0}
body{font-family:var(--sans);background:var(--paper);color:var(--ink);line-height:1.55;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
.nav{background:var(--navy);color:#fff;padding:13px 26px;display:flex;align-items:center;gap:18px;position:sticky;top:0;z-index:20}
.nav .logo{font-family:var(--disp);font-weight:600;font-size:1.25rem;color:#fff;letter-spacing:-.03em}
.nav .logo b{color:var(--gold)}
.nav .tag{font-family:var(--mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--cyanL);border-left:1px solid rgba(255,255,255,.18);padding-left:14px}
.nav form{margin-left:auto;display:flex}
.nav input{font-family:var(--sans);border:1px solid transparent;border-radius:5px 0 0 5px;padding:9px 14px;width:300px;font-size:14px;outline:none}
.nav button{background:var(--gold);color:var(--navy);border:none;border-radius:0 5px 5px 0;padding:9px 17px;font-family:var(--mono);font-weight:600;font-size:13px;cursor:pointer}
.nav button:hover{background:#ffd23a}
.wrap{max-width:1000px;margin:0 auto;padding:34px 26px 60px}
.hero{text-align:center;padding:44px 0 20px}
.eyebrow{font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--cyan);margin-bottom:16px}
.hero h1{font-family:var(--disp);font-weight:600;font-size:clamp(1.9rem,4.4vw,3rem);letter-spacing:-.02em;line-height:1.05;color:var(--navy)}
.hero p{color:var(--soft);max-width:56ch;margin:18px auto 28px;font-size:1.05rem}
.bigsearch{display:flex;max-width:560px;margin:0 auto;box-shadow:0 18px 40px -24px rgba(0,29,61,.45);border-radius:8px}
.bigsearch input{flex:1;border:1px solid var(--line);border-right:none;border-radius:8px 0 0 8px;padding:15px 18px;font-size:16px;font-family:var(--sans);outline:none}
.bigsearch button{background:var(--navy);color:#fff;border:none;border-radius:0 8px 8px 0;padding:15px 24px;font-family:var(--mono);font-weight:600;cursor:pointer;font-size:14px}
.bigsearch button:hover{background:var(--navy2)}
.examples{margin-top:20px;font-size:.9rem;color:var(--soft)}
.examples a{color:var(--cyan);border-bottom:1px solid rgba(22,155,189,.3)}
.pgh{font-family:var(--disp);font-weight:600;color:var(--navy);margin-bottom:20px;font-size:1.5rem}
.rlist{display:flex;flex-direction:column;gap:9px}
.ritem{background:var(--card);border:1px solid var(--line);border-radius:9px;padding:15px 18px;display:flex;justify-content:space-between;align-items:center;gap:16px;transition:.15s}
.ritem:hover{border-color:var(--cyanL);box-shadow:0 8px 22px -16px rgba(0,29,61,.4);transform:translateY(-1px)}
.rname{font-weight:600;color:var(--navy)}
.rnum{font-family:var(--mono);font-size:12px;color:var(--soft);margin-left:12px}
.rmeta{display:flex;align-items:center;gap:14px;font-size:.85rem;color:var(--soft);white-space:nowrap}
.rgo{font-family:var(--mono);font-size:12px;color:var(--cyan)}
.empty{color:var(--soft);padding:30px 0}
.badge{font-family:var(--mono);font-size:10.5px;padding:3px 9px;border-radius:20px;text-transform:capitalize;background:#eef2f7;color:var(--soft)}
.s-active{color:var(--ok)}
.s-liquidation,.s-dissolved,.s-in-administration,.s-administration,.s-receivership{color:var(--danger)}
.chead{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:26px;flex-wrap:wrap}
.ceyebrow{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--cyan);margin-bottom:7px}
.cname{font-family:var(--disp);font-weight:600;font-size:2rem;color:var(--navy);letter-spacing:-.02em;line-height:1}
.cnum{font-family:var(--mono);font-size:13px;color:var(--soft);margin-top:6px}
.verdict{display:inline-flex;align-items:center;gap:9px;font-family:var(--mono);font-weight:600;font-size:13px;letter-spacing:.04em;text-transform:uppercase;padding:11px 17px;border-radius:6px}
.verdict .vdot{width:8px;height:8px;border-radius:50%;background:currentColor}
.v-flag{background:var(--dangerbg);color:var(--danger)}
.v-clear{background:var(--okbg);color:var(--ok)}
/* INCOMPLETE — a SETTLED amber state (item 6): the network wasn't fully walked, so NOT green.
   No pulse: pulsing reads as "still loading"; this is a final, honest "we couldn't confirm". */
.v-incomplete{background:#fbf1e0;color:#8a5a00;border:1px solid #e6c886}
.v-neutral{background:var(--paper);color:var(--soft);border:1px solid var(--line);animation:vpulse 1.4s ease-in-out infinite}
@keyframes vpulse{0%,100%{opacity:1}50%{opacity:.55}}
.warn{background:#fff7e0;border:1px solid #ffe08a;color:#7a5b00;border-radius:8px;padding:12px 16px;font-size:.9rem;margin-bottom:20px}
.cgrid{display:grid;grid-template-columns:1fr 1.3fr;gap:16px;margin-bottom:30px}
.ccard{background:var(--card);border:1px solid var(--line);border-radius:11px;padding:22px;margin-bottom:18px}
.ccard h3{font-family:var(--mono);font-size:11px;letter-spacing:.13em;text-transform:uppercase;color:var(--cyan);margin-bottom:16px}
.row{display:flex;justify-content:space-between;padding:8px 0;border-top:1px solid var(--line);font-size:.9rem}
.row span{color:var(--soft)}
.row b{color:var(--ink);text-transform:capitalize}
.verdictcard.flag{border-color:rgba(214,64,39,.3)}
.verdictcard.clear{border-color:rgba(47,157,104,.3)}
.verdictcard.incomplete{border-color:#e6c886;background:#fffdf7}
.verdictcard.incomplete h3{color:#8a5a00}
.trail{background:#fbf3f0;border-left:3px solid var(--danger);border-radius:0 7px 7px 0;padding:12px 15px;margin-bottom:10px;font-size:.92rem}
.trail .fail{color:var(--danger);font-weight:600}
/* a PAST/long-resigned trail (item 5): muted, amber left-rail — a real link, but not live risk */
.trail.trail-past{background:#faf7f1;border-left-color:#c9a24a}
.trail.trail-past .fail{color:#8a5a00}
.timing{font-family:var(--mono);font-size:11px;color:var(--danger)}
.timing.timing-mute{color:var(--soft)}
.note{color:var(--soft);font-size:.88rem;margin-top:8px}
.clearmsg{color:var(--soft);font-size:.95rem}
/* ---- Pass B: distress band + FSCS + FCA-contradiction + subject accounts + filing link ---- */
/* FSCS-declared failed line (item 7) — the strongest public flag: compensation actually paid */
.fscsline{background:var(--dangerbg);border-left:3px solid var(--danger);border-radius:0 7px 7px 0;padding:11px 14px;margin-bottom:12px;font-size:.92rem;color:#7a1c0e}
/* "why flagged" defensible public facts (item 7) */
.whyfacts{margin:2px 0 12px}
.whyh{font-family:var(--mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--cyan);margin-bottom:6px}
.whyfact{font-size:.92rem;color:var(--ink);padding:2px 0}
/* FCA-authorised-yet-failed contradiction card (item 7) */
.contra{border-color:#e6c886;background:#fffdf7;margin-bottom:24px}
.contra h3{color:#8a5a00}
.contramsg{font-size:.95rem;color:#6a4a10}
.contralink{display:inline-block;margin-top:10px;font-family:var(--mono);font-size:12px;color:#8a5a00;border-bottom:1px solid rgba(138,90,0,.4)}
/* subject's OWN last-filed accounts (item 8) */
.netown{margin-bottom:24px}
.netown-neg{border-color:rgba(214,64,39,.35)}   /* the red net-liabilities ring — SUPPRESSED when stale */
.accdate{font-family:var(--mono);font-size:11px;color:var(--soft);font-weight:400}
.filinglink{display:inline-block;margin-top:12px;font-family:var(--mono);font-size:12.5px;color:var(--cyan);border-bottom:1px solid rgba(22,155,189,.35)}
.filinglink:hover{color:var(--navy2)}
/* item P — SoA-OCR deficiency (the real write-off to creditors). This is the SCALE of the failure,
   so it LEADS the accounts card as a prominent danger-toned panel — but "from OCR — verify" is
   explicit and the figure is never asserted as fact. Renders only when a figure is held (never £0). */
.soadef{background:var(--dangerbg);border:1px solid rgba(214,64,39,.3);border-left:3px solid var(--danger);border-radius:0 9px 9px 0;padding:13px 16px;margin-bottom:14px}
.soadef-h{font-family:var(--mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:#7a1c0e;margin-bottom:5px}
.soadef-fig{font-family:var(--disp);font-weight:600;font-size:1.6rem;line-height:1.05;color:var(--danger);letter-spacing:-.01em}
.soadef-verify{display:inline-block;font-family:var(--mono);font-size:10.5px;font-weight:400;letter-spacing:.02em;text-transform:uppercase;color:#8a5a00;margin-left:8px;vertical-align:middle}
.soadef-link{display:inline-block;margin-top:9px;font-family:var(--mono);font-size:12.5px;color:var(--danger);border-bottom:1px solid rgba(214,64,39,.4)}
.soadef-link:hover{color:#7a1c0e}
.soadef .note{margin-top:7px}
/* connected-party (group undertakings) signal + collapsible liability breakdown */
.soadef-grp{font-family:var(--disp);font-weight:600;font-size:1.05rem;color:#7a1c0e;margin-top:7px;line-height:1.25}
.soadef-pct{display:inline-block;background:var(--danger);color:#fff;font-family:var(--mono);font-size:11px;font-weight:600;padding:1px 6px;border-radius:5px;vertical-align:middle;margin:0 1px}
.soadef-cats{margin-top:9px}
.soadef-cats summary{font-family:var(--mono);font-size:10.5px;letter-spacing:.04em;text-transform:uppercase;color:#8a5a00;cursor:pointer;user-select:none;list-style-position:inside}
.soadef-cats summary:hover{color:#7a1c0e}
.soadef-cats table{width:100%;margin-top:7px;border-collapse:collapse;font-family:var(--mono);font-size:12px}
.soadef-cats td{padding:3px 0;color:var(--navy);border-bottom:1px solid rgba(214,64,39,.12)}
.soadef-cats td:last-child{text-align:right;font-variant-numeric:tabular-nums;color:var(--soft);padding-left:14px;white-space:nowrap}
.soadef-cats tr.cat-grp td,.soadef-cats tr.cat-grp td:last-child{color:var(--danger);font-weight:600}
/* on-demand creditor deep-dive panel */
.credpanel .cred-h{font-family:var(--mono);font-size:12px;font-weight:600;color:#8a5a00;margin-bottom:8px}
.cred-verify{display:inline-block;font-family:var(--mono);font-size:10px;letter-spacing:.04em;text-transform:uppercase;color:#b9791f;border:1px solid rgba(185,121,31,.4);border-radius:4px;padding:0 5px;margin-left:6px}
.cred-item{display:flex;align-items:baseline;gap:9px;padding:6px 0;border-bottom:1px solid var(--line)}
.cred-item .cred-name{font-weight:600;color:var(--navy);font-size:.9rem}
.cred-item .cred-tag{font-family:var(--mono);font-size:10.5px;color:var(--soft);text-transform:uppercase;letter-spacing:.03em}
.cred-item .cred-amt{margin-left:auto;font-family:var(--mono);font-variant-numeric:tabular-nums;color:var(--danger);font-weight:600;white-space:nowrap}
.cred-item.cred-officer,.cred-item.cred-group,.cred-item.cred-same_group{background:var(--dangerbg);margin:2px -8px;padding:6px 8px;border-radius:6px;border-bottom:none}
.cred-item.cred-officer .cred-tag,.cred-item.cred-group .cred-tag,.cred-item.cred-same_group .cred-tag{color:var(--danger)}
.cred-notable{margin-top:11px}
.cred-notable summary{font-family:var(--mono);font-size:10.5px;letter-spacing:.04em;text-transform:uppercase;color:var(--soft);cursor:pointer;list-style-position:inside}
.cred-notable table{width:100%;margin-top:7px;border-collapse:collapse;font-family:var(--mono);font-size:12px}
.cred-notable td{padding:3px 0;color:var(--soft);border-bottom:1px solid var(--line)}
.cred-notable td:last-child{text-align:right;font-variant-numeric:tabular-nums;padding-left:14px;white-space:nowrap}
.cred-notable tr.cred-corp td{color:var(--navy);font-weight:600}
.cred-src{font-family:var(--mono);font-size:10.5px;color:var(--soft);margin-top:9px}
.cred-queued{font-family:var(--mono);font-size:12.5px;color:#1a5a8a;background:#eef6fc;border:1px solid #cfe4f5;border-left:3px solid #2a7fc0;border-radius:0 8px 8px 0;padding:11px 14px;line-height:1.45}
.credbtn{margin-top:10px;font-family:var(--mono);font-size:12.5px;font-weight:600;color:#fff;background:var(--navy);border:none;border-radius:7px;padding:9px 16px;cursor:pointer;transition:.15s}
.credbtn:hover{opacity:.88;transform:translateY(-1px)}
/* item P — compact deficiency line on a LINKED failure in the directorships grid (mono, danger-toned,
   with a muted provenance tag). Sits inside the .co card meta stack. */
.codef{display:block;font-family:var(--mono);font-size:10.5px;color:var(--danger);font-weight:600;margin-top:3px}
.codef .codef-src{font-weight:400;color:var(--soft);letter-spacing:.02em}
/* item P — deficiency chip in the person-page serial-failure meta row */
.sdef{color:var(--danger);font-weight:600}
/* company-card per-neighbour timing line (item 5) */
.cotiming{display:block;font-family:var(--mono);font-size:10px;color:var(--danger);margin-top:2px}
.cotiming.cotiming-mute{color:#aab6c4}
/* person timing note + muted past-failure badge on the person view (item 5) */
.timingnote{margin-bottom:24px;border-color:#e6c886;background:#fffdf7}
.vm-past{background:#f3eee5;color:#8a5a00}
.rtiming{font-family:var(--mono);font-size:11px;color:var(--danger)}
.rtiming.rtiming-mute{color:var(--soft)}
.sech{font-family:var(--disp);font-weight:600;color:var(--navy);font-size:1.3rem;margin:8px 0 16px}
.dirs{display:flex;flex-direction:column;gap:14px}
.dir{background:var(--card);border:1px solid var(--line);border-radius:11px;padding:18px 20px}
.dirn{font-weight:600;color:var(--navy);margin-bottom:12px;display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.dirlink{color:var(--navy);border-bottom:1px solid var(--cyanL)}
.dirlink:hover{color:var(--cyan)}
.dirr{font-family:var(--mono);font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:var(--soft);background:#eef2f7;padding:2px 8px;border-radius:10px}
.cos{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:9px}
.co{border:1px solid var(--line);border-radius:8px;padding:11px 13px;display:flex;flex-direction:column;gap:4px;transition:.15s}
.co:hover{border-color:var(--cyanL)}
.co-fail{border-color:rgba(214,64,39,.4);background:#fdf4f2}
/* item O — directorship-grid severity hierarchy. A live insolvency stays RED (.co-fail above). A
   DISSOLVED company recedes: muted grey fill, softened border, dimmed text — a closed record that
   should not compete with the failures for attention. ACTIVE is the neutral baseline (plain card). */
.co-dissolved{border-color:#e7ebf1;background:#f7f9fb;opacity:.72}
.co-dissolved:hover{opacity:1;border-color:var(--cyanL)}
.co-dissolved .con{color:var(--soft);font-weight:400}
.co-active{border-color:var(--line)}
.con{font-weight:500;font-size:.9rem;color:var(--navy)}
.cstat{font-family:var(--mono);font-size:11px;color:var(--soft);text-transform:capitalize}
.cstat.sf{color:var(--danger);font-weight:600}
.cos-none{color:var(--soft);font-size:.88rem}
.cmeta{display:block;font-family:var(--mono);font-size:10px;color:var(--soft);margin-top:3px}
.cmeta .overdue{color:#b9791f;font-weight:600}
.cmeta .nofin{color:#aab6c4}
/* neighbour distress band + honesty-railed public-fact reasons (mirror the subject's whyfacts) */
.coreasons{display:flex;flex-wrap:wrap;gap:4px;margin-top:5px;align-items:center}
.coband{font-family:var(--mono);font-size:9px;font-weight:600;letter-spacing:.06em;padding:1px 6px;border-radius:9px;background:#eef2f7;color:var(--soft)}
.coband.band-medium{background:#fbf1e0;color:#b9791f}
.coband.band-high,.coband.band-severe,.coband.band-failed{background:var(--dangerbg);color:var(--danger)}
.coreason{font-size:10.5px;line-height:1.35;color:var(--ink);background:#f5f8fb;border:1px solid var(--line);border-radius:6px;padding:2px 7px}
/* FCA authorisation & appointed-rep card (company view) */
.fcacard{margin-bottom:24px;border-color:rgba(22,155,189,.32)}
.fcacard h3{color:var(--cyan)}
.fcarel{font-size:.92rem;color:var(--ink);padding:9px 0 0;margin-top:7px;border-top:1px solid var(--line)}
.fcaposs{font-size:.92rem;color:#8a5a00;background:#fbf1e0;border:1px solid #e6c886;border-radius:7px;padding:11px 14px}
.fcaposs a{color:#8a5a00;border-bottom:1px solid rgba(138,90,0,.35)}
.frnlink{color:var(--cyan);font-family:var(--mono)}
/* graph honesty caption + FCA legend dot */
.gcap{font-size:.82rem;color:var(--soft);margin:-16px 0 26px;font-family:var(--mono)}
/* item 9 K: the "N directors · N in network · N PSCs" summary line. As a standalone caption it
   sat flush against the cards above/below; give it symmetric breathing room (matching the .row
   8px rhythm) so it never touches a box border. Resets the .gcap negative top margin. */
.netsum{margin:4px 0 24px;padding:10px 14px;background:var(--card);border:1px solid var(--line);border-radius:9px;color:var(--soft)}
.lg-fca{width:11px;height:11px;border-radius:50%;background:#5f7f74;box-shadow:0 0 0 2px var(--cyanL) inset;border:1px solid var(--cyanL)}
.lg-fca-former{width:11px;height:11px;border-radius:50%;background:transparent;border:1.5px dashed #b9791f}
/* per-person timeline band */
.tlsub{color:var(--soft);font-size:.9rem;margin:-8px 0 12px;max-width:78ch}
.tlwrap{padding:14px 16px}
.tlgraph{min-width:640px}
.tlgrid{stroke:#1b3350;stroke-width:1}
.tlyr{font-family:var(--mono);font-size:10px;fill:#6b83a0}
.tllab{font-family:var(--mono);font-size:11px;fill:#cdd8e6}
.tlrow{cursor:pointer}
.tlrow:hover .tllab{fill:#fff}
.tllife{opacity:.42}
.tlten{opacity:.95}
.tllife.sev-insolvent,.tlten.sev-insolvent{fill:var(--danger)}
.tllife.sev-dissolved,.tlten.sev-dissolved{fill:#d98a2b}
.tllife.sev-active,.tlten.sev-active{fill:#5f7f74}
.tllife.sev-other,.tlten.sev-other{fill:#4a5f78}
.tlevt{fill:var(--danger);stroke:#fff;stroke-width:1}
.tlstub{fill:#2c4258;opacity:.55;stroke:#5b7290;stroke-dasharray:2 2}
.tlnodate{font-family:var(--mono);font-size:10px;fill:#5b7290;font-style:italic}
.rfin{font-family:var(--mono);font-size:11px;color:var(--soft)}
.rneg{font-family:var(--mono);font-size:11px;color:var(--danger);font-weight:600}
.badge-fca{display:inline-block;margin-left:8px;font-family:var(--mono);font-size:10px;background:#fbf1e0;color:#8a5a00;border:1px solid #e6c886;border-radius:5px;padding:2px 8px}
.badge-fca a{color:#8a5a00}
.n-prohibited circle{stroke:#d98a2b;stroke-width:2.8}
/* FCA-authorised company node: a muted-cyan marker ring + an "FCA · FRN" pill under the name */
.n-fca circle{stroke:var(--cyanL);stroke-width:2.2}
.fcatag{font-family:var(--mono);font-size:9px;fill:var(--cyanL);letter-spacing:.02em}
/* FCA (former) company node: an amber dashed ring — a lapsed firm, never the live green */
.n-fca-former circle{stroke:#b9791f;stroke-width:2.2;stroke-dasharray:3 2}
.n-fca-former .fcatag{fill:#b9791f}
/* net liabilities: a thin danger ring, sized by |deficit| via the radius bands */
.n-netliab circle{stroke:var(--danger);stroke-width:2}
/* Gazette distress band SEVERE|FAILED (item 7): a solid danger ring — augments severity fill */
.band-fail circle{stroke:var(--danger);stroke-width:2.4}
/* FSCS-declared failed firm (item 7): a double danger ring — the strongest public marker */
.n-fscs circle{stroke:var(--danger);stroke-width:3;paint-order:stroke}
.n-subject.n-fscs circle{stroke:var(--danger);stroke-width:3.4}
/* no accounts filed: neutral, deliberately NOT "small" — plain fill, no scale styling */
.n-nofin circle{opacity:.85}
.navlink{font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--cyanL);text-decoration:none}
.navlink:hover{color:#fff}
.exhead{margin-bottom:20px}
.exsub{color:var(--soft);max-width:62ch;margin-top:6px}
.verdict-mini{font-family:var(--mono);font-size:10.5px;padding:3px 10px;border-radius:20px;font-weight:600;white-space:nowrap}
.vm-flag{background:var(--dangerbg);color:var(--danger)}
.vm-clear{background:var(--okbg);color:var(--ok)}
.fail-badge{background:var(--dangerbg);color:var(--danger)}
.graphwrap{background:linear-gradient(160deg,#04162b,#020a15);border:1px solid var(--line);border-radius:12px;padding:16px;margin-bottom:26px;overflow-x:auto;animation:gwfade .6s ease}
@keyframes gwfade{from{opacity:0}to{opacity:1}}
.netgraph{width:100%;height:auto;display:block;min-width:640px}
.netgraph a{cursor:pointer}
.ge{fill:none;stroke-width:1.4}
.ge-dir{stroke:#43607f}
.ge-co{stroke:#2c4258}
.ge-fail{stroke:var(--danger);stroke-width:1.8;stroke-dasharray:4 3}
.gn{opacity:0;animation:gnpop .5s ease forwards}
@keyframes gnpop{from{opacity:0}to{opacity:1}}
.gn-subject circle{fill:#123a63;stroke:var(--gold);stroke-width:2.4}
.gn-sflag circle{stroke:var(--danger)}
.gn-dir circle{fill:var(--gold)}
.gn-co circle{fill:#5b7290;transition:.15s}
.gn-cofail circle{fill:var(--danger)}
.gn-co:hover circle{fill:var(--cyanL)}
.glabel{font-family:var(--mono);fill:#cdd8e6}
.gl-subj{fill:#fff;font-size:13px;font-weight:600}
.gl-sub{fill:var(--gold);font-size:9px;letter-spacing:.1em;text-transform:uppercase}
.gl-dir{fill:#fff;font-size:11px}
.gl-co{fill:#aebfd2;font-size:11px}
.gn-cofail .gl-co{fill:#ffb0a2}
.gl-more,.gl-none{fill:#5b7290;font-size:11px;font-style:italic;font-family:var(--mono)}
.pfform{display:flex;flex-direction:column;gap:12px;max-width:560px;margin-bottom:26px}
.pfform textarea{font-family:var(--mono);font-size:13px;border:1px solid var(--line);border-radius:9px;padding:14px;resize:vertical;outline:none}
.pfform textarea:focus{border-color:var(--cyanL)}
.pfform button{align-self:flex-start;background:var(--navy);color:#fff;border:none;border-radius:6px;padding:11px 20px;font-family:var(--mono);font-weight:600;cursor:pointer}
.pfform button:hover{background:var(--navy2)}
.pfsum{margin-bottom:16px;font-size:.95rem;color:var(--soft)}
.pf-flag{color:var(--danger)}
.pf-clear{color:var(--ok)}
.pftop{font-family:var(--mono);font-size:11px;color:var(--soft)}
.graphlegend{display:flex;flex-wrap:wrap;align-items:center;gap:14px;margin-bottom:10px;font-family:var(--mono);font-size:11px;color:var(--ink)}
.graphlegend .lg{display:flex;align-items:center;gap:6px}
.graphlegend .lgmute{margin-left:auto;color:var(--soft)}
.graphlegend .chip{width:16px;height:16px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:9px;font-weight:700}
.graphlegend .chip-d{background:var(--gold);color:var(--navy)}
.graphlegend .chip-former{opacity:.5}
.graphlegend .chip-p{background:var(--cyan);color:#fff}
.graphlegend .chip-c{background:#8fa6bf;color:#fff}
.n-psc circle{fill:var(--cyan)}
.n-psc .gg{fill:#fff}
.n-dir.n-former circle{fill:var(--gold);opacity:.45}
.n-psc-corp circle{fill:#8fa6bf;stroke:var(--cyan);stroke-width:1.6}
.ge-psc{stroke:var(--cyan);stroke-dasharray:3 3;opacity:.8}
.graphlegend .dot{width:11px;height:11px;border-radius:50%}
.dot.sev-insolvent{background:var(--danger)}
.dot.sev-dissolved{background:#5a6b7d;opacity:.6}  /* item O — muted grey: dissolved recedes on the graph */
.dot.sev-active{background:#5f7f74}
.gg{font-family:var(--mono);font-size:9px;font-weight:700;fill:var(--navy)}
.n-subject circle{fill:#123a63;stroke:var(--gold);stroke-width:2.4}
.n-subject.n-flag circle{stroke:var(--danger)}
.n-dir circle{fill:var(--gold)}
.n-co circle{stroke:#0a1a2c;stroke-width:.5;transition:.12s}
.n-co .gg{fill:#fff;font-size:8px}
.n-co.sev-insolvent circle{fill:var(--danger)}
/* item O — a DISSOLVED company node RECEDES: a muted grey fill (not the old bright amber) at
   reduced opacity, so a closed record never competes with the red insolvency nodes for the eye.
   Its label is dimmed to match. Consistent with the muted .co-dissolved card in the detail grid. */
.n-co.sev-dissolved circle{fill:#5a6b7d;opacity:.5}
.n-co.sev-dissolved .glabel{fill:#8496aa}
.netgraph a:hover .n-co.sev-dissolved circle,.n-co.sev-dissolved.traced circle{opacity:1}
.n-co.sev-active circle{fill:#5f7f74}
.n-co.sev-other circle{fill:#4a5f78}
.netgraph a{cursor:pointer}
/* item N (a) — the hover highlight is WHITE, not the old cyan. Cyan is the FCA-authorised ring
   colour, so a cyan "what am I pointing at" glow clashed with "this firm is FCA-authorised". A
   white ring + white label reads unambiguously as the pointer, never as an authorisation. */
.netgraph a:hover circle{stroke:#fff;stroke-width:2.4}
.netgraph a:hover .glabel{fill:#fff}
/* item N (b) — hover-to-trace (JS toggles .traced on the hovered node, its incident edges, and the
   nodes at their far ends). Pointing at a COMPANY lights the connectors back to its directors/people
   so the operator sees which people to click. A traced node gets the same WHITE ring + bright white
   label as the pointer highlight (applies to the subject too, which has no <a> wrapper); a traced
   edge is drawn bright white + thicker so the path stands out in a dense graph. Overrides severity/
   FCA rings via specificity so the trace is legible regardless of a node's base styling. */
.gn.traced circle{stroke:#fff !important;stroke-width:2.6 !important}
.gn.traced .glabel{fill:#fff !important;font-weight:600}
.gn.traced .gg{fill:#fff}
.ge.traced{stroke:#fff !important;stroke-width:2.2 !important;stroke-dasharray:none !important;opacity:1 !important}
.n-co.sev-insolvent .glabel{fill:#ffb0a2}
.sources{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 24px;padding:12px 14px;background:var(--card);border:1px solid var(--line);border-radius:10px}
.sources .src-h{font-family:var(--mono);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--cyan);margin-right:4px}
.src{font-family:var(--mono);font-size:11px;padding:4px 11px 4px 23px;border-radius:20px;position:relative;color:var(--soft);background:#eef2f7}
.src::before{content:"";position:absolute;left:10px;top:50%;transform:translateY(-50%);width:8px;height:8px;border-radius:50%;background:currentColor}
.src-ok{color:var(--ok);background:var(--okbg)}
.src-none{color:var(--soft)}
.src-partial{color:#b9791f;background:#fbf1e0}
.src-fail{color:var(--danger);background:var(--dangerbg)}
.src-off{color:#9aa9bb;background:#f0f3f7}
.src-pending{color:#7a8aa0;background:repeating-linear-gradient(45deg,#eef2f7,#eef2f7 4px,#e5eaf1 4px,#e5eaf1 8px)}
.relcount{font-family:var(--mono);font-size:11px;color:var(--soft);text-transform:none;letter-spacing:0;font-weight:400;margin-left:8px}
.rel-loading{color:var(--soft);font-family:var(--mono);font-size:12px;padding:6px 0}
.relrow{display:block;border:1px solid var(--line);border-radius:9px;padding:12px 14px 24px;margin-bottom:9px;position:relative;transition:.15s}
.relrow:hover{border-color:var(--cyanL);box-shadow:0 8px 22px -16px rgba(0,29,61,.4)}
.relhead{display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.relname{font-weight:600;color:var(--navy)}
.relscore{margin-left:auto;font-family:var(--mono);font-size:11px;color:var(--soft)}
.scorechip{font-family:var(--mono);font-size:10px;font-weight:700;padding:3px 9px;border-radius:20px;letter-spacing:.04em}
.sc-strong{background:var(--gold);color:var(--navy)}
.sc-look{background:transparent;border:1px solid var(--cyan);color:var(--cyan)}
.relwhy{margin-top:8px;display:flex;flex-direction:column;gap:3px}
.why{font-family:var(--mono);font-size:11px;color:var(--soft)}
.why a{color:var(--navy2);border-bottom:1px solid var(--line)}
.why-mute{color:#aab6c4;text-decoration:line-through}
.reltrace{position:absolute;right:14px;bottom:10px;font-family:var(--mono);font-size:11px;color:var(--cyan)}

/* ============ Pass B (display/UX): grouped "why flagged", timelines, new signal cards ============ */
/* item D — per-director "why flagged" blocks (collapses the flat 50-flag list into 4 people) */
.whysummary{font-family:var(--mono);font-size:12.5px;color:#7a1c0e;background:var(--dangerbg);border:1px solid rgba(214,64,39,.25);border-radius:7px;padding:9px 13px;margin:2px 0 14px;font-weight:600}
.verdictcard.clear .whysummary,.verdictcard.incomplete .whysummary{color:#8a5a00;background:#fbf1e0;border-color:#e6c886}
.whyblock{border:1px solid var(--line);border-radius:9px;margin-bottom:12px;overflow:hidden}
.whyblockhead{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;padding:11px 14px;background:#fbf3f0;border-bottom:1px solid rgba(214,64,39,.18)}
.whyperson{font-weight:600;color:var(--navy);border-bottom:1px solid var(--cyanL)}
.whyperson:hover{color:var(--cyan)}
.whyperson-dead{border-bottom:none;color:var(--soft)}
.whycount{font-family:var(--mono);font-size:11px;color:var(--danger);white-space:nowrap}
.whyfails{display:flex;flex-direction:column}
.whyfail{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;padding:9px 14px;border-top:1px solid var(--line);transition:.12s}
.whyfail:first-child{border-top:none}
.whyfail:hover{background:#fdf4f2}
.whyfail .wfco{font-weight:500;color:var(--navy);font-size:.9rem}
.whyfail .wfstat{font-family:var(--mono);font-size:11px;color:var(--danger);font-weight:600}
.whyfail .wftiming{font-family:var(--mono);font-size:10px;color:var(--danger);margin-left:auto}
.whyfail .wftiming.wftiming-mute{color:var(--soft)}
/* a resigned/past link inside a block: muted amber, not live-risk red */
.whyfail.whyfail-past .wfstat{color:#8a5a00}
.whyfail.whyfail-past:hover{background:#faf7f1}
/* Defect B — the SUBJECT company's own failure, shown inside a director block so the in-post
   count matches the person page. It is the company being viewed, so it is NOT a link (no hover
   affordance) and carries a muted "(this company)" tag. */
.whyfail.whyfail-subject{cursor:default;background:#fbfafa}
.whyfail.whyfail-subject:hover{background:#fbfafa}
.whyfail .wfself{font-weight:400;color:var(--soft);font-size:11px}
/* item H — shared-macro timeline additions (the base .tl* rules already exist above) */
.tlscroll{max-height:520px;overflow-y:auto;overflow-x:auto}
.tlnote{font-family:var(--mono);font-size:9.5px;fill:#ffb0a2}
.tlevtline{stroke:var(--danger);stroke-width:1.3;stroke-dasharray:3 3;opacity:.85}
.tlevtlabel{font-family:var(--mono);font-size:9.5px;fill:#ff9a88;letter-spacing:.04em}
.tllife.sev-active,.tlten.sev-active{fill:#5f7f74}
/* item M — the SUBJECT company's own row inside the related-companies timeline. Neighbour bars
   are off-white/translucent severity fills (.tllife opacity .42); the subject is drawn BRIGHT
   WHITE with a faint outline + glow so "this is the company I'm looking at" is unmistakable, and
   its label is white with a small "(this company)" tag. Its red insolvency tick still fires from
   the shared .tlevt rule, so an insolvent subject keeps its red marker without losing the white
   stand-out. The severity fill is overridden to white regardless of sev-* class. */
.tlsubjbar{fill:#fff !important;opacity:1;stroke:#fff;stroke-width:.6}
.tlrow-subject .tllab-subject{fill:#fff;font-weight:600}
.tlrow-subject .tlself{fill:#9fd6e6;font-size:9px;letter-spacing:.02em}
.tlrow-subject{cursor:default}
/* item 9 — working-capital deficit badge in the accounts card */
.wcbadge{font-family:var(--mono);font-size:9px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;background:var(--dangerbg);color:var(--danger);border-radius:9px;padding:1px 7px;margin-left:6px}
/* item 7 — serial-failure card (person view): dated facts only, provenance-cited */
.serialcard{margin-bottom:24px;border-color:rgba(214,64,39,.28)}
.serialcard h3{color:var(--danger)}
.serialhead{font-size:.95rem;color:var(--ink);margin-bottom:12px}
.seriallist{display:flex;flex-direction:column;gap:7px}
.serialitem{display:flex;flex-direction:column;gap:3px;border:1px solid var(--line);border-left:3px solid var(--danger);border-radius:0 7px 7px 0;padding:9px 12px;transition:.12s}
.serialitem:hover{background:#fdf4f2;border-color:var(--cyanL);border-left-color:var(--danger)}
.serialitem .sname{font-weight:600;color:var(--navy);font-size:.9rem}
.serialitem .smeta{display:flex;flex-wrap:wrap;gap:10px;align-items:baseline;font-family:var(--mono);font-size:11px;color:var(--soft)}
.serialitem .sstage{color:var(--danger);font-weight:600}
.serialitem .sdate{color:var(--danger)}
.serialitem .sip{color:var(--soft);font-style:normal}
/* item 8 — IP / administrator card + IP-reuse (person + company views) */
.ipcard{margin-bottom:24px;border-color:rgba(22,155,189,.30)}
.ipcard h3{color:var(--cyan)}
.iprow{font-size:.92rem;color:var(--ink);padding:7px 0;border-top:1px solid var(--line)}
.iprow:first-of-type{border-top:none}
.ipnums a{font-family:var(--mono);font-size:12px;color:var(--cyan);border-bottom:1px solid rgba(22,155,189,.3)}
/* item 11 — personal-bankruptcy amber verify-only card */
.pbcard{margin-bottom:24px;border-color:#e6c886;background:#fffdf7}
.pbcard h3{color:#8a5a00}
.pbrow{display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding:8px 11px;border-radius:7px;margin-bottom:6px;background:#fbf1e0;border:1px solid #e6c886}
.pbrow.pb-current{background:var(--dangerbg);border-color:rgba(214,64,39,.3)}
.pbrow .pbstatus{font-weight:600;font-size:.9rem;color:#8a5a00}
.pbrow.pb-current .pbstatus{color:var(--danger)}
.pbrow .pbmeta{font-family:var(--mono);font-size:11px;color:var(--soft)}
.pbcard .note a{color:#8a5a00;border-bottom:1px solid rgba(138,90,0,.35)}
/* item 12 — AR-churn (past principals) on the FCA card */
.fcachurn{margin-top:10px}
.churnh{display:block;font-family:var(--mono);font-size:11px;color:#b9791f;font-weight:600;margin-bottom:6px}
.churnitem{font-size:.88rem;color:var(--ink);padding:3px 0 3px 14px;border-left:2px solid #e6c886;margin-bottom:2px}

/* items 15/16/17 — NEUTRAL fact cards (registered-office co-location, secured lenders, shared
   financiers). Deliberately cyan/soft, NOT danger-red: these are factual, provenance-cited
   observations, never allegations, so they must not read as a distress flag. */
.factcard{margin-bottom:24px;border-color:rgba(22,155,189,.22)}
.factcard h3{color:var(--cyan)}
.factlead{font-size:.92rem;color:var(--ink);margin-bottom:10px}
.factnote-pos{color:var(--ink);background:var(--okbg);border:1px solid rgba(47,157,104,.25);border-radius:7px;padding:8px 11px}
/* registered-office address drill-down (search / sort / paginate) */
.ac-drill{margin-top:10px}
.ac-show{font-family:var(--mono);font-size:12px;font-weight:600;color:var(--cyan);background:none;border:1px solid rgba(22,155,189,.35);border-radius:7px;padding:7px 13px;cursor:pointer;transition:.15s}
.ac-show:hover{background:#eef7fb;border-color:var(--cyan)}
.ac-panel{margin-top:12px}
.ac-empty{font-family:var(--mono);font-size:12px;color:var(--soft);padding:10px 0}
.ac-search{width:100%;box-sizing:border-box;font-family:var(--mono);font-size:12.5px;padding:8px 11px;border:1px solid var(--line);border-radius:7px;margin-bottom:9px;color:var(--ink)}
.ac-search:focus{outline:none;border-color:var(--cyan)}
.ac-tblwrap{max-height:420px;overflow:auto;border:1px solid var(--line);border-radius:8px}
.ac-tbl{width:100%;border-collapse:collapse;font-size:12.5px}
.ac-tbl thead th{position:sticky;top:0;background:#f3f7fa;font-family:var(--mono);font-size:10.5px;letter-spacing:.03em;text-transform:uppercase;color:var(--navy2);text-align:left;padding:8px 10px;cursor:pointer;user-select:none;white-space:nowrap;border-bottom:1px solid var(--line)}
.ac-tbl thead th:hover{color:var(--cyan)}
.ac-tbl thead th.ac-asc::after{content:' ▲';font-size:8px}
.ac-tbl thead th.ac-desc::after{content:' ▼';font-size:8px}
.ac-tbl tbody td{padding:7px 10px;border-bottom:1px solid #eef1f4;vertical-align:top}
.ac-tbl tbody tr:hover{background:#f7fafc}
.ac-tbl tbody tr.ac-ins{background:var(--dangerbg)}
.ac-tbl tbody tr.ac-ins:hover{background:#fbe9e4}
.ac-co a{font-weight:600;color:var(--navy)}
.ac-co a:hover{color:var(--cyan)}
.ac-num{display:block;font-family:var(--mono);font-size:10.5px;color:var(--soft)}
.ac-st{font-family:var(--mono);font-size:11px;color:var(--soft);white-space:nowrap}
.ac-st-active{color:var(--ok)}
.ac-st-dissolved,.ac-st-liquidation{color:var(--danger)}
.ac-insbadge{font-family:var(--mono);font-size:10px;font-weight:600;color:var(--danger);background:#fff;border:1px solid rgba(214,64,39,.4);border-radius:5px;padding:1px 6px;white-space:nowrap}
.ac-pager{display:flex;align-items:center;justify-content:space-between;margin-top:9px;font-family:var(--mono);font-size:11.5px;color:var(--soft)}
.ac-pg-ctl{display:flex;align-items:center;gap:9px}
.ac-pg{font-family:var(--mono);font-size:11.5px;color:var(--cyan);background:none;border:1px solid var(--line);border-radius:6px;padding:3px 9px;cursor:pointer}
.ac-pg:hover:not(:disabled){border-color:var(--cyan);background:#eef7fb}
.ac-pg:disabled{opacity:.4;cursor:default}
.ac-pgnum{color:var(--navy2)}
/* director-link tiers on the co-location drill-down: co-located + shared director = the real cluster signal */
.ac-linkedsum{font-family:var(--mono);font-size:11.5px;line-height:1.45;color:#7a1c0e;background:var(--dangerbg);border:1px solid rgba(214,64,39,.25);border-left:3px solid var(--danger);border-radius:0 8px 8px 0;padding:9px 12px;margin-bottom:10px}
.ac-linkedsum b{font-weight:700}
.ac-tier{white-space:nowrap}
.ac-tier-b{display:inline-block;font-family:var(--mono);font-size:10px;font-weight:600;letter-spacing:.02em;border-radius:5px;padding:1px 7px;white-space:nowrap}
.ac-tier-1{color:#fff;background:var(--danger)}
.ac-tier-2{color:#8a5a00;background:#fff5e0;border:1px solid rgba(185,121,31,.5)}
.ac-tier-0{color:#c8d2dc}
.ac-tbl tbody tr.ac-linked td:first-child{box-shadow:inset 2px 0 0 rgba(214,64,39,.5)}
/* FCA register status card — green authorised / red not, a register fact */
.fcacard{margin-bottom:24px;border-color:rgba(22,155,189,.30)}
.fcacard.fca-active{border-color:rgba(47,157,104,.4);border-left:3px solid var(--ok)}
.fcacard.fca-former{border-color:rgba(214,64,39,.4);border-left:3px solid var(--danger)}
.fca-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:12px}
.fca-pill{font-family:var(--mono);font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;border-radius:6px;padding:3px 10px;white-space:nowrap}
.fca-pill-active{color:#fff;background:var(--ok)}
.fca-pill-former{color:#fff;background:var(--danger)}
.fca-pill-unknown{color:var(--navy2);background:#eef4f9;border:1px solid var(--line)}
.fca-raw{font-family:var(--sans);font-size:.9rem;color:var(--soft)}
.fca-link{display:inline-block;margin-top:10px;font-family:var(--mono);font-size:12.5px;color:var(--cyan);border-bottom:1px solid rgba(22,155,189,.4)}
.fca-link:hover{color:var(--navy2)}
/* possible same-person records — amber 'verify, don't assume' accent; matched on name+DOB, human-confirmed */
.posscard{margin-bottom:24px;border-color:rgba(185,121,31,.35);border-left:3px solid #b9791f}
.poss-lead{font-size:.95rem;line-height:1.55;color:#2a3a4d;margin-bottom:12px}
.poss-lead b{color:var(--navy)}
.poss-list{list-style:none;padding:0;margin:0 0 10px}
.poss-list li{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;padding:8px 0;border-bottom:1px solid var(--line)}
.poss-list li:last-child{border-bottom:none}
.poss-link{font-weight:600;color:var(--navy);border-bottom:1px solid rgba(22,155,189,.4)}
.poss-link:hover{color:var(--cyan)}
.poss-meta{font-family:var(--mono);font-size:11.5px;color:var(--soft)}
/* director / person age annotation — a quiet identity cue, never emphasised */
.dirage{color:var(--soft);font-weight:400}
.cname-age{color:var(--soft);font-weight:400;font-size:.62em;vertical-align:middle}
/* companies with people in common — neighbour companies sharing 2+ current directors */
.cic-card{margin-bottom:24px;border-color:rgba(22,155,189,.30)}
.cic-list{list-style:none;padding:0;margin:10px 0 4px}
.cic-list li{padding:9px 0;border-bottom:1px solid var(--line)}
.cic-list li:last-child{border-bottom:none}
.cic-co{font-weight:600;color:var(--navy);border-bottom:1px solid rgba(22,155,189,.4)}
.cic-co:hover{color:var(--cyan)}
.cic-status{font-family:var(--mono);font-size:10.5px;color:var(--soft);text-transform:uppercase;letter-spacing:.03em;margin-left:8px}
.cic-shared{display:block;font-family:var(--mono);font-size:11.5px;color:var(--navy2);margin-top:3px}
.cic-shared b{color:var(--danger)}
/* "extract figures now" button on the accounts panel (company has filings but no parsed figures) */
.extract-wrap{margin-top:10px}
.extract-now{font-family:var(--mono);font-size:12.5px;font-weight:600;color:#fff;background:var(--navy);border:none;border-radius:7px;padding:9px 16px;cursor:pointer;transition:.15s}
.extract-now:hover:not(:disabled){opacity:.88;transform:translateY(-1px)}
.extract-now:disabled{opacity:.5;cursor:default}
.extract-status{display:inline-block;margin-left:10px;font-family:var(--mono);font-size:11.5px;color:var(--soft);line-height:1.4}
.chiprow{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:4px}
.factchip{font-family:var(--mono);font-size:11px;color:var(--navy2);background:#eef4f9;border:1px solid var(--line);border-radius:6px;padding:3px 10px}
.finrow{font-size:.9rem;color:var(--ink);padding:7px 0;border-top:1px solid var(--line)}
.finrow:first-of-type{border-top:none}
.finnums a{font-family:var(--mono);font-size:12px;color:var(--cyan);border-bottom:1px solid rgba(22,155,189,.3)}
/* item 16 — former-name ("also known as") note on the person view: a neutral identity aid */
.akaline{font-size:.9rem;color:var(--ink);background:var(--card);border:1px solid var(--line);border-left:3px solid var(--cyan);border-radius:0 8px 8px 0;padding:11px 14px;margin-bottom:20px}
.akaline b{color:var(--navy)}

/* ============ Pass B — WORKSPACE: save-to-case / watch bar, cases list, dossier, watchlist ============ */
/* Shared button vocabulary for the workspace (save/watch/open/remove). Navy solid = primary action,
   ghost = secondary, danger = destructive. Same weight/mono type as the rest of the chrome, so the
   controls read as part of the app, not bolted on. Previously these lived as duplicated inline
   <style> blocks in each workspace template; consolidated here. */
.wsbtn,.wbtn{display:inline-flex;align-items:center;gap:6px;background:var(--navy);color:#fff;border:none;border-radius:6px;padding:9px 15px;font-family:var(--mono);font-weight:600;font-size:12px;line-height:1;cursor:pointer;text-decoration:none;transition:.15s}
.wsbtn:hover,.wbtn:hover{background:var(--navy2)}
.wsbtn.ghost,.wbtn.ghost{background:transparent;color:var(--navy);border:1px solid var(--line)}
.wsbtn.ghost:hover,.wbtn.ghost:hover{border-color:var(--cyanL);color:var(--navy2);background:transparent}
.wbtn.danger{background:transparent;color:var(--danger);border:1px solid rgba(214,64,39,.35)}
.wbtn.danger:hover{background:var(--dangerbg);border-color:var(--danger)}
/* the small unobtrusive action bar under a company/person header (item 3) */
.wsbar{display:flex;gap:8px;margin:0 0 22px;flex-wrap:wrap;align-items:center}
/* bookmarks — a firm you've pinned. "on" = currently bookmarked (gold); the search-result star sits beside the item. */
.wsbtn.on,.wbtn.on{background:var(--gold);color:var(--navy);border:1px solid var(--gold)}
.wsbtn.on:hover,.wbtn.on:hover{background:#e6b000;color:var(--navy)}
.ritemwrap{display:flex;align-items:stretch;gap:8px}
.ritemwrap .ritem{flex:1;min-width:0}
.bmform{display:flex}
.bmstar{background:var(--card);border:1px solid var(--line);border-radius:9px;min-width:48px;font-size:20px;line-height:1;color:var(--soft);cursor:pointer;transition:.15s}
.bmstar:hover{border-color:var(--gold);color:var(--gold)}
.bmstar.on{color:var(--gold);border-color:var(--gold)}
/* a subtle "already saved / already watching" confirmation the routes can flash back (optional) */
.wsflash{font-family:var(--mono);font-size:11px;color:var(--ok);background:var(--okbg);border:1px solid rgba(47,157,104,.25);border-radius:6px;padding:7px 11px}

/* ── cases + watchlist list rows ── */
.wcard{background:var(--card);border:1px solid var(--line);border-radius:11px;padding:18px 20px;margin-bottom:12px;display:flex;justify-content:space-between;align-items:center;gap:16px;transition:.15s}
.wcard:hover{border-color:var(--cyanL);box-shadow:0 8px 22px -16px rgba(0,29,61,.4)}
.wcard .wtitle{font-family:var(--disp);font-weight:600;font-size:1.15rem;color:var(--navy);letter-spacing:-.01em;line-height:1.1}
.wcard .wtitle a:hover{color:var(--cyan)}
.wcard .wsub{font-family:var(--mono);font-size:12px;color:var(--soft);margin-top:4px}
.wcard .wactions{display:flex;gap:8px;flex-shrink:0;align-items:center;flex-wrap:wrap}
.wkind{font-family:var(--mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--cyan)}
/* a watchlist row with changes gets a soft danger edge so it draws the eye in a long list */
.wcard.has-changes{border-color:rgba(214,64,39,.3)}
/* watchlist change/no-change blocks */
.changes{margin-top:14px;background:var(--dangerbg);border:1px solid rgba(214,64,39,.2);border-radius:8px;padding:12px 16px}
.changeh{font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--danger);margin-bottom:6px;font-weight:600}
.changes ul{margin:0;padding-left:18px}
.changes li{margin:3px 0;font-size:.9rem;color:#7a1c0e}
.nochange{margin-top:12px;font-size:.85rem;color:var(--soft);font-family:var(--mono)}
/* a full-width watchlist row (block layout so the changes list can sit UNDER the header) */
.wcard-block{display:block}
.wcard-block .whead{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}

/* ============ DOSSIER (print-friendly saved-investigation rendering, item 4) ============ */
/* A dossier is a document, not a dashboard: constrained measure, generous rhythm, factual tone. It
   renders the SAVED subject with the neutral fact-showing language of item Q (never "risk"), every
   fact carrying a source line + an AS-OF timestamp, and provenance footnotes at the foot. */
.dossier{max-width:820px}
.doshead{border-bottom:2px solid var(--navy);padding-bottom:16px;margin-bottom:8px}
.dostoolbar{display:flex;gap:8px;margin:0 0 20px;flex-wrap:wrap;align-items:center}
/* the AS-OF stamp — WHEN this investigation was run. A dossier without it is undated and untrustworthy. */
.dosasof{font-family:var(--mono);font-size:11.5px;color:var(--soft);margin-top:8px}
.dosasof b{color:var(--ink);font-weight:600}
/* the neutral verdict/summary line (item Q language — states what the record shows, no adjudication) */
.dossum{font-size:1rem;color:var(--ink);background:var(--card);border:1px solid var(--line);border-left:3px solid var(--cyan);border-radius:0 9px 9px 0;padding:14px 18px;margin-bottom:22px;line-height:1.5}
.dossum.flag{border-left-color:var(--danger)}
.dossum .dostag{display:inline-block;font-family:var(--mono);font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:2px 9px;border-radius:20px;margin-right:9px;vertical-align:middle;background:var(--okbg);color:var(--ok)}
.dossum.flag .dostag{background:var(--dangerbg);color:var(--danger)}
.dossum.incomplete{border-left-color:#c9a24a}
.dossum.incomplete .dostag{background:#fbf1e0;color:#8a5a00}
/* a dossier section: a titled band of facts */
.dossec{margin-bottom:22px}
.dossec>h3{font-family:var(--mono);font-size:11px;letter-spacing:.13em;text-transform:uppercase;color:var(--cyan);margin-bottom:12px;padding-bottom:6px;border-bottom:1px solid var(--line)}
/* a single fact block: the fact, then a small source+as-of line beneath it */
.dosfact{padding:11px 0;border-top:1px solid var(--line)}
.dosfact:first-of-type{border-top:none}
.dosfact .dfmain{font-size:.95rem;color:var(--ink);line-height:1.5}
.dosfact .dfmain b{color:var(--navy)}
.dosfact .dfmain a{color:var(--navy2);border-bottom:1px solid var(--cyanL)}
.dosfact .dfmain a:hover{color:var(--cyan)}
/* the per-fact SOURCE line + AS-OF stamp — provenance travels WITH each fact, not just in the footer */
.dossrc{font-family:var(--mono);font-size:10.5px;color:var(--soft);margin-top:4px;letter-spacing:.01em}
.dossrc .dfverify{color:#8a5a00}
.dossrc .dfasof{color:#8496aa}
/* linked failures grouped by person (item 4: grouped-by-person) */
.dosperson{border:1px solid var(--line);border-radius:9px;margin-bottom:12px;overflow:hidden}
.dospersonhead{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;padding:10px 14px;background:#fbf3f0;border-bottom:1px solid rgba(214,64,39,.18)}
.dospersonhead.clean{background:var(--paper);border-bottom-color:var(--line)}
.dospersonname{font-weight:600;color:var(--navy)}
.dospersonname a{border-bottom:1px solid var(--cyanL)}
.dospersoncount{font-family:var(--mono);font-size:11px;color:var(--danger);white-space:nowrap}
.dospersonhead.clean .dospersoncount{color:var(--soft)}
.dosfail{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;padding:9px 14px;border-top:1px solid var(--line)}
.dosfail:first-child{border-top:none}
.dosfail .dfco{font-weight:500;color:var(--navy);font-size:.9rem}
.dosfail .dfco a{border-bottom:1px solid var(--cyanL)}
.dosfail .dfstat{font-family:var(--mono);font-size:11px;color:var(--danger);font-weight:600}
.dosfail .dftiming{font-family:var(--mono);font-size:10px;color:var(--danger);margin-left:auto}
.dosfail .dftiming.mute{color:var(--soft)}
.dosfail.past .dfstat{color:#8a5a00}
/* a real SoA-OCR £ deficiency figure, shown prominently as the SCALE of a failure (verify-tagged) */
.dosdef{font-family:var(--mono);font-size:11px;color:var(--danger);font-weight:600}
.dosdef .dosdef-src{font-weight:400;color:var(--soft)}
/* provenance FOOTNOTES at the foot of the dossier (item 4) */
.dosfoot{margin-top:30px;padding-top:16px;border-top:1px solid var(--line);font-family:var(--mono);font-size:10.5px;color:var(--soft);line-height:1.7}
.dosfoot .dosfoot-h{letter-spacing:.1em;text-transform:uppercase;color:var(--cyan);margin-bottom:6px}
.dosfoot a{color:var(--soft);border-bottom:1px solid var(--line)}
.dosfoot .dosdisclaim{margin-top:8px;color:var(--soft);font-style:italic;font-family:var(--sans);font-size:.82rem}
.dosempty{color:var(--soft);font-size:.9rem;padding:6px 0}

/* ── PRINT: a clean page. Drop the app chrome (nav, search, toolbars, buttons), let the dossier
   flow full-width in black on white, keep the provenance + as-of. @media print (item 4). ── */
@media print{
  @page{margin:16mm}
  body{background:#fff;color:#000;font-size:11.5pt}
  .nav,.wsbar,.dostoolbar,.wsbtn,.wbtn,.dosnoprint,.sources,form{display:none !important}
  .wrap{max-width:none;margin:0;padding:0}
  .dossier{max-width:none}
  .ccard,.dosperson,.dossum,.wcard{border-color:#bbb !important;box-shadow:none !important;break-inside:avoid;page-break-inside:avoid}
  .dossec{break-inside:avoid;page-break-inside:avoid}
  .doshead{border-bottom-color:#000}
  .cname,.wtitle,.dossum .dfmain b,.dosfact .dfmain b{color:#000 !important}
  .dossec>h3,.dosfoot .dosfoot-h,.ceyebrow{color:#333 !important}
  .dossum,.dosperson,.ccard{background:#fff !important}
  a{color:#000 !important;border-bottom:none !important}
  /* print the destination of each investigation link so the paper dossier is self-contained */
  .dosfact .dfmain a[href^="/"]::after,.dosfail a[href^="/"]::after{content:" [" attr(href) "]";font-size:8pt;color:#666;font-family:monospace}
}

@media(max-width:820px){.cgrid{grid-template-columns:1fr}.nav input{width:150px}.nav .tag{display:none}.wcard{flex-direction:column;align-items:flex-start}.wcard .wactions{width:100%}.dossier{max-width:none}}

/* ============================================================================
   FILED-ACCOUNTS panel (r.financials) — distress ratios, net-assets sparkline,
   expandable figures, stable CH link. Balance-sheet only; "investigate not insolvent".
   ============================================================================ */
.fincard{margin-bottom:24px;border-color:rgba(22,155,189,.30)}
.fincard-flag{border-color:rgba(214,64,39,.32);border-left:3px solid var(--danger)}
.fincard h3{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.fin-type{font-family:var(--mono);font-size:9.5px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--navy2);background:rgba(22,155,189,.11);border-radius:4px;padding:2px 7px;letter-spacing:.04em}
.fin-help{margin-left:auto;font-family:var(--mono);font-size:10.5px;font-weight:400;letter-spacing:.02em;text-transform:none;color:var(--cyan);border-bottom:1px dotted rgba(22,155,189,.5)}
.fin-help:hover{color:var(--navy2)}
.fin-ratios{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin-bottom:6px}
.fin-ratio{border:1px solid var(--line);border-radius:9px;padding:11px 13px;background:var(--paper)}
.fin-ratio.fin-flag{background:var(--dangerbg);border-color:rgba(214,64,39,.3);border-left:3px solid var(--danger)}
.fin-rlabel{display:block;font-family:var(--mono);font-size:10px;letter-spacing:.05em;text-transform:uppercase;color:var(--soft)}
.fin-ratio.fin-flag .fin-rlabel{color:#7a1c0e}
.fin-rval{display:block;font-family:var(--disp);font-weight:600;font-size:1.5rem;line-height:1.15;color:var(--navy);letter-spacing:-.01em;margin:3px 0 4px;font-variant-numeric:tabular-nums}
.fin-ratio.fin-flag .fin-rval{color:var(--danger)}
.fin-rtext{display:block;font-size:.78rem;line-height:1.4;color:var(--soft)}
.fin-trend{margin:16px 0 4px;padding-top:14px;border-top:1px solid var(--line)}
.fin-th{font-family:var(--mono);font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--soft);margin-bottom:7px}
.fin-spark{display:block;width:100%;max-width:300px;height:auto;overflow:visible}
.fin-zero{stroke:var(--line);stroke-width:1;stroke-dasharray:3 3}
.fin-line{fill:none;stroke:var(--cyan);stroke-width:2;stroke-linejoin:round;stroke-linecap:round}
.fin-line.fin-down{stroke:var(--danger)}
.fin-dot{fill:var(--cyan)}
.fin-dot.fin-dot-neg{fill:var(--danger)}
.fin-figures{margin-top:14px}
.fin-figures summary{font-family:var(--mono);font-size:10.5px;letter-spacing:.04em;text-transform:uppercase;color:var(--cyan);cursor:pointer;user-select:none;list-style-position:inside}
.fin-figures summary:hover{color:var(--navy2)}
.fin-figures table{width:100%;margin-top:9px;border-collapse:collapse;font-family:var(--mono);font-size:12px}
.fin-figures td{padding:4px 0;color:var(--navy);border-bottom:1px solid var(--line)}
.fin-figures td:last-child{text-align:right;font-variant-numeric:tabular-nums;color:var(--soft);white-space:nowrap;padding-left:14px}
.fin-filings td:nth-child(2){font-family:var(--sans);font-size:11.5px;color:var(--soft);white-space:normal;text-align:left}
.fin-filings td:last-child{font-variant-numeric:normal}
.fin-filings a{color:var(--cyan);border-bottom:1px solid rgba(22,155,189,.4)}
.fin-filings a:hover{color:var(--navy2)}
/* multi-year balance-sheet matrix: labels down the left, up to 5 year-columns latest-first */
.fin-matrix-wrap{overflow-x:auto;margin-top:9px}
.fin-matrix table{width:100%}
.fin-matrix thead th{font-family:var(--mono);font-size:10.5px;font-weight:600;color:var(--soft);padding:0 0 6px 14px;border-bottom:1px solid var(--line)}
.fin-matrix th:not(:first-child){text-align:right}
.fin-matrix td{border-bottom:none;padding:3.5px 0 3.5px 14px;color:var(--navy);white-space:nowrap;font-variant-numeric:tabular-nums}
.fin-matrix td:first-child{padding-left:0;color:var(--soft);font-family:var(--sans);font-size:11.5px;white-space:normal}
.fin-matrix td:not(:first-child){text-align:right}
.fin-matrix tr.fin-mrow-total td{font-weight:600;color:var(--navy)}
.fin-matrix tbody tr:nth-child(2) td{padding-bottom:8px}
.fin-foot{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap;margin-top:15px;padding-top:12px;border-top:1px solid var(--line);font-family:var(--mono);font-size:11px;color:var(--soft)}
.fin-link{font-family:var(--mono);font-size:11.5px;color:var(--cyan);border-bottom:1px solid rgba(22,155,189,.4);white-space:nowrap}
.fin-link:hover{color:var(--navy2)}

/* ============================================================================
   ACCOUNTS FIELD GUIDE (/accounts-guide) — editorial explainer, Fraunces display.
   ============================================================================ */
.guide{max-width:920px;margin:0 auto}
.guide-hero{padding:6px 0 30px;border-bottom:1px solid var(--line);margin-bottom:34px}
.guide-kicker{font-family:var(--mono);font-size:11px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--cyan);margin-bottom:14px}
.guide-hero h1{font-family:var(--disp);font-weight:600;font-size:2.9rem;line-height:1.04;letter-spacing:-.02em;color:var(--navy);margin-bottom:16px}
.guide-lede{font-size:1.16rem;line-height:1.55;color:var(--navy2);max-width:660px}
.guide-lede em{font-style:italic;color:var(--navy)}
.guide-body{display:grid;grid-template-columns:180px 1fr;gap:42px;align-items:start}
.guide-toc{position:sticky;top:24px;font-family:var(--mono)}
.guide-toc-h{font-size:10px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--soft);margin-bottom:12px}
.guide-toc a{display:block;font-size:12.5px;color:var(--navy2);padding:6px 0 6px 12px;border-left:2px solid var(--line);line-height:1.35}
.guide-toc a:hover{color:var(--cyan);border-left-color:var(--cyan)}
.guide-main{min-width:0}
.guide-main section{margin-bottom:46px;scroll-margin-top:20px}
.guide-main h2{font-family:var(--disp);font-weight:600;font-size:1.72rem;line-height:1.14;letter-spacing:-.015em;color:var(--navy);margin-bottom:16px;padding-bottom:0}
.guide-main h2 em{font-style:italic}
.guide-main h3{font-family:var(--sans);font-weight:700;font-size:1.02rem;color:var(--navy);margin-bottom:7px}
.guide-main p{font-size:1rem;line-height:1.62;color:#2a3a4d;margin-bottom:14px}
.guide-main p q,.guide-main dd q{font-style:normal;color:var(--navy2);font-weight:500}
.guide-main ul{margin:0 0 16px 2px;padding-left:20px}
.guide-main ul li{font-size:1rem;line-height:1.55;color:#2a3a4d;margin-bottom:7px}
.guide-aside{border-left:3px solid var(--cyan);padding:2px 0 2px 16px;font-style:italic;color:var(--navy2)}
.guide-take{background:var(--paper);border-radius:10px;padding:15px 18px;font-size:1rem;line-height:1.55;color:var(--navy2)}
.guide-triple{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:12px;padding:0;margin:4px 0 18px}
.guide-triple li{background:var(--paper);border:1px solid var(--line);border-radius:10px;padding:14px;font-size:.92rem;line-height:1.45;color:#2a3a4d;margin:0}
.guide-triple li span{display:block;font-family:var(--mono);font-size:9.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--cyan);margin-bottom:6px}
.guide-table{width:100%;border-collapse:collapse;margin:6px 0 18px;font-size:.94rem}
.guide-table th{font-family:var(--mono);font-size:10px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--soft);text-align:left;padding:8px 12px;border-bottom:2px solid var(--line)}
.guide-table td{padding:9px 12px;border-bottom:1px solid var(--line);color:var(--navy);font-variant-numeric:tabular-nums}
.guide-table tbody tr:hover{background:var(--paper)}
.guide-types{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:8px 0 20px}
.guide-type{border:1px solid var(--line);border-radius:11px;padding:16px 18px;background:var(--card)}
.guide-type h3{color:var(--cyan);font-family:var(--mono);font-size:12px;letter-spacing:.04em;text-transform:uppercase;margin-bottom:9px}
.guide-type p{font-size:.9rem;line-height:1.5;margin-bottom:0}
.guide-fig{padding:14px 0;border-top:1px solid var(--line)}
.guide-fig:first-of-type{border-top:none;padding-top:4px}
.guide-fig p{margin-bottom:9px}
.guide-fig ul{margin-bottom:9px}
.guide-signals{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:10px 0 22px}
.guide-signal{background:var(--paper);border-radius:11px;padding:16px;border-top:3px solid var(--gold)}
.guide-signal h3{font-size:.95rem;margin-bottom:8px}
.guide-signal p{font-size:.88rem;line-height:1.5;margin-bottom:0}
.guide-caveats{margin:6px 0 18px}
.guide-caveats dt{font-family:var(--sans);font-weight:700;font-size:1rem;color:var(--navy);margin-bottom:5px;margin-top:16px}
.guide-caveats dt:first-child{margin-top:0}
.guide-caveats dd{margin:0 0 4px;font-size:.96rem;line-height:1.58;color:#2a3a4d}
.guide-box{border-radius:11px;padding:17px 20px;margin:18px 0;background:var(--paper);border:1px solid var(--line)}
.guide-box-h{font-family:var(--mono);font-size:11px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--navy2);margin-bottom:9px}
.guide-box p{font-size:.94rem;line-height:1.55;margin-bottom:10px;color:#2a3a4d}
.guide-box p:last-child{margin-bottom:0}
.guide-box-warn{background:var(--dangerbg);border:1px solid rgba(214,64,39,.28);border-left:3px solid var(--danger)}
.guide-box-warn .guide-box-h{color:#7a1c0e}
.guide-box-warn em{font-style:italic}
.guide-box-soon{background:#eef6fc;border:1px solid #cfe4f5;border-left:3px solid #2a7fc0}
.guide-box-soon .guide-box-h{color:#1a5a8a}
.guide-back{margin-top:10px}
.guide-back a{font-family:var(--mono);font-size:12.5px;color:var(--cyan);border-bottom:1px solid rgba(22,155,189,.4)}
.guide-back a:hover{color:var(--navy2)}
@media(max-width:820px){
  .guide-body{grid-template-columns:1fr;gap:20px}
  .guide-toc{position:static;border-bottom:1px solid var(--line);padding-bottom:16px}
  .guide-toc a{display:inline-block;border-left:none;padding:4px 10px 4px 0;margin-right:6px}
  .guide-hero h1{font-size:2.2rem}
  .guide-triple,.guide-types,.guide-signals{grid-template-columns:1fr}
}

/* ---- New firms (new-incorporation watch) --------------------------------------------------- */
.ncbar{display:flex;flex-wrap:wrap;align-items:center;gap:14px 22px;margin-bottom:18px;padding-bottom:16px;border-bottom:1px solid var(--line)}
.ncseg{display:flex;flex-wrap:wrap;gap:7px}
.ncchip{font-family:var(--mono);font-size:12px;letter-spacing:.02em;color:var(--navy2);background:var(--card);border:1px solid var(--line);border-radius:999px;padding:6px 13px;text-decoration:none;transition:all .12s}
.ncchip:hover{border-color:var(--cyan);color:var(--cyan)}
.ncchip.on{background:var(--navy);border-color:var(--navy);color:#fff}
.ncchip.on:hover{color:var(--gold)}
.ncdates{display:flex;align-items:center;gap:7px;margin-left:auto}
.ncdates input[type=date]{font-family:var(--mono);font-size:12px;border:1px solid var(--line);border-radius:6px;padding:6px 9px;color:var(--ink);background:var(--card)}
.ncto{color:var(--soft)}
.ncdates button{background:var(--navy);color:#fff;border:none;border-radius:6px;padding:7px 14px;font-family:var(--mono);font-weight:600;font-size:12px;cursor:pointer}
.ncdates button:hover{background:var(--navy2)}
.nctable{width:100%;border-collapse:collapse;font-size:.92rem}
.nctable thead th{text-align:left;font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--soft);font-weight:600;padding:0 14px 10px;border-bottom:2px solid var(--line)}
.nctable tbody td{padding:13px 14px;border-bottom:1px solid var(--line);vertical-align:top}
.nctable tbody tr:hover{background:var(--paper)}
.nc-co{min-width:230px}
.nc-co a{font-weight:600;color:var(--navy);text-decoration:none}
.nc-co a:hover{color:var(--cyan);text-decoration:underline}
.nc-co .rnum{display:block;margin:2px 0 0}
.nc-date{font-family:var(--mono);font-size:12px;color:var(--navy2);white-space:nowrap}
.nc-loc{color:var(--ink)}
.nc-loc .rnum{margin-left:6px}
.sicchip{display:inline-block;font-family:var(--mono);font-size:10.5px;letter-spacing:.02em;color:var(--cyan);background:rgba(22,155,189,.09);border:1px solid rgba(22,155,189,.22);border-radius:4px;padding:2px 7px;margin:0 4px 4px 0;white-space:nowrap}
.sicchip.muted{color:var(--soft);background:var(--paper);border-color:var(--line)}
.dircell{min-width:220px}
.dir{display:block;margin-bottom:4px;line-height:1.4}
.dir a{color:var(--navy);text-decoration:none;border-bottom:1px solid rgba(0,53,102,.25)}
.dir a:hover{color:var(--cyan);border-color:var(--cyan)}
.dage{font-family:var(--mono);font-size:10.5px;color:var(--soft)}
.dmuted{color:var(--soft);font-size:.85rem;font-style:italic}
/* director track-record flags (v2) */
.trkbar{display:flex;align-items:center;gap:12px;margin:2px 0 14px;flex-wrap:wrap}
.trkcount{font-size:.9rem;color:var(--ink)}
.trkcount b{color:var(--navy);font-size:1rem}
.trkbtn{font-family:var(--mono);font-size:11.5px;color:var(--navy2);background:var(--card);border:1px solid var(--line);border-radius:6px;padding:6px 12px;cursor:pointer;transition:all .12s}
.trkbtn:hover{border-color:var(--cyan);color:var(--cyan)}
.trkbtn:disabled{opacity:.5;cursor:default}
.trk{display:inline-block;font-family:var(--mono);font-size:10px;letter-spacing:.02em;border-radius:4px;padding:1px 6px;margin-left:5px;vertical-align:1px;white-space:nowrap;cursor:help}
.trk-red{color:#a11216;background:rgba(198,26,32,.10);border:1px solid rgba(198,26,32,.30)}
.trk-amber{color:#8a5a00;background:rgba(214,158,46,.12);border:1px solid rgba(214,158,46,.32)}
.trk-clear{color:var(--soft);background:var(--paper);border:1px solid var(--line)}
.trk-pro{color:#5a6b8c;background:rgba(0,53,102,.06);border:1px solid rgba(0,53,102,.16)}
.rowflag-red{background:rgba(198,26,32,.045)!important}
.rowflag-red td:first-child{box-shadow:inset 3px 0 0 #c61a20}
.rowflag-amber td:first-child{box-shadow:inset 3px 0 0 #d69e2e}
.cowarn{display:block;width:fit-content;font-family:var(--mono);font-size:9.5px;letter-spacing:.06em;text-transform:uppercase;border-radius:3px;padding:1px 6px;margin-bottom:4px}
.cowarn-red{color:#a11216;background:rgba(198,26,32,.12)}
.cowarn-amber{color:#8a5a00;background:rgba(214,158,46,.14)}
.nctable.flagonly tbody tr.checked:not(.rowflag){display:none}
/* auth / sign-in */
.navauth{margin-left:6px}
.logo-img{height:23px;width:auto;display:block}
.fhstats{display:flex;gap:14px;margin:18px 0 10px;flex-wrap:wrap}
.fhstat{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:16px 22px;min-width:120px}
.fhstat b{display:block;font-family:var(--disp);font-weight:600;font-size:1.9rem;color:var(--navy);line-height:1;margin-bottom:4px}
.fhstat span{font-family:var(--mono);font-size:10.5px;letter-spacing:.04em;color:var(--soft);text-transform:uppercase}
.authwrap{max-width:30rem;margin:8vh auto 0}
.authform{display:flex;margin:16px 0 14px}
.authform input[type=email]{flex:1;border:1px solid var(--line);border-right:none;border-radius:8px 0 0 8px;padding:13px 15px;font-size:15px;font-family:var(--sans);outline:none}
.authform input[type=email]:focus{border-color:var(--cyan)}
.authform button{background:var(--navy);color:#fff;border:none;border-radius:0 8px 8px 0;padding:13px 20px;font-family:var(--mono);font-weight:600;cursor:pointer;font-size:14px}
.authform button:hover{background:var(--navy2)}
.btnlink{display:inline-block;background:var(--navy);color:#fff;border-radius:8px;padding:12px 20px;font-family:var(--mono);font-weight:600;font-size:14px;text-decoration:none;margin-top:14px}
.btnlink:hover{background:var(--navy2)}
.autherr{background:rgba(198,26,32,.08);border:1px solid rgba(198,26,32,.25);color:#a11216;border-radius:7px;padding:10px 13px;font-size:.9rem;margin-bottom:8px}
.legal{max-width:44rem;margin:0 auto}
.legal h2{font-family:var(--disp);font-weight:600;color:var(--navy);font-size:1.15rem;margin:22px 0 6px}
.legal p{color:var(--ink);margin:0 0 10px;font-size:.96rem}
.gate{max-width:34rem;margin:20px auto;text-align:center;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:34px 28px}
.gate-lock{font-size:30px;margin-bottom:4px}
.gate-h{font-family:var(--disp);font-weight:600;color:var(--navy);font-size:1.3rem;margin:0 0 8px}
.gate-p{color:var(--soft);max-width:46ch;margin:0 auto 16px;font-size:.95rem}
