/* Pascal Glass UI skeleton. Direction C "Audit" + A top nav and house-desk band + B shows/does-not pair.
   Light theme only. Green and red mean PASS and REFUSE only; PnL carries its sign, never a colour. */
:root{
  --bg:#F5F6F7; --surface:#FFFFFF; --sunk:#EEF0F2;
  --hl:#F3F1EC; --hl-rule:#8A8478;
  --ink:#15181C; --ink-2:#454B53; --ink-3:#737A83; --ink-4:#9AA0A8;
  --rule:#D9DDE2; --rule-2:#E9ECEF;
  --pass:#1E7346; --pass-bg:#EAF4EE; --refuse:#B42318; --refuse-bg:#FCECEA;
  --sans:"IBM Plex Sans",system-ui,-apple-system,"Segoe UI",sans-serif;
  --mono:"IBM Plex Mono",ui-monospace,SFMono-Regular,Menlo,monospace;
  --fs-xs:11px; --fs-s:12.5px; --fs-m:14px; --fs-t:13px; --fs-l:17px; --fs-xl:22px; --fs-xxl:30px; --fs-hd:40px;
  --s1:4px; --s2:8px; --s3:12px; --s4:16px; --s5:20px; --s6:32px;
  --wrap:1180px; --gutter:16px;
  color-scheme:light;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font:var(--fs-m)/1.5 var(--sans);font-variant-numeric:tabular-nums lining-nums;overflow-x:hidden}
a{color:var(--ink);text-decoration:underline;text-decoration-color:var(--ink-4);text-underline-offset:2px}
a:hover{text-decoration-color:var(--ink)}
code,pre,.mono{font-family:var(--mono)}
code{font-size:max(.92em,11px)}
h1,h2,h3{font-weight:600;letter-spacing:-.01em;margin:0}
h1{font-size:var(--fs-xxl);line-height:1.2}
h2{font-size:var(--fs-l)}
h3{font-size:var(--fs-m)}
p{margin:0 0 10px}
.num{text-align:right;white-space:nowrap}
.muted{color:var(--ink-3)} .small{font-size:var(--fs-s)} .xs{font-size:var(--fs-xs)}
.caps{text-transform:uppercase;letter-spacing:.07em;font-size:var(--fs-xs);font-weight:600;color:var(--ink-3)}
.hidden{display:none !important}

/* ---------- top nav (A) + status bar ---------- */
.topnav{background:var(--surface);border-bottom:1px solid var(--rule)}
.topnav .in{max-width:var(--wrap);margin:0 auto;padding:0 var(--gutter);display:flex;flex-wrap:wrap;align-items:stretch;justify-content:space-between;gap:0 24px}
.brand{display:flex;align-items:center;gap:8px;padding:12px 0;font:600 16px/1 var(--sans);color:var(--ink);text-decoration:none}
.brand i{display:inline-block;width:12px;height:12px;border:2px solid var(--ink)}
.topnav ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap}
.topnav li a{display:block;padding:13px 10px 10px;color:var(--ink-2);text-decoration:none;border-bottom:3px solid transparent;font-weight:500;font-size:13.5px;white-space:nowrap}
.topnav li a:hover{color:var(--ink)}
.topnav li a[aria-current=page]{color:var(--ink);border-bottom-color:var(--ink)}
.status{background:var(--sunk);border-bottom:1px solid var(--rule);font:var(--fs-xs)/1.5 var(--mono);color:var(--ink-2)}
.status .in{max-width:var(--wrap);margin:0 auto;padding:6px var(--gutter);display:flex;flex-wrap:wrap;gap:4px 16px;align-items:center}
#status-text{display:flex;flex-wrap:wrap;gap:4px 16px}
.status .lg{display:flex;flex-wrap:wrap;gap:6px;margin-left:auto}

main{max-width:var(--wrap);margin:0 auto;padding:22px var(--gutter) 40px;min-width:0}
.pagehead{margin-bottom:18px}
.pagehead p{color:var(--ink-2);max-width:72ch;margin:6px 0 0}
.crumb{font-size:var(--fs-xs);color:var(--ink-3);text-transform:uppercase;letter-spacing:.08em;margin-bottom:6px}

