/* ===========================================================================
   PRO SURFACE - script.report Pro workspace styles (#/app).
   NOT part of the public dashboard. Extracted from index.html (Prompt A).

   Brand: script.report Pro deliberately stays on the PUBLIC red/cream editorial
   tokens (var(--red) #C62828 on cream var(--bg) #FDFBF7), inherited from
   index.html :root. The Forest/Ochre system retires to the Bosk consulting
   brand - do NOT reintroduce it here. (COMMERCIAL_BLUEPRINT, 2026-06-23.)
   =========================================================================== */

    .ws-shell{display:grid;grid-template-columns:212px 1fr;min-height:72vh}
    .ws-side{border-right:1px solid var(--border);background:var(--bg2);padding:22px 16px;display:flex;flex-direction:column}
    .ws-brand{font-family:var(--display);font-weight:700;font-size:18px}
    .ws-brand em{color:var(--red);font-style:normal}
    .ws-protag{font-family:var(--ui);font-size:9px;font-weight:700;letter-spacing:1px;color:var(--red);border:1px solid var(--red);border-radius:4px;padding:1px 5px;margin-left:4px;vertical-align:middle}
    .ws-navlabel{font-family:var(--ui);font-size:9px;font-weight:700;letter-spacing:1.2px;text-transform:uppercase;color:var(--text3);margin:22px 0 8px}
    .ws-nav{display:flex;flex-direction:column;gap:2px}
    .ws-nav a{display:flex;align-items:center;gap:10px;font-family:var(--ui);font-size:13.5px;color:var(--text2);padding:8px 11px;border-radius:7px;cursor:pointer;text-decoration:none}
    .ws-nav a:hover{background:var(--bg)}
    .ws-nav a.active{background:var(--red);color:#fff;font-weight:600}
    .ws-nav a .ws-x{opacity:0;font-size:14px;line-height:1;padding:0 2px;border-radius:4px}
    .ws-nav a:hover .ws-x{opacity:.6}
    .ws-nav a .ws-x:hover{opacity:1;color:var(--red)}
    .ws-nav a.active .ws-x:hover{color:#fff}
    .ws-nav .ico{width:16px;text-align:center;opacity:.85}
    .ws-side-foot{margin-top:auto;padding-top:16px;border-top:1px solid var(--border)}
    .ws-acct{font-family:var(--ui);font-size:11px;color:var(--text3);cursor:pointer}
    .ws-acct b{color:var(--red)}
    .ws-signout{display:inline-block;margin-top:6px;font-family:var(--ui);font-size:11px;color:var(--text3);cursor:pointer;text-decoration:underline}
    .ws-main{padding:30px 34px 64px;width:100%;min-width:0}
    .ws-view{display:none}
    .ws-view.active{display:block}
    .ws-head h2{font-family:var(--display);font-size:28px;margin:0 0 4px}
    .ws-head p{font-family:var(--body);font-size:15px;color:var(--text2);margin:0 0 6px;max-width:580px}
    .ws-askbar{display:flex;gap:9px;align-items:center;background:var(--bg2);border:1px solid var(--border);border-radius:999px;padding:7px 7px 7px 16px;position:sticky;bottom:16px;margin-top:18px}
    .ws-askbar input{flex:1;border:0;background:transparent;font-size:15px;outline:none;color:var(--text);font-family:var(--body)}
    .ws-askbar button{font-family:var(--ui);font-weight:700;font-size:13px;background:var(--red);color:#fff;border:0;border-radius:999px;padding:9px 17px;cursor:pointer}
    .ws-eg{display:block;width:100%;text-align:left;font-family:var(--body);font-size:13.5px;color:var(--text2);background:var(--bg2);border:1px solid var(--border);border-radius:9px;padding:10px 14px;margin-top:8px;cursor:pointer}
    .ws-eg:hover{border-color:var(--red)}
    .ws-hooks{margin-top:14px;display:flex;flex-wrap:wrap;gap:7px;align-items:center}
    .ws-hooks-l{font-family:var(--ui);font-size:9px;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:var(--text3);margin-right:2px}
    .ws-hook{font-family:var(--ui);font-size:12px;font-weight:600;color:var(--red);background:var(--bg2);border:1px solid var(--border);border-radius:999px;padding:5px 11px;cursor:pointer}
    .ws-hook:hover{border-color:var(--red)}
    .ws-hook-primary{background:var(--red);color:#fff;border-color:var(--red)}
    .ws-select{font-family:var(--ui);font-size:12.5px;padding:8px 10px;border:1px solid var(--border);border-radius:7px;background:var(--bg);color:var(--text);cursor:pointer}
    .ws-card{border:1px solid var(--border);border-radius:10px;padding:18px 20px;margin-top:14px;background:var(--bg)}
    .ws-mcard{display:flex;justify-content:space-between;gap:12px;padding:11px 0;border-top:1px solid var(--border);cursor:pointer}
    .ws-mcard:first-child{border-top:0}
    .ws-soon{font-family:var(--ui);font-size:9px;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:var(--red);background:rgba(198,40,40,.1);padding:2px 7px;border-radius:4px;vertical-align:middle}
    .ws-lens{display:grid;grid-template-columns:1fr 320px;gap:16px;align-items:start}
    .ws-icer{font-family:var(--display);font-size:38px;font-weight:800;letter-spacing:-.02em;margin:6px 0 4px}
    .ws-icer small{font-size:14px;color:var(--text3);font-weight:400}
    .ws-inc{width:100%;border-collapse:collapse;font-size:12.5px;margin-top:8px}
    .ws-inc th{font-family:var(--ui);font-size:9px;letter-spacing:.5px;text-transform:uppercase;color:var(--text3);text-align:right;padding:5px 6px;border-bottom:1px solid var(--border)}
    .ws-inc th:first-child{text-align:left}
    .ws-inc td{padding:6px;text-align:right;border-bottom:1px solid var(--border)}
    .ws-inc td:first-child{text-align:left;color:var(--text3);font-family:var(--ui);font-size:10px;text-transform:uppercase}
    .ws-inc td.d{color:var(--red);font-weight:600}
    .ws-thr{margin-top:12px;display:flex;gap:8px;flex-wrap:wrap}
    .ws-chip2{font-family:var(--ui);font-size:11px;padding:4px 9px;border-radius:999px;border:1px solid var(--border)}
    .ws-chip2.good{background:rgba(46,125,50,.12);border-color:#2e7d32;color:#2e7d32}
    .ws-chip2.bad{background:rgba(198,40,40,.1);border-color:var(--red);color:var(--red)}
    .ws-lever{padding:11px 0;border-top:1px solid var(--border)}
    .ws-lever:first-of-type{border-top:0}
    .ws-lh{display:flex;justify-content:space-between;font-size:12.5px;margin-bottom:6px}
    .ws-lh .ws-lv{font-family:var(--ui);font-weight:600}
    .ws-lever input[type=range]{width:100%;accent-color:var(--red)}
    .ws-bench{position:relative;height:26px;margin:12px 0 4px}
    .ws-bench-axis{position:absolute;left:0;right:0;top:13px;height:2px;background:var(--border)}
    .ws-bench-you{position:absolute;top:2px;width:3px;height:22px;background:var(--text);transform:translateX(-50%);left:58%}
    .ws-q{display:grid;grid-template-columns:1fr 320px;gap:16px;align-items:start}
    .ws-verdict{display:flex;align-items:flex-start;gap:16px}
    .ws-vlabel{font-family:var(--display);font-size:25px;font-weight:800;line-height:1.05;color:var(--red)}
    .ws-pnum{font-family:var(--display);font-size:40px;font-weight:800;line-height:.9}
    .ws-pbar{position:relative;height:9px;background:var(--bg2);border:1px solid var(--border);border-radius:5px;margin:14px 0 7px}
    .ws-pfill{position:absolute;left:0;top:0;bottom:0;background:var(--red);border-radius:5px;transition:width .2s,background .2s}
    .ws-ppivot{position:absolute;top:-5px;bottom:-5px;left:50%;width:0;border-left:2px dashed var(--text3)}
    .ws-qlever{display:flex;gap:9px;align-items:flex-start;padding:9px 0;border-top:1px solid var(--border);font-size:13px;cursor:pointer}
    .ws-qlever:first-of-type{border-top:0}
    .ws-qlever input{margin-top:2px;accent-color:var(--red)}
    .ws-qlever small{color:var(--text3)}
    .ws-fac{display:grid;grid-template-columns:1fr 92px 88px;gap:10px;align-items:center;padding:10px 0;border-top:1px solid var(--border)}
    .ws-fac:first-of-type{border-top:0}
    .ws-fac .fn{font-family:var(--display);font-weight:600;font-size:14px}
    .ws-fac .fr{font-size:11px;color:var(--text3)}
    .ws-fchip{font-family:var(--ui);font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;padding:3px 7px;border-radius:999px;text-align:center}
    .ws-fchip.fav{background:rgba(46,125,50,.12);color:#2e7d32}
    .ws-fchip.neu{background:var(--bg2);color:var(--text3)}
    .ws-fchip.unf{background:rgba(198,40,40,.1);color:var(--red)}
    .ws-contrib{position:relative;height:14px}
    .ws-contrib .mid{position:absolute;left:50%;top:-2px;bottom:-2px;width:1px;background:var(--border)}
    .ws-contrib .cb{position:absolute;top:2px;height:10px;border-radius:2px}
    .ws-contrib .pos{left:50%;background:#6fb088}
    .ws-contrib .neg{right:50%;background:#e0918a}
    /* ── shared polish ── */
    .ws-cardhd{display:flex;align-items:center;justify-content:space-between;gap:10px}
    .ws-verdictpill{font-family:var(--ui);font-size:10px;font-weight:700;letter-spacing:.3px;padding:4px 10px;border-radius:999px;white-space:nowrap;border:1px solid var(--border);color:var(--text3)}
    .ws-verdictpill.good{background:rgba(46,125,50,.12);border-color:#2e7d32;color:#2e7d32}
    .ws-verdictpill.mid{background:rgba(184,134,11,.12);border-color:#b8860b;color:#b8860b}
    .ws-verdictpill.bad{background:rgba(198,40,40,.1);border-color:var(--red);color:var(--red)}
    .ws-chartwrap{position:relative;height:230px;margin-top:6px}
    .ws-chartwrap-sm{height:150px}
    .ws-chartwrap canvas{position:absolute;inset:0}
    .ws-bench-band{position:absolute;top:6px;height:14px;left:0;width:44%;background:rgba(46,125,50,.12);border-right:2px solid rgba(46,125,50,.5);border-radius:3px 0 0 3px}
    /* ── Quorum two-stage ── */
    .ws-funnel-card{background:var(--bg2)}
    .ws-funnel{display:flex;flex-direction:column;gap:9px;margin-top:14px}
    .ws-fstep{display:grid;grid-template-columns:128px 1fr auto;align-items:center;gap:12px}
    .ws-fstep .fl{font-family:var(--ui);font-size:11px;font-weight:600;color:var(--text2);text-align:right}
    .ws-fstep .fl small{display:block;font-weight:400;color:var(--text3);font-size:9.5px}
    .ws-ftrack{position:relative;height:24px;background:var(--bg);border:1px solid var(--border);border-radius:6px;overflow:hidden}
    .ws-fbar{position:absolute;left:0;top:0;bottom:0;border-radius:5px 0 0 5px;transition:width .25s ease,background .25s}
    .ws-fbar.gate{background:repeating-linear-gradient(45deg,rgba(198,40,40,.16),rgba(198,40,40,.16) 5px,rgba(198,40,40,.05) 5px,rgba(198,40,40,.05) 10px);border-left:1px dashed var(--red)}
    .ws-fstep .fp{font-family:var(--display);font-weight:800;font-size:18px;min-width:54px;text-align:right;font-variant-numeric:tabular-nums}
    .ws-stage{border-top:2px solid var(--red)}
    .ws-stagehd{display:flex;align-items:center;gap:11px}
    .ws-stageno{flex:none;width:26px;height:26px;border-radius:50%;background:var(--red);color:#fff;font-family:var(--ui);font-weight:700;font-size:13px;display:flex;align-items:center;justify-content:center}
    .ws-stagelab{flex:1;min-width:0}
    .ws-stagetitle{font-family:var(--display);font-weight:700;font-size:15px;line-height:1.15}
    .ws-stagesub{font-family:var(--ui);font-size:10.5px;color:var(--text3);margin-top:1px}
    .ws-stagep{font-family:var(--display);font-weight:800;font-size:26px;line-height:1;font-variant-numeric:tabular-nums}
    .ws-stack{display:flex;height:30px;border-radius:6px;overflow:hidden;margin-top:8px;border:1px solid var(--border)}
    .ws-stack > div{display:flex;align-items:center;justify-content:center;font-family:var(--ui);font-size:10px;font-weight:700;color:#fff;transition:width .25s ease;white-space:nowrap;overflow:hidden}
    .ws-stack-key{display:flex;flex-wrap:wrap;gap:6px 14px;margin-top:9px;font-family:var(--ui);font-size:10px;color:var(--text2)}
    .ws-stack-key span{display:flex;align-items:center;gap:5px}
    .ws-stack-key i{width:9px;height:9px;border-radius:2px;display:inline-block}
    .ws-strat{display:flex;flex-direction:column;gap:8px;margin-top:4px}
    .ws-strow{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center;padding:9px 11px;border:1px solid var(--border);border-radius:8px}
    .ws-strow.win{border-color:var(--red);background:rgba(198,40,40,.05)}
    .ws-strow .sl{font-family:var(--display);font-weight:600;font-size:13px}
    .ws-strow .sl small{display:block;font-family:var(--ui);font-weight:400;font-size:10px;color:var(--text3);margin-top:1px}
    .ws-strow .sv{text-align:right;font-family:var(--ui);font-size:10px;color:var(--text3)}
    .ws-strow .sv b{font-family:var(--display);font-size:16px;color:var(--text);font-variant-numeric:tabular-nums}
    .ws-strow.win .sv b{color:var(--red)}
    .ws-stwin{font-family:var(--ui);font-size:9px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;color:var(--red)}
    @media(max-width:760px){.ws-q{grid-template-columns:1fr}.ws-fstep{grid-template-columns:96px 1fr auto}}
    @media(max-width:760px){.ws-shell{grid-template-columns:1fr}.ws-side{flex-direction:row;flex-wrap:wrap;align-items:center;gap:6px 10px}.ws-navlabel{display:none}.ws-nav{flex-direction:row;flex-wrap:wrap}.ws-side-foot{margin:0 0 0 auto;border:0;padding:0}.ws-main{padding:22px 18px 52px}.ws-lens{grid-template-columns:1fr}}

/* ── Quorum committee / decision theatre (reframed 2026-06-27) ── */
.ws-comm{display:grid;grid-template-columns:1fr 380px;gap:16px;align-items:start;margin-top:14px}
.ws-comm-right{display:flex;flex-direction:column;gap:16px}
.q-mem{display:flex;align-items:center;gap:11px;padding:9px 0;border-top:1px solid var(--border)}
.q-mem:first-child{border-top:0}
.q-mem.is-piv{margin:0 -8px;padding:9px 8px;background:rgba(198,40,40,.04);border-radius:7px}
.q-tok{flex:none;width:26px;height:26px;border-radius:50%;color:#fff;font-family:var(--display);font-weight:700;font-size:13px;display:flex;align-items:center;justify-content:center}
.q-tok.chair{background:var(--text);border-radius:6px;font-size:12px}
.q-mem-l{flex:1;min-width:0}
.q-mem-n{font-family:var(--display);font-weight:600;font-size:13.5px;display:flex;align-items:center;gap:7px}
.q-mem-c{font-family:var(--ui);font-size:10px;color:var(--text3);margin-top:1px}
.q-mem-p{font-family:var(--display);font-weight:800;font-size:15px;font-variant-numeric:tabular-nums;min-width:38px;text-align:right}
.q-mem-p.ok{color:#2e7d32}
.q-favbar{height:6px;border-radius:4px;background:rgba(198,40,40,.12);margin-top:6px;overflow:hidden}
.q-favfor{height:100%;border-radius:4px;transition:width .35s ease,background .35s}
.q-badge{font-family:var(--ui);font-size:8px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;padding:2px 6px;border-radius:999px}
.q-badge.piv{background:rgba(198,40,40,.12);color:var(--red)}
.q-badge.con{background:rgba(184,134,11,.14);color:#b8860b}
.q-chair{display:flex;align-items:center;gap:11px;margin-top:10px;padding-top:12px;border-top:2px solid var(--border)}
.q-run{font-family:var(--ui);font-weight:700;font-size:11px;background:var(--red);color:#fff;border:0;border-radius:999px;padding:6px 13px;cursor:pointer;white-space:nowrap}
.q-run:hover{background:#a81f1f}
.q-grid{margin-top:10px;line-height:0}
.q-tally{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-top:12px;flex-wrap:wrap}
.q-tnum{font-family:var(--display);font-weight:800;font-size:30px;color:#2e7d32;font-variant-numeric:tabular-nums}
.q-tden{font-family:var(--ui);font-size:11px;color:var(--text3)}
.q-ci{font-family:var(--ui);font-size:10px;color:var(--text2);letter-spacing:.3px}
.q-character{font-family:var(--display);font-weight:700;font-size:17px;margin:4px 0 10px}
.q-readbar{position:relative;height:9px;background:var(--bg2);border:1px solid var(--border);border-radius:5px;overflow:hidden}
.q-readfill{position:absolute;left:0;top:0;bottom:0;border-radius:5px;transition:width .35s ease,background .35s}
.q-readpivot{position:absolute;top:-3px;bottom:-3px;left:50%;width:0;border-left:2px dashed var(--text3)}
.q-readbar-x{display:flex;justify-content:space-between;font-family:var(--ui);font-size:9px;color:var(--text3);margin:5px 0 12px}

/* ═══════════════════════════════════════════════════════════════
   TERMINAL THEME (data-theme="terminal")
   Monospace power-user mode for Pro workspace.
   ASCII/CLI vibes: blocky borders, green phosphor, zero roundness where possible.
   ═══════════════════════════════════════════════════════════════ */
[data-theme="terminal"] {
  --bg:     #0a0c0a;
  --bg2:    #121412;
  --bg3:    #1a1c1a;
  --text:   #00ff88;
  --text2:  #88ffaa;
  --text3:  #557766;
  --border: #223322;
  --red:    #ff5555;
}

[data-theme="terminal"] .ws-shell,
[data-theme="terminal"] .ws-main,
[data-theme="terminal"] .ws-card,
[data-theme="terminal"] .ws-askbar {
  font-family: 'IBM Plex Mono', ui-monospace, Menlo, Consolas, monospace;
  letter-spacing: 0;
}

[data-theme="terminal"] .ws-head h2 {
  font-family: 'IBM Plex Mono', ui-monospace, Menlo, Consolas, monospace;
  font-weight: 700;
}

[data-theme="terminal"] .ws-nav a.active {
  background: #00ff88;
  color: #0a0c0a;
}

[data-theme="terminal"] .ws-card,
[data-theme="terminal"] .ws-askbar,
[data-theme="terminal"] .ws-ftrack,
[data-theme="terminal"] .q-run {
  border-radius: 0;
}

[data-theme="terminal"] .q-run {
  background: #00ff88;
  color: #0a0c0a;
  font-weight: 700;
}
[data-theme="terminal"] .q-run:hover {
  background: #88ffaa;
}

[data-theme="terminal"] .ws-verdictpill {
  border-radius: 0;
  font-family: 'IBM Plex Mono', ui-monospace, Menlo, Consolas, monospace;
}

/* ASCII-flavoured scrollbars */
[data-theme="terminal"] .scroll-list,
[data-theme="terminal"] .browse-scroll {
  scrollbar-width: thin;
  scrollbar-color: #00ff88 #0a0c0a;
}
[data-theme="terminal"] .scroll-list::-webkit-scrollbar,
[data-theme="terminal"] .browse-scroll::-webkit-scrollbar {
  width: 8px;
  height: 8px;
}
[data-theme="terminal"] .scroll-list::-webkit-scrollbar-track,
[data-theme="terminal"] .browse-scroll::-webkit-scrollbar-track {
  background: #0a0c0a;
}
[data-theme="terminal"] .scroll-list::-webkit-scrollbar-thumb,
[data-theme="terminal"] .browse-scroll::-webkit-scrollbar-thumb {
  background: #00ff88;
  border: 1px solid #223322;
}
[data-theme="terminal"] .scroll-list::-webkit-scrollbar-thumb:hover,
[data-theme="terminal"] .browse-scroll::-webkit-scrollbar-thumb:hover {
  background: #88ffaa;
}

/* Box-drawing style dividers (use on headers when wanted) */
[data-theme="terminal"] .term-header {
  font-family: 'IBM Plex Mono', ui-monospace, Menlo, Consolas, monospace;
  white-space: pre;
  color: #00ff88;
  margin: 8px 0;
}

[data-theme="terminal"] .term-ascii {
  font-family: 'IBM Plex Mono', ui-monospace, Menlo, Consolas, monospace;
  font-size: 12px;
  color: #00ff88;
  white-space: pre;
  margin-bottom: 8px;
  line-height: 1.2;
}
.q-read{font-family:var(--ui);font-size:11.5px;color:var(--text2);line-height:1.5;padding:5px 0;border-top:1px dashed var(--border)}
.q-read:first-child{border-top:0}
.q-read-k{font-weight:700;color:var(--red);text-transform:uppercase;font-size:9px;letter-spacing:.5px;margin-right:6px}
.q-read-muted{color:var(--text3)}
.ws-q2{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:start;margin-top:16px}
.q-toglink{color:var(--red);cursor:pointer;text-decoration:underline;text-underline-offset:2px;font-weight:600}
@media(max-width:820px){.ws-comm{grid-template-columns:1fr}.ws-q2{grid-template-columns:1fr}}

/* ── Lens "what moves the needle" tornado (one-way sensitivity) ── */
.ws-tornado{margin-top:10px}
.tor-row{display:grid;grid-template-columns:128px 1fr 86px;align-items:center;gap:10px;padding:5px 0}
.tor-name{font-family:var(--display);font-weight:600;font-size:13px;text-align:right;line-height:1.1}
.tor-track{position:relative;height:18px;background:var(--bg2);border:1px solid var(--border);border-radius:4px}
.tor-seg{position:absolute;top:0;bottom:0;transition:left .25s ease,width .25s ease}
.tor-seg.green{background:rgba(79,158,111,.55)}
.tor-seg.red{background:rgba(193,58,43,.5)}
.tor-cur{position:absolute;top:-2px;bottom:-2px;width:0;border-left:2px dashed var(--text);transition:left .25s ease}
.tor-range{font-family:var(--ui);font-size:10px;color:var(--text3)}
.tor-axis{display:flex;justify-content:space-between;font-family:var(--ui);font-size:9px;color:var(--text3);margin-top:6px;padding:0 86px 0 138px}
.tor-axc{color:var(--text2);font-weight:600}
@media(max-width:760px){.tor-row{grid-template-columns:92px 1fr 66px}.tor-axis{padding:0 66px 0 102px}}

/* ── Datum — PBS expenditure report builder ── */
.ws-datum{display:grid;grid-template-columns:240px 1fr;gap:16px;align-items:start;margin-top:14px}
.ws-datum-pick{position:sticky;top:16px}
.ws-datum-main{display:flex;flex-direction:column;gap:16px}
.dt-figs{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:12px}
.dt-fig{border:1px solid var(--border);border-radius:8px;padding:12px 10px;text-align:center;background:var(--bg2)}
.dt-fignum{font-family:var(--display);font-weight:800;font-size:22px;line-height:1;font-variant-numeric:tabular-nums}
.dt-figlab{font-family:var(--ui);font-size:9.5px;letter-spacing:.4px;text-transform:uppercase;color:var(--text3);margin-top:5px}
@media(max-width:820px){.ws-datum{grid-template-columns:1fr}.ws-datum-pick{position:static}}

/* ═══ TERMINAL THEME — analyst power-user skin for the Pro workspace (#/app) ═══
   Phosphor green on near-black + brand red accents, heavy monospace and ASCII
   chrome. The colour vars are global ([data-theme="terminal"] in index.html, and
   the workspace charts read them via _wsCss); this block is the workspace-only
   typographic + ASCII treatment. Opt-in power mode (light → dark → terminal). */
[data-theme="terminal"] #workspace-content * {
  font-family: 'IBM Plex Mono', ui-monospace, Menlo, Consolas, monospace !important;
  letter-spacing: 0 !important;
}
/* square everything off — terminals have no rounded corners */
[data-theme="terminal"] #workspace-content .ws-card,
[data-theme="terminal"] #workspace-content .dt-fig,
[data-theme="terminal"] #workspace-content .ws-select,
[data-theme="terminal"] #workspace-content .ws-stack,
[data-theme="terminal"] #workspace-content .q-tok,
[data-theme="terminal"] #workspace-content .q-grid canvas,
[data-theme="terminal"] #workspace-content .ws-verdictpill,
[data-theme="terminal"] #workspace-content .pro-tag,
[data-theme="terminal"] #workspace-content .q-badge,
[data-theme="terminal"] #workspace-content .ws-soon,
[data-theme="terminal"] #workspace-content .ws-nav a,
[data-theme="terminal"] #workspace-content .ws-askbar,
[data-theme="terminal"] #workspace-content .ws-hook,
[data-theme="terminal"] #workspace-content .tor-track { border-radius: 0 !important; }
[data-theme="terminal"] #workspace-content .ws-card { box-shadow: inset 0 0 0 1px rgba(0,255,136,.05); }
/* ASCII prompt prefixes */
[data-theme="terminal"] #workspace-content .ws-head h2::before { content: "> "; color: var(--text3); }
[data-theme="terminal"] #workspace-content .eyebrow::before { content: "// "; color: var(--text3); }
[data-theme="terminal"] #workspace-content .ws-nav a::before { content: "\203A "; color: var(--text3); }
[data-theme="terminal"] #workspace-content .ws-nav a.active { background: rgba(0,255,136,.12); color: var(--text); box-shadow: inset 2px 0 0 var(--text); }
[data-theme="terminal"] #workspace-content .ws-nav a.active::before { color: var(--text); }
[data-theme="terminal"] #workspace-content .ws-brand em,
[data-theme="terminal"] #workspace-content .ws-protag { color: var(--text); }
[data-theme="terminal"] #workspace-content .ws-protag { border-color: var(--text); }
/* buttons as [ commands ] */
[data-theme="terminal"] #workspace-content .ws-askbar button,
[data-theme="terminal"] #workspace-content .q-run,
[data-theme="terminal"] #workspace-content .pro-btn.solid {
  background: transparent; color: var(--text); border: 1px solid var(--text);
  border-radius: 0; box-shadow: 0 0 6px rgba(0,255,136,.22);
}
[data-theme="terminal"] #workspace-content .ws-askbar button::before,
[data-theme="terminal"] #workspace-content .q-run::before { content: "[ "; }
[data-theme="terminal"] #workspace-content .ws-askbar button::after,
[data-theme="terminal"] #workspace-content .q-run::after { content: " ]"; }
/* phosphor glow on the headline numbers */
[data-theme="terminal"] #workspace-content .ws-icer,
[data-theme="terminal"] #workspace-content .q-tnum,
[data-theme="terminal"] #workspace-content .dt-fignum,
[data-theme="terminal"] #workspace-content .ws-stagep,
[data-theme="terminal"] #workspace-content .q-character { text-shadow: 0 0 8px rgba(0,255,136,.35); }
[data-theme="terminal"] #workspace-content .ws-verdictpill { border-color: var(--text3); color: var(--text2); }
[data-theme="terminal"] #workspace-content ::selection { background: rgba(0,255,136,.25); color: var(--text); }
/* blocky terminal scrollbars in the workspace */
[data-theme="terminal"] #workspace-content ::-webkit-scrollbar { width: 10px; height: 10px; }
[data-theme="terminal"] #workspace-content ::-webkit-scrollbar-thumb { background: var(--text3); border: 2px solid var(--bg); }
[data-theme="terminal"] #workspace-content ::-webkit-scrollbar-track { background: var(--bg); }

/* ── Datum phase-2B — item-level per-state breakdown ── */
.dt-states{margin-top:10px;display:flex;flex-direction:column;gap:5px}
.dt-strow{display:grid;grid-template-columns:42px 1fr 64px;align-items:center;gap:8px}
.dt-stname{font-family:var(--ui);font-size:10px;color:var(--text2);font-weight:600}
.dt-stbar{height:14px;background:var(--bg2);border:1px solid var(--border);border-radius:3px;overflow:hidden}
.dt-stfill{height:100%;background:var(--red);opacity:.55}
.dt-stval{font-family:var(--ui);font-size:10px;color:var(--text3);text-align:right}

/* ── Datum step 3 — self-service explorer ── */
.ws-dx{margin-top:14px}
.dx-controls{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end;margin-top:12px}
.dx-lab{display:flex;flex-direction:column;gap:3px;font-family:var(--ui);font-size:9.5px;letter-spacing:.4px;text-transform:uppercase;color:var(--text3)}
.dx-lab .ws-select{min-width:160px}
.dx-seg{display:inline-flex;flex-wrap:wrap;border:1px solid var(--border);border-radius:7px;overflow:hidden;background:var(--bg2)}
.dx-seg button{font-family:var(--ui);font-size:11px;font-weight:600;color:var(--text3);background:transparent;border:0;border-left:1px solid var(--border);padding:7px 12px;cursor:pointer}
.dx-seg button:first-child{border-left:0}
.dx-seg button:hover{color:var(--text2)}
.dx-seg button.dx-on{background:var(--red);color:#fff}
.dx-grans{margin-top:12px}
.dx-chartwrap{height:300px;margin-top:14px}
.dx-note{font-family:var(--ui);font-size:11px;margin-top:10px}
@media(max-width:600px){.dx-lab .ws-select{min-width:120px}.dx-seg button{padding:6px 9px;font-size:10px}}

/* Datum explorer — persistent honesty caveat */
.dx-caveat{font-family:var(--ui);font-size:10px;line-height:1.5;color:var(--text3);margin-top:10px;padding-top:8px;border-top:1px solid var(--border)}

/* ── Datum Market Builder ── */
.mk-controls{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end;margin-top:12px}
.mk-quick{display:inline-flex;gap:6px}
.mk-quick button{font-family:var(--ui);font-size:10px;font-weight:600;color:var(--text2);background:var(--bg2);border:1px solid var(--border);border-radius:6px;padding:7px 10px;cursor:pointer}
.mk-quick button:hover{border-color:var(--red);color:var(--red)}
.mk-grid{display:grid;grid-template-columns:300px 1fr;gap:16px;align-items:start;margin-top:14px}
.mk-tree{max-height:400px;overflow:auto;border:1px solid var(--border);border-radius:8px;padding:6px;background:var(--bg2)}
.mk-class{margin-bottom:3px}
.mk-clshd{display:flex;align-items:center;gap:7px;padding:6px 7px;font-family:var(--ui);font-size:11.5px;cursor:pointer;border-radius:5px}
.mk-clshd:hover{background:var(--bg3)}
.mk-clshd b{flex:1;font-weight:700}
.mk-cn{font-family:var(--ui);font-size:9px;color:var(--text3);font-variant-numeric:tabular-nums}
.mk-items{padding:1px 0 4px 8px}
.mk-item{display:flex;align-items:baseline;gap:7px;padding:4px 7px;cursor:pointer;border-radius:5px;font-family:var(--ui)}
.mk-item:hover{background:var(--bg3)}
.mk-item input,.mk-clshd input{accent-color:var(--red);cursor:pointer;flex:none}
.mk-mol{font-size:11px;font-weight:600;color:var(--text);white-space:nowrap}
.mk-brand{font-size:9.5px;color:var(--text3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mk-out{display:flex;flex-direction:column;gap:12px;min-width:0}
.mk-chartwrap{height:280px}
.mk-total{display:flex;flex-direction:column;gap:2px}
.mk-tlab{font-family:var(--ui);font-size:9.5px;letter-spacing:.4px;text-transform:uppercase;color:var(--text3)}
.mk-tnum{font-family:var(--display);font-weight:800;font-size:30px;line-height:1;color:var(--red);font-variant-numeric:tabular-nums}
.mk-complab{font-family:var(--ui);font-size:9.5px;letter-spacing:.4px;text-transform:uppercase;color:var(--text3);margin-bottom:6px}
.mk-comprow{display:grid;grid-template-columns:118px 1fr 100px;align-items:center;gap:8px;padding:2px 0}
.mk-compname{font-family:var(--ui);font-size:10px;color:var(--text2);font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mk-compbar{height:12px;background:var(--bg2);border:1px solid var(--border);border-radius:3px;overflow:hidden}
.mk-compfill{height:100%;background:var(--red);opacity:.5}
.mk-compval{font-family:var(--ui);font-size:9.5px;color:var(--text3);text-align:right;font-variant-numeric:tabular-nums}
@media(max-width:760px){.mk-grid{grid-template-columns:1fr}.mk-tree{max-height:300px}}

/* Market Builder — molecule + pack levels (pack depth) */
.mk-mols{padding-left:4px}
.mk-mol-grp{margin:1px 0}
.mk-molhd{display:flex;align-items:center;gap:7px;padding:4px 7px;font-family:var(--ui);font-size:10.5px;cursor:pointer;border-radius:5px}
.mk-molhd:hover{background:var(--bg3)}
.mk-molname{flex:1;font-weight:600;color:var(--text2);text-transform:capitalize;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mk-packs{padding-left:14px}
.mk-pbrand{font-size:10px;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-transform:capitalize}
.mk-pmeta{font-size:9px;color:var(--text3);white-space:nowrap;flex:none}

/* Market Builder — collapse carets */
.mk-clshd,.mk-molhd{cursor:default}
.mk-caret{background:none;border:0;color:var(--text3);cursor:pointer;font-size:9px;padding:0;width:13px;flex:none;line-height:1}
.mk-caret:hover{color:var(--red)}
.mk-caret-sp{width:13px;flex:none;display:inline-block}
.mk-clname{flex:1;cursor:pointer}
.mk-clname b{font-weight:700}
.mk-molname{cursor:pointer}
