
:root{
  /* UniFi-class chrome V1 — aligned with MP Command Center polish */
  --bg:#0a0b0d;--bg2:#0e1014;--panel:#11141a;--panel2:#161b22;
  --line:#232a33;--line2:#2f3844;--ink:#f0f3f7;--muted:#8b949e;--soft:#c5d0e0;
  --accent:#006fff;--accent2:#1a7dff;--accent-soft:rgba(0,111,255,.14);
  --ok:#3dd68c;--ok-bg:rgba(61,214,140,.12);--ok-line:rgba(61,214,140,.35);
  --rev:#f0b429;--rev-bg:rgba(240,180,41,.12);--rev-line:rgba(240,180,41,.35);--rev-soft:#fde047;
  --stop:#f2555a;--stop-bg:rgba(242,85,90,.12);--stop-line:rgba(242,85,90,.35);
  --pend:#8b949e;--pend-bg:#151b27;--run:#38bdf8;--run-bg:#0c1e2e;
  --code:#050607;--code-ink:#9fdbff;
  --radius-sm:6px;--radius:10px;--shadow:0 8px 24px rgba(0,0,0,.35);
}

*{box-sizing:border-box}
html,body{height:100%}
body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;overflow:hidden}
button,input,textarea,select{font:inherit;color:inherit}
.shell{height:100vh;display:grid;grid-template-rows:auto auto 1fr}
.nav{background:linear-gradient(180deg,#101a2c,#0b1220);border-bottom:1px solid var(--line);padding:12px 16px}
.top{display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;align-items:flex-start}
h1{margin:0;font-size:20px}
.summary{color:var(--muted);font-size:12px;max-width:54rem;margin-top:5px;line-height:1.45}
.metrics{display:flex;gap:6px;flex-wrap:wrap}
.metric{border:1px solid var(--line);border-radius:8px;background:var(--panel);padding:6px 9px;font-size:12px;color:var(--muted)}
.metric strong{color:var(--ink)}
.metric.ok{background:var(--ok-bg);border-color:var(--ok-line);color:var(--ok)}
.metric.ok strong{color:var(--ok)}
.chips{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}
.chip{border:1px solid var(--line);background:var(--panel2);border-radius:999px;padding:4px 10px;font-size:11px;color:var(--soft)}
.master-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.master-tabs button{
  border:1px solid var(--line);border-radius:10px;background:var(--panel);
  color:var(--soft);padding:10px 16px;cursor:pointer;font-size:14px;font-weight:650
}
.master-tabs button:hover{border-color:var(--line2);color:#fff}
.master-tabs button.active{background:#1d3a6b;border-color:#3b82f6;color:#fff;box-shadow:0 0 0 1px rgba(59,130,246,.35)}
.master-tabs button span{display:block;font-size:11px;font-weight:500;color:var(--muted);margin-top:2px}
.master-tabs button.active span{color:#bfdbfe}
.toolbar{display:flex;gap:8px;flex-wrap:wrap;align-items:center;padding:8px 16px;background:var(--bg2);border-bottom:1px solid var(--line)}
.tool{border:1px solid var(--line);border-radius:8px;background:var(--panel);color:var(--soft);padding:7px 11px;cursor:pointer;font-size:13px}
.tool:hover{border-color:var(--line2);color:#fff}
.tool.primary{background:#1d4ed8;border-color:#2563eb;color:#fff}
.tool:disabled{opacity:.45;cursor:not-allowed}
.progress{height:6px;background:#1e293b;border-radius:999px;overflow:hidden;min-width:140px}
.progress>i{display:block;height:100%;width:0;background:linear-gradient(90deg,#22c55e,#16a34a);transition:width .3s}
.status{color:var(--muted);font-size:12px;margin-left:auto}
.content{min-height:0;height:100%;padding:12px 14px 14px;display:flex;flex-direction:column}
 .panel{display:none;flex:1;height:100%;min-height:0;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:var(--bg2)}
.panel.active{display:flex;flex-direction:column}
.scroll{overflow:auto;padding:14px;flex:1;min-height:0}
.wrap{width:min(1680px,100%);margin:0 auto}
.block{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:16px;margin-bottom:12px}
.block h2{margin:0 0 8px;font-size:18px}
.block h3{margin:0 0 8px;font-size:14px}
.muted{color:var(--muted);font-size:12px;line-height:1.45}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
@media(max-width:1000px){.grid2,.grid3{grid-template-columns:1fr}body{overflow:auto}.shell{height:auto;min-height:100vh}}
.card-stat{background:var(--panel2);border:1px solid var(--line);border-radius:10px;padding:14px}
.card-stat .n{font-size:28px;font-weight:800;line-height:1}
.card-stat .l{color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.06em;margin-top:6px}
table{width:100%;border-collapse:collapse;margin-top:8px}
th,td{border-bottom:1px solid var(--line);padding:9px 10px;text-align:left;vertical-align:top;font-size:12px}
th{background:#0f1729;color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.04em}
tr.ok td{background:rgba(34,197,94,.06)}
tr.review td{background:rgba(245,158,11,.07)}
tr.stop td{background:rgba(239,68,68,.07)}
tr.pending td{opacity:1;color:#ffffff}
tr.selected td{box-shadow:inset 3px 0 0 var(--accent)}
tr{cursor:pointer}
tr:hover td{background:#151f33}
code{background:#0a1020;border:1px solid var(--line);border-radius:4px;padding:1px 5px;font-family:ui-monospace,Menlo,Consolas,monospace;font-size:11px;color:var(--accent2)}
.dot{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:6px;vertical-align:middle}
.dot.ok{background:var(--ok)}.dot.review{background:var(--rev)}.dot.stop{background:var(--stop)}
.dot.pending{background:#e2e8f0}.dot.running{background:var(--run);box-shadow:0 0 0 3px rgba(56,189,248,.2)}
.pill{display:inline-block;border-radius:999px;padding:2px 8px;font-size:10px;font-weight:700;border:1px solid var(--line)}
.pill.ok{background:var(--ok-bg);color:var(--ok);border-color:var(--ok-line)}
.pill.review{background:var(--rev-bg);color:var(--rev);border-color:var(--rev-line)}
.pill.stop{background:var(--stop-bg);color:var(--stop);border-color:var(--stop-line)}
.pill.pending{background:var(--pend-bg);color:var(--pend)}
.pill.running{background:var(--run-bg);color:var(--run);border-color:#0369a1}
.banner{display:none;border-radius:10px;padding:12px 14px;margin-bottom:12px;font-weight:700}
.banner.show{display:block}
.banner.ok{background:var(--ok-bg);border:1px solid var(--ok-line);color:var(--ok)}
.note{background:#2a1f0a;border:1px solid #78350f;color:#fbbf24;border-radius:8px;padding:10px 12px;margin-top:10px;font-size:12px}
.actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.layout-ev{display:grid;grid-template-columns:280px minmax(0,1fr);gap:12px;min-height:0;height:100%}
@media(max-width:960px){.layout-ev{grid-template-columns:1fr}}
.step-list{display:flex;flex-direction:column;gap:5px}
.step-btn{text-align:left;border:1px solid var(--line);border-radius:8px;background:var(--panel);padding:9px 10px;cursor:pointer;width:100%}
.step-btn:hover{border-color:var(--line2)}
.step-btn.active{border-color:var(--accent);background:#15233d}
.step-btn .r1{display:flex;justify-content:space-between;gap:6px;align-items:center;font-weight:700;font-size:12px}
.step-btn .r2{color:var(--muted);font-size:11px;margin-top:3px}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
@media(max-width:900px){.form-grid{grid-template-columns:1fr}}
.field{border:1px solid var(--line);border-radius:10px;background:var(--panel2);padding:10px 12px}
.field.full{grid-column:1/-1}
.field label{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);margin-bottom:6px}
.field .val{
  background:var(--code);border:1px solid #1a2740;border-radius:8px;padding:8px 10px;
  font-family:ui-monospace,Menlo,Consolas,monospace;font-size:12px;color:var(--code-ink);
  min-height:36px;white-space:pre-wrap;word-break:break-word
}
.field .val.empty{color:#e2e8f0;font-style:italic}
.pre{background:var(--code);color:var(--code-ink);border:1px solid #1a2740;border-radius:8px;padding:12px;overflow:auto;max-height:280px;font-family:ui-monospace,Menlo,Consolas,monospace;font-size:12px;line-height:1.45;white-space:pre-wrap}
.subtabs{display:flex;gap:6px;flex-wrap:wrap;margin:0 0 12px}
.subtabs button{border:1px solid var(--line);border-radius:8px;background:var(--panel);color:var(--muted);padding:6px 10px;cursor:pointer;font-size:12px}
.subtabs button.active{background:#1e3a5f;border-color:#3b82f6;color:#fff}
.mr-sub{display:none}.mr-sub.active{display:block}
.unit{font-size:10px;color:var(--muted);border:1px solid var(--line);border-radius:999px;padding:1px 6px}

/* Master Review graph / ontology */
.graph-panel{background:var(--panel2);border:1px solid var(--line);border-radius:10px;padding:12px;overflow:auto;min-height:420px}
.graph-panel .mermaid,.graph-panel #mermaidMount{min-width:900px;display:flex;justify-content:center}
.graph-panel svg{max-width:100%;height:auto}
.inv-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px}
.family-card{border:1px solid var(--line);border-radius:10px;background:var(--panel2);padding:12px}
.family-card h4{margin:0 0 8px;font-size:13px}
.type-row{border-left:4px solid var(--accent);background:var(--panel);border-radius:8px;padding:8px 10px;margin:6px 0;font-size:12px}
.type-row small{display:block;color:var(--muted);margin-top:3px}
.rel-table td{font-size:11px}



/* Interactive graph editor (no CDN) */
.igraph-root{display:grid;grid-template-columns:minmax(0,1fr) 240px;grid-template-rows:auto 1fr;gap:0;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:var(--panel2);min-height:calc(100vh - 210px);height:calc(100vh - 210px)}
.igraph-toolbar{grid-column:1/-1;display:flex;gap:6px;flex-wrap:wrap;align-items:center;padding:8px 10px;background:#0c1424;border-bottom:1px solid var(--line)}
.igraph-hint{color:var(--muted);font-size:11px;margin-left:auto}
.igraph-stage{position:relative;min-height:0;height:100%;background:
  radial-gradient(circle at 1px 1px, #1e293b 1px, transparent 0) 0 0/18px 18px,
  #0a101c;overflow:hidden}
.igraph-svg{width:100%;height:100%;min-height:0;touch-action:none;cursor:grab;display:block}
.igraph-svg:active{cursor:grabbing}
.igraph-edge path{stroke:#ffffff;stroke-width:1.75;fill:none}
.igraph-edge.selected path{stroke:#60a5fa;stroke-width:2.4}
.igraph-edge.igraph-wire path{stroke:#60a5fa;stroke-width:1.6;stroke-dasharray:6 4;opacity:.9}
.igraph-edge text{fill:#ffffff;font-size:10px;pointer-events:none}
.igraph-edge-hit{stroke:transparent;stroke-width:14;cursor:pointer;fill:none}
.igraph-node{cursor:grab}
.igraph-node-body{filter:drop-shadow(0 2px 4px rgba(0,0,0,.35))}
.igraph-node.selected .igraph-node-body{filter:drop-shadow(0 0 8px rgba(96,165,250,.55))}
.igraph-node-label,.igraph-node text.igraph-node-label{fill:#ffffff;font-size:11px;font-weight:700;pointer-events:none}
.igraph-port{cursor:crosshair;pointer-events:all}
.igraph-port:hover{fill:#38bdf8;stroke:#e0f2fe;stroke-width:2}

.igraph-side{border-left:1px solid var(--line);background:var(--panel);padding:12px;overflow:auto}
.igraph-side h4{margin:0 0 8px;font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}
.igraph-field{display:block;margin:8px 0;font-size:11px;color:var(--muted)}
.igraph-field input,.igraph-field select,.igraph-field textarea{
  display:block;width:100%;margin-top:4px;background:#0a1020;border:1px solid var(--line);
  border-radius:8px;padding:7px 8px;color:var(--ink)
}
.igraph-legend{display:flex;flex-direction:column;gap:6px;font-size:11px;color:var(--soft)}
.igraph-legend span{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:6px;vertical-align:middle}
@media(max-width:960px){
  .igraph-root{grid-template-columns:1fr}
  .igraph-side{border-left:0;border-top:1px solid var(--line)}
}


/* Builders MVP shell */
.builders-shell{display:grid;grid-template-columns:240px minmax(0,1fr);gap:0;min-height:calc(100vh - 180px);height:calc(100vh - 180px);border:1px solid var(--line);border-radius:12px;overflow:hidden;background:var(--panel)}
.builders-rail{background:#0c1424;border-right:1px solid var(--line);display:flex;flex-direction:column;min-height:560px}
.builders-rail-head{padding:14px 14px 8px}
.builders-rail-head h2{margin:0 0 4px;font-size:1.05rem}
.builders-list{display:flex;flex-direction:column;gap:4px;padding:8px;flex:1;overflow:auto}
.builder-item{display:flex;flex-direction:column;gap:2px;text-align:left;border:1px solid transparent;background:transparent;color:var(--ink);padding:10px 10px;border-radius:10px;cursor:pointer;font:inherit}
.builder-item:hover{background:#121c30;border-color:var(--line)}
.builder-item.active{background:#152238;border-color:#3b82f6}
.builder-item-top{display:flex;justify-content:space-between;align-items:center;gap:8px}
.builder-status{font-size:10px;text-transform:uppercase;letter-spacing:.04em;padding:2px 6px;border-radius:999px;border:1px solid var(--line);color:var(--muted)}
.builder-status.live{color:#86efac;border-color:#166534;background:#052e16}
.builder-status.scaffold{color:#fcd34d;border-color:#854d0e;background:#1c1405}
.builders-rail-foot{margin:8px;font-size:11px}
.builders-main{display:flex;flex-direction:column;min-width:0;background:var(--panel2)}
.builders-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;padding:12px 14px;border-bottom:1px solid var(--line);flex-wrap:wrap}
.builders-head h3{margin:0 0 4px}
.builders-stage{flex:1;min-height:0;height:100%;padding:0;overflow:hidden}
.builder-canvas-host{min-height:calc(100vh - 200px);height:calc(100vh - 200px)}
.builder-canvas-host .igraph-root{border:0;border-radius:0;min-height:100%;height:100%}
.builder-scaffold{padding:14px}
.builder-scaffold-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:12px}
@media(max-width:1100px){
  .builders-shell{grid-template-columns:1fr}
  .builder-scaffold-grid{grid-template-columns:1fr}
  .builders-rail{border-right:0;border-bottom:1px solid var(--line);min-height:0}
}
.palette-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px;margin-top:10px}
.palette-card{border:1px solid var(--line);border-radius:10px;padding:10px;background:#0a1020}
.palette-card strong{font-size:12px}
.palette-card ul{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-direction:column;gap:4px}
.palette-chip{width:100%;text-align:left;border:1px solid var(--line);background:#121a2b;color:var(--muted);border-radius:6px;padding:5px 7px;font:inherit;font-size:11px;cursor:not-allowed;opacity:.75}
.scaffold-pre{font-size:11px;line-height:1.5}
.flow-badge{font-size:8px;font-weight:700;letter-spacing:.06em;pointer-events:none}

/* â€”â€” Command Center visual management (Tesla / SpaceX style) â€”â€” */
.cc-wrap{max-width:1680px}
.cc-go-bar{
  display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;
  border-radius:12px;padding:14px 18px;margin-bottom:12px;font-weight:800;letter-spacing:.04em;
  text-transform:uppercase;border:1px solid var(--line);background:#0a101c
}
.cc-go-bar.go{background:linear-gradient(90deg,#052e16,#0f2a1a);border-color:#166534;color:#86efac;
  box-shadow:0 0 24px rgba(34,197,94,.15)}
.cc-go-bar.hold{background:linear-gradient(90deg,#1c1405,#2a1f0a);border-color:#92400e;color:#fcd34d}
.cc-go-bar.abort{background:linear-gradient(90deg,#2a1010,#450a0a);border-color:#991b1b;color:#fca5a5}
.cc-go-bar.idle{color:var(--muted)}
.cc-go-bar .cc-go-main{font-size:clamp(1.1rem,2.2vw,1.55rem)}
.cc-go-bar .cc-go-sub{font-size:11px;font-weight:600;letter-spacing:.08em;opacity:.85}
.cc-telemetry{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-bottom:14px}
@media(max-width:900px){.cc-telemetry{grid-template-columns:repeat(2,1fr)}}
.cc-telem{
  border:1px solid var(--line);border-radius:10px;padding:12px 14px;background:#0c1424;
  display:flex;flex-direction:column;gap:4px
}
.cc-telem .v{font-size:1.65rem;font-weight:800;line-height:1;font-variant-numeric:tabular-nums}
.cc-telem .k{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:650}
.cc-telem.ok .v{color:var(--ok)}.cc-telem.ok{border-color:#166534;background:var(--ok-bg)}
.cc-telem.rev .v{color:var(--rev)}.cc-telem.rev{border-color:#92400e;background:var(--rev-bg)}
.cc-telem.stop .v{color:var(--stop)}.cc-telem.stop{border-color:#991b1b;background:var(--stop-bg)}
.cc-telem.pend .v{color:#ffffff}
.cc-telem.pct .v{color:var(--accent2)}
.cc-section-label{
  font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);
  margin:0 0 8px;font-weight:700
}
.cc-board{
  display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-bottom:14px
}
@media(max-width:1200px){.cc-board{grid-template-columns:repeat(3,1fr)}}
@media(max-width:700px){.cc-board{grid-template-columns:repeat(2,1fr)}}
.cc-tile{
  border-radius:10px;border:1px solid var(--line);padding:10px 11px;min-height:88px;
  background:#0c1424;display:flex;flex-direction:column;justify-content:space-between;
  cursor:default;user-select:none;position:relative;overflow:hidden
}
.cc-tile::before{
  content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:#e2e8f0
}
.cc-tile.ok{background:var(--ok-bg);border-color:#166534}
.cc-tile.ok::before{background:var(--ok);box-shadow:0 0 12px rgba(34,197,94,.5)}
.cc-tile.review{background:var(--rev-bg);border-color:#92400e}
.cc-tile.review::before{background:var(--rev)}
.cc-tile.stop{background:var(--stop-bg);border-color:#991b1b}
.cc-tile.stop::before{background:var(--stop)}
.cc-tile.pending{opacity:.88}
.cc-tile.running{border-color:#0369a1;background:var(--run-bg)}
.cc-tile.running::before{background:var(--run);box-shadow:0 0 10px rgba(56,189,248,.45)}
.cc-tile .cc-fid{font-size:11px;font-weight:800;letter-spacing:.04em;display:flex;justify-content:space-between;align-items:center;gap:6px}
.cc-tile .cc-verb{font-size:12px;font-weight:650;margin-top:6px;line-height:1.3;color:var(--ink)}
.cc-tile .cc-meta{font-size:10px;color:var(--muted);margin-top:6px;display:flex;justify-content:space-between;gap:6px}
.cc-tile .cc-unit{text-transform:uppercase;letter-spacing:.05em;font-weight:700;font-size:9px;
  border:1px solid var(--line);border-radius:4px;padding:1px 5px;color:var(--soft)}
.cc-bottom{display:grid;grid-template-columns:1.1fr 1fr 1fr;gap:10px;margin-bottom:8px}
@media(max-width:1000px){.cc-bottom{grid-template-columns:1fr}}
.cc-panel{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:14px}
.cc-panel h3{margin:0 0 10px;font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}
.cc-kv{display:grid;grid-template-columns:88px 1fr;gap:4px 10px;font-size:12px;margin:0}
.cc-kv dt{color:var(--muted)}.cc-kv dd{margin:0;font-weight:600}
.cc-next-badge{
  display:inline-flex;align-items:center;gap:8px;border-radius:8px;padding:10px 12px;
  border:1px solid var(--line);background:#0c1424;width:100%;box-sizing:border-box
}
.cc-next-badge strong{font-size:13px}
.cc-half-bar{height:10px;border-radius:999px;background:#1e293b;overflow:hidden;display:flex;margin:6px 0 12px}
.cc-half-bar i{display:block;height:100%}
.cc-half-bar i.ok{background:var(--ok)}
.cc-half-bar i.pend{background:#334155}
.cc-footnote{margin:4px 0 0;font-size:11px}

/* â€”â€” Simulation tab â€”â€” */
.sim-wrap{max-width:1680px}
.sim-head{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;align-items:flex-start;margin-bottom:12px}
.sim-controls{display:flex;gap:8px;flex-wrap:wrap}
.sim-metrics{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;margin-bottom:12px}
@media(max-width:1000px){.sim-metrics{grid-template-columns:repeat(3,1fr)}}
.sim-metric{
  border:1px solid var(--line);border-radius:10px;padding:10px 12px;background:var(--panel)
}
.sim-metric .v{font-size:1.4rem;font-weight:800}.sim-metric .k{font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}
.sim-grid{display:grid;grid-template-columns:260px minmax(0,1fr) 280px;gap:10px}
@media(max-width:1100px){.sim-grid{grid-template-columns:1fr}}
.sim-col.wide{min-width:0}
.sim-panel{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:12px 14px;margin-bottom:10px}
.sim-panel h3{margin:0 0 10px;font-size:13px}
.sim-tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px}
.sim-tile{
  border:1px solid var(--line);border-radius:10px;padding:10px;background:#0c1424;cursor:pointer;
  text-align:left;color:inherit;font:inherit;min-height:96px;display:flex;flex-direction:column;gap:4px;
  border-left:4px solid #e2e8f0;transition:transform .08s,border-color .12s
}
.sim-tile:hover{border-color:var(--line2);transform:translateY(-1px)}
.sim-tile:focus{outline:2px solid var(--accent);outline-offset:1px}
.sim-tile.ok{background:var(--ok-bg);border-color:#166534;border-left-color:var(--ok)}
.sim-tile.review{background:var(--rev-bg);border-color:#92400e;border-left-color:var(--rev)}
.sim-tile.stop{background:var(--stop-bg);border-color:#991b1b;border-left-color:var(--stop)}
.sim-tile.pending{opacity:.9}
.sim-tile.decided-proceed{box-shadow:inset 0 0 0 1px rgba(34,197,94,.45)}
.sim-tile.decided-review{box-shadow:inset 0 0 0 1px rgba(245,158,11,.45)}
.sim-tile.decided-stop{box-shadow:inset 0 0 0 1px rgba(239,68,68,.45)}
.sim-tile .fid{font-size:11px;font-weight:800;display:flex;justify-content:space-between}
.sim-tile .verb{font-size:12px;font-weight:650;line-height:1.25}
.sim-tile .sub{font-size:10px;color:var(--muted)}
.sim-check{list-style:none;margin:0;padding:0}
.sim-check li{
  display:flex;gap:8px;align-items:flex-start;padding:7px 0;border-bottom:1px solid var(--line);font-size:12px
}
.sim-check .box{
  width:14px;height:14px;border-radius:3px;border:1px solid var(--line);flex-shrink:0;margin-top:1px
}
.sim-check .box.on{background:var(--ok);border-color:#166534}
.sim-next-card{
  border:1px solid var(--accent);border-radius:10px;padding:12px;background:#0f1a30
}
.sim-next-card .tag{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--accent2);font-weight:700}
.sim-scorecard label{display:block;font-size:11px;color:var(--muted);margin:8px 0 4px}
.sim-scorecard select,.sim-scorecard textarea,.sim-scorecard input{
  width:100%;background:#0a1020;border:1px solid var(--line);border-radius:8px;padding:8px;color:var(--ink)
}
.sim-score-actions{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px}
.sim-log{font-size:11px;max-height:220px;overflow:auto;line-height:1.45}
.sim-log .row{padding:6px 0;border-bottom:1px solid var(--line)}

/* Motion pipeline rail — primary CC view */
.cc-motion-rail{
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:10px;
  margin-bottom:14px;
  align-items:stretch;
}
@media(max-width:1200px){.cc-motion-rail{grid-template-columns:repeat(3,1fr)}}
@media(max-width:700px){.cc-motion-rail{grid-template-columns:1fr 1fr}}
.cc-motion{
  position:relative;
  border:1px solid var(--line);
  border-radius:12px;
  background:#0a101c;
  padding:12px 12px 10px;
  min-height:148px;
  display:flex;flex-direction:column;gap:4px;
  opacity:.72;
}
.cc-motion.is-active{
  opacity:1;
  border-color:#3b82f6;
  background:linear-gradient(180deg,#122038,#0c1528);
  box-shadow:0 0 0 1px rgba(59,130,246,.25),0 8px 24px rgba(0,0,0,.25);
}
.cc-motion.go{border-color:#166534;background:var(--ok-bg);opacity:1}
.cc-motion.hold{border-color:#92400e;background:var(--rev-bg);opacity:1}
.cc-motion.stop{border-color:#991b1b;background:var(--stop-bg);opacity:1}
.cc-motion-top{display:flex;justify-content:space-between;align-items:center;gap:6px}
.cc-motion-idx{font-size:11px;font-weight:800;letter-spacing:.08em;color:var(--accent2)}
.cc-motion-badge{
  font-size:9px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;
  border:1px solid var(--line);border-radius:999px;padding:2px 7px;color:var(--muted)
}
.cc-motion-badge.active,.cc-motion-badge.hold{color:#fcd34d;border-color:#92400e}
.cc-motion-badge.go{color:#86efac;border-color:#166534}
.cc-motion-badge.stop{color:#fca5a5;border-color:#991b1b}
.cc-motion-badge.standby{color:#e2e8f0}
.cc-motion-code{font-size:10px;color:var(--muted);font-weight:700;letter-spacing:.04em;margin-top:4px}
.cc-motion-label{font-size:13px;font-weight:750;line-height:1.25;margin-top:2px}
.cc-motion-blurb{font-size:10px;color:var(--muted);line-height:1.35;flex:1;margin-top:4px}
.cc-motion-mini{height:5px;border-radius:999px;background:#1e293b;overflow:hidden;margin-top:8px}
.cc-motion-mini i{display:block;height:100%;background:linear-gradient(90deg,#22c55e,#16a34a)}
.cc-motion-mini.empty{opacity:.35}
.cc-motion-stats{display:flex;justify-content:space-between;font-size:11px;font-weight:700;margin-top:4px}
.cc-motion-arrow{
  display:none; /* grid already shows sequence; optional on wide */
}
.cc-soft{font-size:.55em;font-weight:650;color:var(--muted);margin-left:2px}
.cc-board.cc-motion-rail .cc-tile{display:none} /* never mix step tiles into motion rail */
.sim-motion-bar{
  display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-bottom:12px;
  padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:#0c1424
}
.sim-motion-bar .tag{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:700;margin-right:4px}
.sim-motion-chip{
  border:1px solid var(--line);border-radius:999px;padding:4px 10px;font-size:11px;font-weight:650;color:var(--soft);background:#0a101c
}
.sim-motion-chip.active{border-color:#3b82f6;background:#152238;color:#fff}
.sim-motion-chip.standby{opacity:.55}

/* Graph fills most of the viewport (Master Review + Builders) */
.graph-editor-host{
  min-height:calc(100vh - 210px);
  height:calc(100vh - 210px);
  margin-top:8px;
}
#mr-graph.active{
  display:flex;
  flex-direction:column;
  min-height:calc(100vh - 200px);
}
#mr-graph .graph-editor-host,
#mr-graph .igraph-root{
  flex:1;
  min-height:calc(100vh - 250px);
  height:calc(100vh - 250px);
}
/* tighten chrome above graph so canvas wins */
#mr-graph h3{margin:0 0 4px}
#mr-graph > .muted{margin:0 0 6px}
#mr-graph > .actions{margin:4px 0 6px !important}
#mr-graph > .note{margin-top:6px;font-size:11px}
#review .wrap{max-width:100%;width:100%}
#review .block{padding:12px 14px}
#builders .wrap{max-width:100%;width:100%;height:100%}
#builders .scroll{padding:8px 10px}

/* Evidence — client/mission cards + simple step forms */
.ev-nav-label{
  font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);
  font-weight:700;margin:0 0 6px
}
.ev-nav-group .step-btn{margin-bottom:5px}
.ev-nav-group .step-btn.active{border-color:var(--accent);background:#15233d}
.ev-record-head{
  display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;align-items:flex-start;margin-bottom:12px
}
.ev-record-head h2{margin:0 0 4px;font-size:1.25rem}
.ev-section{margin-top:14px}
.ev-section h3{
  margin:0 0 8px;font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)
}
.ev-simple-meta{
  display:flex;flex-wrap:wrap;gap:8px;margin:8px 0 12px;font-size:12px;color:var(--muted)
}
.ev-simple-meta span{border:1px solid var(--line);border-radius:8px;padding:4px 8px;background:#0c1424}
.form-grid.ev-card-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}

/* Evidence timeline inserts (pack / client / mission after completing facts) */
.ev-insert{
  border-style:dashed !important;
  background:#0f1729 !important;
  margin-left:10px;
  width:calc(100% - 10px);
}
.ev-insert.active{
  border-style:solid !important;
  border-color:var(--accent) !important;
  background:#15233d !important;
}
.ev-insert-mark{margin-right:4px}
.ev-doc-table{width:100%;border-collapse:collapse;font-size:12px}
.ev-doc-table th,.ev-doc-table td{border-bottom:1px solid var(--line);padding:8px 6px;text-align:left;vertical-align:top}
.ev-doc-table th{color:var(--muted);font-size:10px;text-transform:uppercase}
.ev-file-list{margin:0;padding-left:18px;font-size:12px;line-height:1.5}
.ev-file-list li{margin:4px 0}

/* Pre-BPaaS test harness */
.test-wrap{max-width:1400px}
.test-hero{
  display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;align-items:flex-start;
  border:1px solid var(--line);border-radius:12px;padding:14px 16px;margin-bottom:12px;
  background:linear-gradient(180deg,#122038,#0c1528)
}
.test-badges{display:flex;gap:6px;flex-wrap:wrap}
.test-badge{
  border:1px solid var(--line);border-radius:999px;padding:4px 10px;font-size:11px;font-weight:700
}
.test-badge.live{background:var(--ok-bg);border-color:#166534;color:#86efac}
.test-badge.seed{background:#151b27;color:var(--muted)}
.test-badge.warn{background:var(--rev-bg);border-color:#92400e;color:#fcd34d}
.test-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:10px}
@media(max-width:1000px){.test-grid{grid-template-columns:1fr}}
.test-panel{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:14px}
.test-panel h3{margin:0 0 8px;font-size:14px}
.test-upload input[type=file]{
  display:block;width:100%;padding:10px;border:1px dashed var(--line);border-radius:10px;
  background:#0a1020;color:var(--soft)
}
.test-result{
  border:1px solid var(--line);border-radius:10px;padding:10px;background:#0a1020;font-size:12px;line-height:1.45
}
.test-result.ok{border-color:#166534;background:var(--ok-bg)}
.test-result.err{border-color:#991b1b;background:var(--stop-bg)}
.test-spine{display:flex;flex-wrap:wrap;gap:5px}
.test-spine span{
  font-size:10px;font-weight:700;border:1px solid var(--line);border-radius:6px;padding:3px 6px;background:#0a1020
}
.test-spine span.ok{border-color:#166534;color:var(--ok)}
.test-spine span.live{border-color:#3b82f6;color:#93c5fd;box-shadow:0 0 0 1px rgba(59,130,246,.25)}
.test-proof{margin:0;padding-left:18px;font-size:12px;line-height:1.55;color:var(--soft)}
.test-proof .yes strong{color:var(--ok)}
.test-proof .no strong{color:var(--rev)}
.test-proof .next strong{color:var(--accent2)}

/* Command Center — BPaaS / pre-BPaaS smoke stages */
.cc-smoke-rail{
  display:grid;
  grid-template-columns:repeat(7,minmax(0,1fr));
  gap:8px;
  margin-bottom:14px;
}
@media(max-width:1200px){.cc-smoke-rail{grid-template-columns:repeat(4,1fr)}}
@media(max-width:700px){.cc-smoke-rail{grid-template-columns:1fr 1fr}}
.cc-smoke{
  position:relative;
  border:1px solid var(--line);
  border-radius:12px;
  background:#0a101c;
  padding:11px 11px 10px;
  min-height:150px;
  display:flex;flex-direction:column;gap:4px;
  opacity:.78;
}
.cc-smoke.is-focus{
  opacity:1;
  border-color:#3b82f6;
  background:linear-gradient(180deg,#122038,#0c1528);
  box-shadow:0 0 0 1px rgba(59,130,246,.28),0 8px 22px rgba(0,0,0,.28);
}
.cc-smoke.go{opacity:1;border-color:#166534;background:var(--ok-bg)}
.cc-smoke.hold{opacity:1;border-color:#92400e;background:var(--rev-bg)}
.cc-smoke.stop{opacity:1;border-color:#991b1b;background:var(--stop-bg)}
.cc-smoke.standby{opacity:.65}
.cc-smoke-top{display:flex;justify-content:space-between;align-items:center;gap:6px}
.cc-smoke-idx{font-size:11px;font-weight:800;letter-spacing:.06em;color:var(--accent2)}
.cc-smoke-badge{
  font-size:9px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;
  border:1px solid var(--line);border-radius:999px;padding:2px 7px;color:var(--muted)
}
.cc-smoke-badge.go{color:#86efac;border-color:#166534}
.cc-smoke-badge.active,.cc-smoke-badge.hold{color:#fcd34d;border-color:#92400e}
.cc-smoke-badge.stop{color:#fca5a5;border-color:#991b1b}
.cc-smoke-badge.standby{color:#e2e8f0}
.cc-smoke-title{font-size:12px;font-weight:750;line-height:1.25;margin-top:4px}
.cc-smoke-facts{font-size:10px;color:var(--muted);font-weight:650;letter-spacing:.03em}
.cc-smoke-blurb{font-size:10px;color:var(--muted);line-height:1.35;flex:1;margin-top:4px}
.cc-smoke-metric{font-size:11px;font-weight:700;margin-top:6px}
.cc-smoke-metric span{color:var(--soft)}
.cc-actions-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}

.cc-smoke.jump{opacity:1;border-color:#a855f7;background:#1a1028}
.cc-smoke-badge.jump{color:#e9d5ff;border-color:#a855f7}
.cc-jump-row{margin-top:8px}
.cc-jump-btn{font-size:11px !important;padding:4px 8px !important;width:100%}

.cc-smoke.human{opacity:1;border-color:#f59e0b;background:#1c1405}
.cc-smoke-badge.human{color:#fcd34d;border-color:#92400e}

/* Full FAC document (IADO / OODA / Pulse Registry) */
.fac-layout{display:grid;grid-template-columns:220px minmax(0,1fr);gap:12px;margin-top:10px}
@media(max-width:900px){.fac-layout{grid-template-columns:1fr}}
.fac-nav{display:flex;flex-direction:column;gap:4px;max-height:70vh;overflow:auto}
.fac-body{min-width:0}
.fac-doc{border:1px solid var(--line);border-radius:12px;background:var(--panel);padding:16px}
.fac-doc-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:8px}
.fac-sec{margin-top:18px;padding-top:14px;border-top:1px solid var(--line)}
.fac-sec h3{margin:0 0 8px;font-size:13px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}
.fac-table{width:100%;border-collapse:collapse;font-size:12px}
.fac-table th,.fac-table td{border-bottom:1px solid var(--line);padding:8px 8px;text-align:left;vertical-align:top}
.fac-table th{width:160px;color:var(--muted);font-weight:650}
.ooda-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
@media(max-width:900px){.ooda-grid{grid-template-columns:1fr 1fr}}
.ooda-card{border:1px solid var(--line);border-radius:10px;padding:10px;background:#0a1020}
.ooda-card h4{margin:0 0 6px;font-size:12px;color:var(--accent2)}
.ooda-card ul{margin:0;padding-left:16px;font-size:11px;color:var(--soft);line-height:1.45}
.rust-view,.pulse-reg pre{
  background:#05080f;border:1px solid var(--line);border-radius:10px;padding:12px;
  overflow:auto;font-size:11px;line-height:1.45;color:#9fdbff;max-height:360px
}
.pulse-reg h4{color:var(--soft);font-size:12px}

.test-spine-chip {
  display: inline-block;
  margin: 3px;
  padding: 6px 10px;
  border-radius: 8px;
  border: 1px solid #334155;
  background: #0f172a;
  color: #e2e8f0;
  cursor: pointer;
  font-size: 12px;
}
.test-spine-chip.ok { border-color: #166534; color: #86efac; }
.test-spine-chip.live { box-shadow: 0 0 0 1px #38bdf8; }
.test-spine-chip:hover { filter: brightness(1.15); }

/* Stage fact sub-tiles + in-card progress (Command Center) */
.cc-fact-row{
  display:flex;flex-wrap:wrap;gap:4px;margin-top:6px;
}
.cc-fact-chip{
  appearance:none;border:1px solid #334155;background:#0f172a;color:#ffffff;
  font-size:10px;font-weight:750;letter-spacing:.02em;
  padding:2px 6px;border-radius:6px;cursor:pointer;line-height:1.3;
  font-family:inherit;
}
.cc-fact-chip:hover{border-color:var(--accent2);color:#e2e8f0}
.cc-fact-chip.go{
  color:#86efac;border-color:#166534;background:rgba(22,101,52,.35);
}
.cc-fact-chip.hold{
  color:#fcd34d;border-color:#92400e;background:rgba(146,64,14,.25);
}
.cc-fact-chip.pending{
  color:#e2e8f0;border-color:#1e293b;background:#0b1220;opacity:.9;
}
.cc-fact-chip:disabled{cursor:default;opacity:.85}
.cc-fact-empty{font-size:10px;color:var(--muted)}
.cc-stage-prog{
  position:relative;height:14px;margin-top:6px;border-radius:999px;
  background:#0b1220;border:1px solid #1e293b;overflow:hidden;
  display:flex;align-items:center;
}
.cc-stage-prog-bar{
  position:absolute;left:0;top:0;bottom:0;
  background:linear-gradient(90deg,#166534,#22c55e);
  opacity:.85;transition:width .25s ease;
}
.cc-stage-prog-lbl{
  position:relative;z-index:1;width:100%;text-align:center;
  font-size:9px;font-weight:750;color:#e2e8f0;letter-spacing:.04em;
  text-shadow:0 1px 2px #000;
}
.cc-smoke.go .cc-stage-prog{border-color:#166534}
.cc-smoke.standby .cc-stage-prog-bar{opacity:.35}
.cc-smoke-blurb{margin-top:6px}

.cc-side-stage{margin-top:8px}
.cc-side-stage-top{display:flex;justify-content:space-between;font-size:11px;color:var(--muted);margin-bottom:3px}
.cc-side-count{font-weight:750;color:var(--soft);font-variant-numeric:tabular-nums}
.cc-side-facts{display:flex;flex-wrap:wrap;gap:3px;margin-bottom:4px}
.cc-side-fact{
  font-size:9px;font-weight:750;padding:1px 5px;border-radius:4px;
  border:1px solid #1e293b;color:#e2e8f0;background:#0b1220;
}
.cc-side-fact.go{color:#86efac;border-color:#166534;background:rgba(22,101,52,.3)}
.cc-side-fact.hold{color:#fcd34d;border-color:#92400e}
.cc-side-fact.pending{opacity:.75}

/* Fact outcome cards inside stage */
.cc-fact-list{display:flex;flex-direction:column;gap:5px;margin-top:6px}
.cc-fact-item{
  appearance:none;width:100%;text-align:left;cursor:pointer;
  border:1px solid #1e293b;background:#0b1220;border-radius:8px;
  padding:6px 8px;font-family:inherit;color:inherit;
  transition:border-color .15s, background .15s;
}
.cc-fact-item:hover{border-color:var(--accent2)}
.cc-fact-item.go{border-color:#166534;background:rgba(22,101,52,.22)}
.cc-fact-item.hold{border-color:#92400e;background:rgba(146,64,14,.18)}
.cc-fact-item.pending{opacity:.88}
.cc-fact-item-top{display:flex;justify-content:space-between;align-items:center;gap:6px}
.cc-fact-id{font-size:11px;font-weight:800;letter-spacing:.04em;color:var(--accent2)}
.cc-fact-status{
  font-size:9px;font-weight:800;letter-spacing:.06em;padding:2px 6px;border-radius:999px;
  border:1px solid #334155;color:#ffffff;background:#0f172a;
}
.cc-fact-status.go{color:#86efac;border-color:#166534;background:rgba(22,101,52,.35)}
.cc-fact-status.hold{color:#fcd34d;border-color:#92400e;background:rgba(146,64,14,.3)}
.cc-fact-status.pending{color:#e2e8f0}
.cc-fact-verb{font-size:10px;font-weight:650;color:var(--soft);margin-top:2px;line-height:1.25}
.cc-fact-outcome{font-size:10px;color:#ffffff;margin-top:2px;line-height:1.3;font-weight:600}
.cc-outcome-summary{
  font-size:10px;line-height:1.35;color:#ffffff;margin:6px 0 4px;
  max-height:2.8em;overflow:hidden;
}
.cc-jump-row-inner{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.cc-status-pill{
  font-size:9px;font-weight:800;letter-spacing:.05em;padding:4px 8px;border-radius:999px;
  border:1px solid #334155;color:#ffffff;
}
.cc-status-pill.go{color:#86efac;border-color:#166534;background:rgba(22,101,52,.3)}
.cc-status-pill.hold{color:#fcd34d;border-color:#92400e;background:rgba(146,64,14,.25)}
.cc-side-fact em{font-style:normal;opacity:.75;font-weight:650;margin-left:2px}
.cc-smoke-badge{max-width:9rem;text-align:right;line-height:1.15}

/* Pre-BPaaS Test — stage language (match CC) */
.test-stage-head{display:flex;gap:10px;align-items:flex-start;margin-bottom:12px}
.test-stage-id{
  flex:0 0 auto;min-width:2.4rem;height:1.6rem;padding:0 8px;
  display:inline-flex;align-items:center;justify-content:center;
  border-radius:8px;font-size:11px;font-weight:800;letter-spacing:.04em;
  color:var(--accent2);border:1px solid #334155;background:#0b1220;
}
.test-substep{
  margin-top:14px;padding-top:12px;border-top:1px solid var(--border,#1f2937);
}
.test-substep h4{margin:0 0 6px;font-size:13px;font-weight:750}
.test-spine{display:flex;flex-wrap:wrap;gap:6px}
.test-spine-chip{
  display:flex;flex-direction:column;align-items:flex-start;gap:2px;
  min-width:5.5rem;max-width:8.5rem;padding:6px 8px;border-radius:8px;
  border:1px solid #334155;background:#0b1220;color:#ffffff;
  font-family:inherit;cursor:pointer;text-align:left;
}
.test-spine-chip .tsc-id{font-size:11px;font-weight:800;color:var(--accent2)}
.test-spine-chip .tsc-verb{font-size:9px;line-height:1.2;color:#ffffff;font-weight:650}
.test-spine-chip.ok{border-color:#166534;background:rgba(22,101,52,.25)}
.test-spine-chip.ok .tsc-id{color:#86efac}
.test-spine-chip.live{box-shadow:0 0 0 1px rgba(56,189,248,.25)}
.test-fact-outcome{font-size:12px;line-height:1.35}

/* Scorecard: meaningful stage/fact tiles */
.cc-telemetry{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-bottom:14px}
@media(max-width:1100px){.cc-telemetry{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.cc-telemetry{grid-template-columns:1fr}}
.cc-telem{
  display:flex;flex-direction:column;gap:4px;padding:10px 12px;border-radius:10px;
  border:1px solid #1e293b;background:#0b1220;min-height:4.5rem;
}
.cc-telem .v{font-size:1.45rem;font-weight:800;line-height:1.1;font-variant-numeric:tabular-nums}
.cc-telem .k{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:650}
.cc-telem-detail{font-size:10px;line-height:1.3;color:#ffffff;font-weight:600;margin-top:2px}
.cc-telem-next{font-size:1.25rem !important;letter-spacing:.02em}
.cc-telem-prod{font-size:0.95rem !important;line-height:1.2;font-weight:750}
.cc-telem-focus{font-size:1.35rem !important}
.cc-telem.ok .v{color:var(--ok)}.cc-telem.ok{border-color:#166534;background:var(--ok-bg)}
.cc-telem.rev .v{color:var(--rev)}.cc-telem.rev{border-color:#92400e;background:var(--rev-bg)}
.cc-telem.stop .v{color:var(--stop)}.cc-telem.stop{border-color:#991b1b;background:var(--stop-bg)}
.cc-telem.pend .v{color:#ffffff}
.cc-telem.pct .v{color:var(--accent2)}.cc-telem.pct{border-color:#1e3a5f;background:rgba(14,65,120,.2)}

/* Pre-BPaaS stage run log */
.test-role-map{
  display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin:12px 0 16px;
  font-size:11px;color:#ffffff;
}
.test-role-map > div{
  border:1px solid #1e293b;background:#0b1220;border-radius:8px;padding:8px 10px;line-height:1.35;
}
.test-role-map b{color:#e2e8f0;display:block;margin-bottom:2px;font-size:10px;text-transform:uppercase;letter-spacing:.06em}
@media(max-width:900px){.test-role-map{grid-template-columns:1fr 1fr}}
.stage-run-log{display:flex;flex-direction:column;gap:12px}
.srl-stage{
  border:1px solid #1e293b;border-radius:12px;background:#0b1220;overflow:hidden;
}
.srl-stage.complete{border-color:#166534;background:rgba(22,101,52,.12)}
.srl-stage.active{border-color:#b45309;box-shadow:0 0 0 1px rgba(245,158,11,.2)}
.srl-stage.locked{opacity:.55}
.srl-head{display:flex;gap:10px;align-items:flex-start;padding:12px 14px;border-bottom:1px solid #1e293b}
.srl-id{
  font-size:12px;font-weight:800;color:var(--accent2);border:1px solid #334155;
  border-radius:8px;padding:4px 8px;min-width:2.4rem;text-align:center;
}
.srl-titles{flex:1;min-width:0}
.srl-titles h3{margin:0;font-size:14px;font-weight:750}
.srl-titles p{margin:4px 0 0;font-size:11px;color:#ffffff;line-height:1.35}
.srl-badge{
  font-size:9px;font-weight:800;letter-spacing:.06em;padding:4px 8px;border-radius:999px;
  border:1px solid #334155;color:#ffffff;
}
.srl-badge.complete{color:#86efac;border-color:#166534;background:rgba(22,101,52,.3)}
.srl-badge.active,.srl-badge.RUNNING{color:#fcd34d;border-color:#92400e;background:rgba(146,64,14,.25)}
.srl-badge.locked{color:#e2e8f0}
.srl-prog{position:relative;height:16px;margin:0;background:#020617}
.srl-prog i{display:block;height:100%;background:linear-gradient(90deg,#166534,#22c55e);opacity:.85}
.srl-prog span{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
  font-size:9px;font-weight:750;color:#e2e8f0}
.srl-body{padding:12px 14px}
.srl-result{font-size:12px;line-height:1.4;padding:8px 10px;border-radius:8px;background:#020617;border:1px solid #1e293b;margin-bottom:10px}
.srl-result.ok{border-color:#166534;color:#bbf7d0}
.srl-result.hold{border-color:#92400e;color:#fde68a}
.srl-facts{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:8px}
.srl-fact{border:1px solid #1e293b;border-radius:8px;padding:8px;background:#020617}
.srl-fact.go{border-color:#166534}
.srl-fact.hold{border-color:#92400e}
.srl-fact-top{display:flex;justify-content:space-between;align-items:center}
.srl-fid{font-size:11px;font-weight:800;color:var(--accent2)}
.srl-fstatus{font-size:9px;font-weight:800;letter-spacing:.05em}
.srl-fstatus.go{color:#86efac}
.srl-fstatus.hold{color:#fcd34d}
.srl-fstatus.pending{color:#e2e8f0}
.srl-fverb{font-size:11px;font-weight:650;margin-top:3px;color:#e2e8f0}
.srl-fout{font-size:10px;color:#ffffff;margin-top:3px;line-height:1.3}
.srl-fact-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.srl-ops{margin-top:10px;padding-top:10px;border-top:1px dashed #1e293b}
.srl-ops.is-complete{opacity:.85}
.srl-ops-label{font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:#e2e8f0;margin-bottom:6px}
.srl-ops-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:6px}
.srl-foot{padding:8px 14px;font-size:11px;color:#86efac;background:rgba(22,101,52,.15);border-top:1px solid #166534}
.test-controls-mount{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}

/* Typed IO pills Document / JSON / Form / Gate */
.cc-fact-io,.srl-fio{
  display:flex;flex-wrap:wrap;align-items:center;gap:4px;
  font-size:9px;line-height:1.35;color:#ffffff;margin-top:4px;font-weight:650;
}
.io-pill{
  font-size:8px;font-weight:800;letter-spacing:.06em;padding:1px 5px;border-radius:4px;
  border:1px solid #334155;color:#ffffff;background:#0f172a;
}
.io-pill.in{border-color:#1d4ed8;color:#93c5fd}
.io-pill.out{border-color:#166534;color:#86efac}
.io-arrow{opacity:.6;margin:0 2px}

/* Master Fact Tile — build pack coding surface */
.master-fact-tile{
  border:1px solid #1e3a5f;border-radius:14px;background:linear-gradient(180deg,#0b1628,#0b1220);
  padding:14px 16px;margin-bottom:4px;
}
.mft-kicker{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--accent2);font-weight:750}
.mft-title{margin:4px 0 0;font-size:1.25rem;font-weight:800}
.mft-sub{font-size:11px;margin-top:4px}
.mft-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}
.mft-goal{font-size:12px;color:#ffffff;line-height:1.4;margin:10px 0}
.mft-strip{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0}
.mft-chip{
  border:1px solid #1e293b;background:#020617;border-radius:8px;padding:6px 8px;font-size:11px;
}
.mft-chip .k{display:block;font-size:9px;text-transform:uppercase;letter-spacing:.06em;color:#e2e8f0;margin-bottom:2px}
.mft-io-bar{
  display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:10px 12px;margin:10px 0;
  border-radius:10px;border:1px solid #1e293b;background:#020617;font-size:12px;
}
.mft-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:8px}
@media(max-width:900px){.mft-grid{grid-template-columns:1fr}}
.mft-sec{
  border:1px solid #1e293b;border-radius:10px;padding:10px 12px;background:#0b1220;
}
.mft-sec h4{margin:0 0 8px;font-size:12px;font-weight:750;color:#e2e8f0}
.mft-table th{width:7rem;font-size:10px;color:#ffffff}
.mft-ops{margin:0;padding-left:18px;font-size:11px;color:#ffffff}
.mft-ops code{font-size:10px}
.mft-accept{font-size:12px}
.mft-code-hint{
  margin-top:8px;padding:8px;border-radius:8px;background:rgba(29,78,216,.15);
  border:1px solid #1d4ed8;font-size:11px;color:#bfdbfe;
}
.mft-foot{
  display:flex;flex-wrap:wrap;gap:10px 16px;margin-top:12px;padding-top:10px;
  border-top:1px solid #1e293b;font-size:11px;color:#ffffff;
}
.mft-foot b{color:#e2e8f0}
.mft-motion .step-btn{width:100%;text-align:left;cursor:pointer}
.mft-motion .step-btn.active{border-color:var(--accent2);box-shadow:0 0 0 1px rgba(56,189,248,.3)}
#masterFactTileHost{margin-bottom:8px}

.test-operator-dock{
  margin-top:14px;padding:12px 14px;border-radius:12px;
  border:1px solid #1e3a5f;background:#0b1628;
}
.test-operator-dock.is-complete{border-color:#166534;opacity:.95}
.test-controls-mount{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}


/* Gap-analysis review strip */
.review-meta .chip { display:inline-block; margin:2px 4px 2px 0; padding:2px 8px; border:1px solid #e2e8f0; border-radius:999px; font-size:11px; color:#ffffff; }
.review-meta strong { color:#e2e8f0; }

/* fonts-white-2 — grey copy → white; keep blue outcomes/gen/links */
:root{
  --ink:#ffffff;
  --muted:#ffffff;
  --soft:#ffffff;
  --pend:#ffffff;
}
body{color:#ffffff;}
.muted,.summary,.status,.chip,.tool,.metric,
.cc-tile .cc-meta,.cc-panel h3,.cc-kv dt,.step-btn .r2,
.card-stat .l,.sim-tile .sub,.type-row small,.unit,
.builder-status,.palette-chip,.igraph-hint,.igraph-side h4,
.igraph-field,.master-tabs button span,
th,td,table,.field label,.cc-go-bar.idle{
  color:#ffffff !important;
}
/* Pending rows were opacity .7 → everything looked grey */
tr.pending td{opacity:1 !important; color:#ffffff !important;}
.pill.pending{color:#ffffff !important; opacity:1 !important;}
.field .val.empty{color:#e2e8f0 !important;}
/* Keep blue contract / outcomes / gen / links */
a, a:visited,
code,
.outcome, .fact-outcome,
td a, th a,
.pill a{
  color:var(--accent2,#60a5fa) !important;
}
/* status colors stay meaningful — do not force white on ok/rev/stop */
.pill.ok, .metric.ok, .banner.ok, .cc-telem.ok .v{color:var(--ok) !important;}
.pill.review, .cc-telem.rev .v{color:var(--rev) !important;}
.pill.stop, .cc-telem.stop .v{color:var(--stop) !important;}
.pill.running, .cc-telem.pct .v{color:var(--run,#38bdf8) !important;}
.tool.primary{color:#fff !important;}

/* ---- UniFi chrome V1 shared polish (UAT apps) ---- */
body{-webkit-font-smoothing:antialiased}
button.tool, .tool, .btn, button.primary{
  border-radius:var(--radius-sm,6px)!important;
}
button.tool.primary, .tool.primary, button.primary{
  background:var(--accent)!important;
}
.master-tabs button.active,
.tabs button.active,
[data-master].active,
.nav button.active{
  background:var(--accent-soft,rgba(0,111,255,.14))!important;
  color:var(--ink)!important;
  box-shadow:inset 2px 0 0 var(--accent);
}
.panel, .block, .card, .form-card{
  border-color:var(--line)!important;
  border-radius:var(--radius,10px);
}
.chip, .pill{
  border-radius:999px;
  font-weight:700;
  letter-spacing:.03em;
}
table th{
  position:sticky;top:0;z-index:1;
  background:var(--panel);
  color:var(--muted);
  font-size:11px;text-transform:uppercase;letter-spacing:.03em;
}
code, pre, .mono{
  font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
}

/* CME mission scorecard (shared SoR with MP) */
.cc-cme-board{
  margin: 10px 0 14px;
  padding: 12px 14px;
  border-radius: 12px;
  border: 1px solid var(--line, #1e293b);
  background: linear-gradient(165deg, rgba(15,23,42,.95), rgba(11,18,32,.98));
  box-shadow: 0 8px 24px rgba(0,0,0,.25);
}
.cc-cme-head{
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 10px;
  flex-wrap: wrap;
  margin-bottom: 10px;
  font-size: 13px;
}
.cc-cme-head .pill{
  font-size: 10px;
  margin-left: 6px;
  vertical-align: middle;
}
.cc-cme-row{ margin-top: 6px; }
.cc-cme-row:first-child{ margin-top: 0; }
.cc-cme-row-top{
  display: grid;
  grid-template-columns: minmax(0,1fr) auto auto;
  gap: 8px 10px;
  align-items: center;
  font-size: 11px;
  margin-bottom: 3px;
}
.cc-cme-lab{
  font-size: 10px;
  font-weight: 750;
  text-transform: uppercase;
  letter-spacing: .04em;
  color: var(--muted, #94a3b8);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.cc-cme-count{ white-space: nowrap; font-variant-numeric: tabular-nums; }
.cc-cme-pct{
  min-width: 40px;
  text-align: right;
  font-weight: 800;
  font-variant-numeric: tabular-nums;
}
.cc-cme-bar{
  height: 6px;
  border-radius: 99px;
  background: rgba(255,255,255,.07);
  border: 1px solid rgba(255,255,255,.06);
  overflow: hidden;
}
.cc-cme-bar i{
  display: block;
  height: 100%;
  border-radius: 99px;
  min-width: 0;
  transition: width .35s ease;
}
.cc-cme-bar.cme-ready i{ background: linear-gradient(90deg, #a16207, #fbbf24); }
.cc-cme-bar.cme-flight i{ background: linear-gradient(90deg, #1d4ed8, #60a5fa); }
.cc-cme-bar.cme-post i{ background: linear-gradient(90deg, #6d28d9, #c4b5fd); }
.cc-cme-bar.cme-total i{ background: linear-gradient(90deg, #15803d, #4ade80); }
.cc-cme-total{
  margin-top: 10px;
  padding-top: 8px;
  border-top: 1px solid rgba(255,255,255,.08);
}
.cc-cme-total .cc-cme-bar{ height: 8px; }
.cc-cme-meta{
  margin-top: 8px;
  font-size: 10px;
  line-height: 1.4;
}

.cc-cme-board.cc-cme-updated{
  box-shadow: 0 0 0 1px rgba(74,222,128,.45), 0 8px 28px rgba(0,0,0,.35);
  transition: box-shadow .3s ease;
}
.cc-cme-poll-hint{
  font-size: 10px;
  color: var(--muted, #94a3b8);
  margin-top: 4px;
}

.cc-cme-actions{
  display:flex; flex-wrap:wrap; gap:8px; align-items:center;
  margin-top:12px; padding-top:10px;
  border-top:1px solid rgba(255,255,255,.08);
}
.cc-cme-actions .tool{ font-size:12px; }
.cc-cme-actions .tool:disabled{ opacity:.45; cursor:not-allowed; }