/* ---------- pills & chips ---------- */
.pill{display:inline-flex;align-items:center;gap:5px;font:600 10.5px/1 var(--sans);letter-spacing:.06em;text-transform:uppercase;padding:4px 6px 3px;border-radius:3px;white-space:nowrap;vertical-align:middle}
.pill.live{color:var(--ink);border:1px solid var(--ink-2);background:var(--surface)}
.pill.live::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--ink-2)}
.pill.mock{color:var(--ink-2);border:1px dashed var(--ink-2);background:var(--sunk)}
.pill.canned{color:var(--ink-2);border:3px double var(--ink-3);padding:2px 5px 1px;background:var(--surface)}
.pill.marked{color:var(--ink-2);border:1px solid var(--ink-4);background:var(--surface)}
.pill.assume{color:var(--ink-2);border:1px dotted var(--ink-2);background:var(--surface)}
.pill.pass{color:#fff;background:var(--pass);border:1px solid var(--pass)}
.pill.refuse{color:#fff;background:var(--refuse);border:1px solid var(--refuse)}
.chip{display:inline-block;font:500 11px/1 var(--mono);padding:3px 5px;border:1px solid var(--rule);border-radius:2px;background:var(--surface);color:var(--ink-2);white-space:nowrap;vertical-align:middle}
.chip.desk{background:var(--ink);color:#fff;border-color:var(--ink);font-weight:600}
.chip.bot{border-color:var(--ink-3)}
.chip.leader{border-style:dashed;border-color:var(--ink-3)}
.xl{display:inline-block;font:500 11px/1 var(--sans);padding:3px 6px;border:1px solid var(--ink-3);border-radius:9px;color:var(--ink-3);white-space:nowrap;vertical-align:middle}
.addr{font-family:var(--mono);font-size:12.5px;white-space:nowrap}
.tags{display:inline-flex;flex-wrap:wrap;gap:4px;vertical-align:middle}

/* ---------- house-desk band (A .hdbar) ---------- */
.hdbar{display:grid;grid-template-columns:auto minmax(0,1fr) auto;background:var(--surface);border:1.5px solid var(--ink);margin-bottom:20px}
.hdbar>div{padding:14px 18px;min-width:0}
.hdbar .big{background:var(--ink);color:#fff;font:600 var(--fs-hd)/1 var(--mono);display:flex;flex-direction:column;justify-content:center;gap:6px}
.hdbar .big small{font:500 var(--fs-s)/1.3 var(--sans);opacity:.85}
.hdbar .txt{font-size:var(--fs-m);display:flex;flex-direction:column;gap:6px;justify-content:center}
.hdbar .txt .line{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.hdbar .aux{font:var(--fs-xs)/1.5 var(--mono);color:var(--ink-2);border-left:1px solid var(--rule);display:flex;flex-direction:column;justify-content:center}

/* ---------- panels ---------- */
.panel{background:var(--surface);border:1px solid var(--rule);margin-bottom:20px;min-width:0}
.panel>header{display:flex;flex-wrap:wrap;gap:6px 14px;align-items:baseline;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--rule)}
.panel>header h2{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.panel>header p{margin:0;color:var(--ink-3);font-size:var(--fs-s);min-width:0;overflow-wrap:anywhere}
.panel .body{padding:14px 16px}
.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));border-bottom:1px solid var(--rule)}
.kpi{padding:12px 16px;border-right:1px solid var(--rule-2);border-bottom:1px solid var(--rule-2);min-width:0}
.kpi .v{font-size:var(--fs-xl);font-weight:600;line-height:1.25;overflow-wrap:anywhere}
.kpi .s{font-size:var(--fs-xs);color:var(--ink-3)}
.kpi.pair .v{display:flex;flex-wrap:wrap;gap:4px 14px;align-items:baseline}

/* ---------- tables ---------- */
.tw{overflow-x:auto;-webkit-overflow-scrolling:touch;max-width:100%}
table{border-collapse:collapse;width:100%;font-size:var(--fs-t)}
th,td{padding:7px 10px;border-bottom:1px solid var(--rule-2);text-align:left;vertical-align:top}
thead th{font-size:var(--fs-xs);font-weight:600;color:var(--ink-3);text-transform:uppercase;letter-spacing:.05em;background:var(--sunk);border-bottom:1px solid var(--rule);white-space:nowrap}
th.num{text-align:right}
td.ev,th.ev{border-left:1px solid var(--rule);background:#FAFBFB;font-size:var(--fs-xs);color:var(--ink-2);min-width:170px}
th.ev{background:var(--sunk)}
tr.desk td{background:var(--hl)}
tr.desk td:first-child{box-shadow:inset 3px 0 0 var(--hl-rule)}
tr.desk td.ev{background:#EFECE5}
tr.sel td{background:#E7EAEE}
tr.sel td:first-child{box-shadow:inset 3px 0 0 var(--ink)}
tbody tr.click{cursor:pointer}
tbody tr.click:hover td{background:#F1F3F5}
.rank{color:var(--ink-4);font-family:var(--mono);font-size:var(--fs-xs)}
td .sub{display:block;font-size:var(--fs-xs);color:var(--ink-3);white-space:nowrap}
td.mono{white-space:nowrap;font-size:12px}
td.empty{color:var(--ink-3);text-align:center;padding:18px}

/* ---------- What this shows / What it does not (B) ---------- */
.pair2{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--rule);background:#FAFBFB;font-size:var(--fs-s);color:var(--ink-2)}
.pair2>div{padding:10px 16px}
.pair2>div+div{border-left:1px solid var(--rule-2)}
.pair2 b{display:block;text-transform:uppercase;letter-spacing:.07em;font-size:var(--fs-xs);color:var(--ink-3);margin-bottom:2px}
.pair2 p{margin:0}

/* ---------- code ---------- */
pre{margin:0;background:#FBFBFC;border:1px solid var(--rule);padding:12px 14px;overflow-x:auto;font-size:12.5px;line-height:1.55;color:var(--ink);max-width:100%}
pre.resp{max-height:320px;overflow:auto;border-top:0;font-size:12px}
.codehead{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;align-items:center;font-size:var(--fs-xs);color:var(--ink-3);background:var(--sunk);border:1px solid var(--rule);border-bottom:0;padding:6px 12px}

/* ---------- receipts ---------- */
.rstrip{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;background:var(--surface);border:1px solid var(--rule);border-left:4px solid var(--ink-3);padding:8px 12px;margin-bottom:20px;font-size:var(--fs-s)}
.rstrip.ok{border-left-color:var(--pass)} .rstrip.no{border-left-color:var(--refuse)}
.rstrip .lbl{font-weight:600}
.rstrip code{color:var(--ink-2)}
.rstrip a{margin-left:auto}
.receipts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-bottom:0}
.receipt{background:var(--surface);border:1px solid var(--rule);font-size:13px;min-width:0}
.receipt>.rh{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding:12px 16px;border-bottom:1px solid var(--rule);border-top:4px solid var(--ink-3)}
.receipt.ok>.rh{border-top-color:var(--pass)}
.receipt.no>.rh{border-top-color:var(--refuse)}
.receipt .rh h2{font-size:15px}
.step{display:grid;grid-template-columns:34px minmax(0,1fr);border-bottom:1px dashed var(--rule)}
.step:last-child{border-bottom:0}
.step .n{font:600 11px/1 var(--mono);color:var(--ink-4);padding:14px 0 0 14px}
.step .c{padding:11px 16px 12px 4px;min-width:0}
.step .t{display:flex;flex-wrap:wrap;justify-content:space-between;gap:6px;align-items:center;margin-bottom:6px}
.step .t b{font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.07em;color:var(--ink-3)}
.kv{display:grid;grid-template-columns:118px minmax(0,1fr);gap:3px 10px;font-size:12.5px;margin:0}
.kv dt{color:var(--ink-3)}
.kv dd{margin:0;font-family:var(--mono);font-size:12px;overflow-wrap:anywhere}
.quote{font-family:var(--mono);font-size:12.5px;background:var(--sunk);padding:8px 10px;border-left:2px solid var(--ink-3);margin-bottom:6px;overflow-wrap:anywhere}
.hash{font-family:var(--mono);font-size:11.5px;color:var(--ink-2);overflow-wrap:anywhere}
.rules{list-style:none;margin:0;padding:0}
.rules li{display:grid;grid-template-columns:22px minmax(0,1fr);gap:1px 8px;padding:5px 0;border-bottom:1px solid var(--rule-2);align-items:baseline}
.rules li:last-child{border-bottom:0}
.rules .m{font-weight:700;font-size:14px;text-align:center}
.rules .ok .m{color:var(--pass)} .rules .bad .m{color:var(--refuse)}
.rules .bad{background:var(--refuse-bg);margin:0 -8px;padding:5px 8px}
.rules .val{font-family:var(--mono);font-size:12px;color:var(--ink-2);overflow-wrap:anywhere}
.rules .bad .val{color:var(--refuse);font-weight:600}
.verdict{display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding:10px 12px;border:1px solid var(--rule)}
.verdict.ok{background:var(--pass-bg);border-color:#BFDCCB}
.verdict.no{background:var(--refuse-bg);border-color:#F1C4BF}
.verdict .big{font:700 18px/1 var(--sans);letter-spacing:.04em}
.verdict.ok .big{color:var(--pass)} .verdict.no .big{color:var(--refuse)}
.verdict p{flex-basis:100%;margin:2px 0 0;font-size:12.5px;color:var(--ink-2)}
.na{color:var(--ink-3);font-style:italic}

/* ---------- Other Side split + drawer ---------- */
.split{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:0;align-items:stretch}
.split>.tw{min-width:0}
.drawer{border-left:1px solid var(--rule);background:var(--surface);min-width:0}
.drawer>.rh{display:flex;flex-wrap:wrap;gap:6px;justify-content:space-between;align-items:center;padding:12px 14px;border-bottom:1px solid var(--rule)}
.drawer .body{padding:12px 14px}
.sides{display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid var(--rule)}
.sides>div{padding:12px 14px;min-width:0}
.sides>div+div{border-left:1px solid var(--rule)}
.sides .desk-side{background:var(--hl)}
.toolbar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding:10px 16px;border-bottom:1px solid var(--rule-2);font-size:var(--fs-s)}
select{font:13px var(--mono);padding:5px 8px;border:1px solid var(--ink-4);background:var(--surface);color:var(--ink);max-width:100%}

/* ---------- docs: pricing, asks ---------- */
.hero{margin-bottom:22px}
.hero .tag{font-size:var(--fs-l);color:var(--ink-2);margin:6px 0 10px}
.hero .lede{font-size:15px;color:var(--ink-2);max-width:72ch}
.tiers{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}
.tier{padding:16px;border-right:1px solid var(--rule-2);min-width:0}
.tier:last-child{border-right:0}
.tier .price{font-size:26px;font-weight:600;line-height:1.1;margin:6px 0 8px}
.tier .price small{font-size:13px;font-weight:400;color:var(--ink-3)}
.tier p{font-size:13px;margin:0}
.asks{counter-reset:a;list-style:none;margin:0;padding:0}
.asks li{counter-increment:a;display:grid;grid-template-columns:36px minmax(0,1fr);padding:12px 16px;border-top:1px solid var(--rule-2)}
.asks li:first-child{border-top:0}
.asks li::before{content:counter(a,decimal-leading-zero);font:600 12px/1.6 var(--mono);color:var(--ink-3)}
.asks b{display:block}

.note{border:1px solid var(--rule);background:var(--surface);padding:10px 14px;font-size:12.5px;color:var(--ink-2);margin-bottom:20px}
.err{border:1px solid var(--refuse);background:var(--refuse-bg);padding:10px 14px;font-size:12.5px;margin-bottom:20px}
.foot{max-width:var(--wrap);margin:0 auto;padding:12px var(--gutter) 28px;border-top:1px solid var(--rule);font-size:12px;color:var(--ink-3)}

/* ---------- responsive ---------- */
@media (max-width:1000px){
  .split{grid-template-columns:minmax(0,1fr)}
  .drawer{border-left:0;border-top:1px solid var(--rule)}
  .receipts{grid-template-columns:minmax(0,1fr)}
  .tiers{grid-template-columns:repeat(2,minmax(0,1fr))}
  .tier:nth-child(2){border-right:0}
  .tier:nth-child(-n+2){border-bottom:1px solid var(--rule-2)}
}
@media (max-width:760px){
  h1{font-size:24px}
  .topnav .in{gap:0}
  .brand{padding:10px 0 4px;width:100%}
  .topnav ul{width:100%;margin:0 -8px}
  .topnav li a{padding:8px 8px 7px}
  .status .lg{margin-left:0}
  main{padding:16px var(--gutter) 32px}
  .hdbar{grid-template-columns:minmax(0,1fr)}
  .hdbar .aux{border-left:0;border-top:1px solid var(--rule)}
  .hdbar .big{font-size:34px}
  .pair2{grid-template-columns:minmax(0,1fr)}
  .pair2>div+div{border-left:0;border-top:1px solid var(--rule-2)}
  .kv{grid-template-columns:96px minmax(0,1fr)}
  .sides{grid-template-columns:minmax(0,1fr)}
  .sides>div+div{border-left:0;border-top:1px solid var(--rule)}
  .tiers{grid-template-columns:minmax(0,1fr)}
  .tier{border-right:0 !important;border-bottom:1px solid var(--rule-2)}
  .rstrip a{margin-left:0}
}
