
:root{--pp:#582C83;--teal:#166E6E;--gold:#B07A12;--ink:#1c2230;--bg:#eef1f6;--card:#fff;--mut:#6b7280;--line:#e3e6ee;}
*{box-sizing:border-box}
html,body{width:100%;max-width:100%;margin:0;padding:0;overflow-x:hidden}
body{font:16px/1.5 "Segoe UI",system-ui,sans-serif;background:var(--bg);color:var(--ink);
     height:100vh;display:flex;flex-direction:column;overflow-y:hidden}
header{background:linear-gradient(110deg,var(--pp),#3a1d57 55%,var(--teal));color:#fff;padding:4px 12px;flex:none}
header h1{margin:0;font-size:13px;letter-spacing:.3px;font-weight:700}
header h1 .sub{font-weight:400;opacity:.8;font-size:11px;margin-left:10px}
.wrap{flex:1;min-height:0;width:100%;max-width:100%;min-width:0;display:flex;flex-direction:column;margin:0;padding:5px 10px 6px}

/* stepper */
.stepper{display:flex;gap:6px;flex-wrap:wrap;margin:2px 0 3px}
.stp{flex:1;min-width:120px;display:flex;align-items:center;gap:7px;background:var(--card);border:1px solid var(--line);border-radius:8px;padding:3px 9px;cursor:pointer;transition:.15s;position:relative}
.stp:hover{border-color:#bcc4d6}
.stp .ic{width:18px;height:18px;border-radius:50%;display:grid;place-items:center;background:#eef0f6;font-size:11px;flex:none}
.stp .nm{font-size:12px;font-weight:600;line-height:1.1}
.stp .nm small{display:block;font-weight:400;color:var(--mut);font-size:10px}
.stp.locked{opacity:.45;cursor:not-allowed}
.stp.done .ic{background:#dcf3e6;color:#178a47}
.stp.cur{border-color:var(--pp);box-shadow:0 0 0 2px rgba(88,44,131,.15)}
.stp.cur .ic{background:var(--pp);color:#fff}

/* LINE 1: brand | configure | run | totals | record selector | playback | status */
.topline{display:flex;align-items:center;gap:7px;margin:0 0 4px;flex-wrap:wrap;flex:none;max-width:100%}
.rgroup{margin-left:auto;display:flex;align-items:center;gap:7px;flex-wrap:nowrap;min-width:0}
.rgroup .proglab{flex:0 1 auto;max-width:220px}
.recnav{display:flex;align-items:center;gap:7px}
.recnav.hidden{display:none}
.brand{flex:none;display:flex;flex-direction:row;align-items:center;gap:8px;font-weight:800;font-size:16px;color:var(--pp);line-height:1;padding:4px 12px 4px 2px;border-right:2px solid var(--line);margin-right:2px}
.brand>span{display:flex;flex-direction:column;justify-content:center}
.brandlogo{flex:none;border-radius:6px;display:block}
.modesw{flex:none;display:flex;gap:0;border:1px solid #cfd3dd;border-radius:9px;overflow:hidden;margin-right:4px}
.modesw button{font:inherit;font-weight:700;font-size:13px;padding:6px 13px;border:0;background:#fff;color:var(--mut);cursor:pointer;transition:.12s}
.modesw button.on{background:linear-gradient(110deg,var(--pp),var(--teal));color:#fff}
.modesw button:not(.on):hover{background:#f2f4f9;color:var(--ink)}
.brand small{font-weight:500;font-size:9px;color:var(--mut);letter-spacing:.3px;text-transform:uppercase;margin-top:2px}
/* ===== progressive disclosure (guided onboarding vs advanced) ===== */
.advtoggle{flex:none;background:#eef1f6;border:1px solid var(--line);border-radius:8px;padding:6px 11px;font-size:12px;font-weight:700;color:#55607a;cursor:pointer}
.advanced .advtoggle{background:var(--ink);color:#fff;border-color:var(--ink)}
.onboarding .resultsonly{display:none !important}
/* advanced/dev controls hidden until Advanced mode is toggled (Settings) — report §9 */
body:not(.advanced) .adv{display:none !important}
/* ===== journey rail ===== */
.jrail{display:flex;flex-wrap:wrap;gap:0;align-items:stretch;margin:0 0 14px;border:1px solid var(--line);border-radius:10px;overflow:hidden;background:#fff}
.jstep{flex:1 1 0;min-width:84px;padding:8px 6px;text-align:center;font-size:11px;color:#7a8398;border-right:1px solid var(--line);position:relative}
.jstep:last-child{border-right:0}
.jstep b{display:block;font-size:11.5px;color:#44506a;font-weight:700;margin-top:2px}
.jstep .jn{display:inline-grid;place-items:center;width:20px;height:20px;border-radius:50%;background:#e6e8ef;color:#55607a;font-weight:800;font-size:11px}
.jstep.on{background:linear-gradient(180deg,#f3eefb,#eef4f6)}
.jstep.on .jn{background:var(--pp);color:#fff}.jstep.on b{color:var(--pp)}
.jstep.done .jn{background:var(--teal);color:#fff}
/* ===== dashboard ===== */
.dashwrap{display:flex;flex-direction:column;gap:14px}
.dcards{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}
.dcard{border:1px solid var(--line);border-radius:12px;padding:16px 18px;background:#fff}
.dcard .dk{font-size:12px;color:var(--mut);font-weight:600}
.dcard .dv{font-size:30px;font-weight:800;color:var(--pp);line-height:1.1;margin-top:4px}
.dcard .dv small{font-size:14px;color:var(--mut);font-weight:600}
.dchoice{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px}
.dchoice.tri{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:900px){.dchoice.tri{grid-template-columns:minmax(0,1fr)}}
.dpick.rev .dtag{background:#2A5C8A}
.cardbtns{display:flex;align-items:center;gap:8px;margin-top:10px;flex-wrap:wrap}
.cardbtns button{background:var(--teal);color:#fff;border:none;border-radius:8px;padding:7px 13px;font-size:12.5px;font-weight:700;cursor:pointer}
.cardbtns button:hover{filter:brightness(1.08)}
.helpbox{background:#eef4ff;border:1px solid #cfe0f5;border-radius:9px;padding:10px 13px;margin:0 0 12px;font-size:12.5px;color:#33415a;line-height:1.5}
.helpbox b{color:var(--pp)}
.cfgfoot{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:14px;padding:12px 14px;border-top:2px solid var(--line);background:#f7f9fc;border-radius:0 0 10px 10px;position:sticky;bottom:0}
.cfgfoot-l{font-weight:700;color:var(--ink);font-size:13px}
.cfgfoot .runbtn{font-size:15px;padding:8px 20px}
.procstrip{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin:0 0 6px}
.procstep{font-size:12px;font-weight:700;color:var(--ink);background:#eef2f8;border:1px solid #dde3ee;border-radius:20px;padding:4px 12px}
.procarr{color:var(--mut);font-weight:700}
.snaphdr{margin:18px 0 8px;padding-top:12px;border-top:1px solid var(--line);font-size:14px;font-weight:800;color:var(--ink)}
.runchoice{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;margin:10px 0 4px}
@media(max-width:760px){.runchoice{grid-template-columns:minmax(0,1fr)}}
.runchoice .rc{border:1px solid var(--line);border-radius:10px;padding:11px 13px;background:#fbfcfe}
.runchoice .rc b{font-size:13px;color:var(--ink)}
.runchoice .rc .chd{margin:4px 0 8px}
.rvtab{font:inherit;font-size:12.5px;font-weight:700;border:1px solid var(--line);background:#fff;color:#55607a;border-radius:8px;padding:6px 13px;cursor:pointer}
.rvtab.teal{background:linear-gradient(110deg,var(--pp),var(--teal));color:#fff;border-color:transparent}
.mdpre{white-space:pre-wrap;word-break:break-word;font:13px/1.6 ui-monospace,"Cascadia Code",Consolas,monospace;color:#222b3a;background:#fbfcfe;border:1px solid var(--line);border-radius:8px;padding:14px 16px;max-height:64vh;overflow:auto;margin:0;resize:vertical}
.dpick{border:2px solid var(--line);border-radius:14px;padding:18px 20px;cursor:pointer;transition:.12s;background:#fff}
.dpick:hover{border-color:var(--teal);box-shadow:0 4px 16px rgba(22,110,110,.12)}
.dpick h3{margin:0 0 6px;font-size:17px;color:var(--pp)}
.dpick .dtag{font-size:11px;font-weight:700;color:#fff;background:var(--teal);border-radius:20px;padding:2px 10px;display:inline-block;margin-bottom:8px}
.dpick.gen .dtag{background:var(--pp)}
.dpick ul{margin:6px 0 0;padding-left:18px;font-size:12.5px;line-height:1.5;color:#44506a}
.dalert{background:#fff6e6;border:1px solid #ecd9a8;border-radius:8px;padding:8px 12px;font-size:12.5px;color:#7a5a12;margin:4px 0}
.dquick{display:flex;flex-wrap:wrap;gap:8px}
.dquick button{background:var(--teal);color:#fff;border:none;border-radius:8px;padding:8px 14px;font-size:13px;font-weight:700;cursor:pointer}
.dquick button.sec{background:#eef1f6;color:#33415a;border:1px solid var(--line)}
@media(max-width:680px){.dchoice{grid-template-columns:minmax(0,1fr)}}
.runbtn{flex:none;background:#19a05a;color:#fff;font-weight:700;padding:5px 14px;border-radius:8px;font-size:14px;min-width:80px}
.runbtn:hover{filter:brightness(1.07)} .runbtn:disabled{opacity:.5}
.runbtn.stopbtn{background:#e23b3b}
.expgrp{flex:none;display:inline-flex;align-items:center;gap:4px;border:1px solid var(--line);border-radius:8px;padding:3px 6px 3px 8px;background:#fff}
.expgrp .expgl{font-size:11px;font-weight:800;color:var(--teal);white-space:nowrap}
.expgrp .expb{background:#f3fbf9;border:1px solid #cfe7e3;color:#155;border-radius:6px;padding:3px 9px;font-size:11.5px;font-weight:600;cursor:pointer;white-space:nowrap}
.expgrp .expb:hover{background:var(--teal);color:#fff;border-color:var(--teal)}
.sm{padding:5px 9px;flex:none}
.proglab{font-size:12px;color:var(--mut);font-weight:600;white-space:nowrap;flex:1 1 0;min-width:0;overflow:hidden;text-overflow:ellipsis;margin-left:2px}
.ttab{display:flex;align-items:center;gap:7px;background:var(--card);border:1px solid var(--line);border-radius:8px;padding:3px 9px;cursor:pointer;transition:.15s;flex:none}
.ttab:hover{border-color:#bcc4d6}
.ttab .ic{width:19px;height:19px;border-radius:50%;display:grid;place-items:center;background:#eef0f6;font-size:12px;flex:none}
.ttab .nm{font-size:12px;font-weight:600;line-height:1.1}
.ttab .nm small{display:block;font-weight:400;color:var(--mut);font-size:10px}
.ttab.cur{border-color:var(--pp);box-shadow:0 0 0 2px rgba(88,44,131,.15)}
.ttab.cur .ic{background:var(--pp);color:#fff}
.ttab.tot.cur{border-color:var(--teal);box-shadow:0 0 0 2px rgba(22,110,110,.15)}
.ttab.tot.cur .ic{background:var(--teal);color:#fff}
.ttab.locked{opacity:.45;cursor:not-allowed}
/* journey-ordered section nav (line 1) */
.secnav{display:flex;gap:4px;flex:1 1 auto;flex-wrap:wrap;min-width:0}
.secb{display:flex;align-items:center;gap:6px;background:var(--card);border:1px solid var(--line);border-radius:9px;padding:6px 11px;cursor:pointer;transition:.15s;flex:none;font:inherit}
.secb:hover{border-color:#bcc4d6;background:#f7f9fc}
.secb .ic{font-size:14px;line-height:1}
.secb .nm{font-size:12.5px;font-weight:700;color:var(--ink);line-height:1.05;white-space:nowrap}
.secb.cur{border-color:var(--pp);background:#f5f0fb;box-shadow:0 0 0 2px rgba(88,44,131,.14)}
.secb.cur .nm{color:var(--pp)}
.secb.secsettings{margin-left:auto;opacity:.78}
.secb.secsettings .nm{font-weight:600;color:var(--mut)}
.secb.secsettings.cur{opacity:1}
/* contextual sub-nav (line 2) */
.subnav{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin:0 0 8px;padding:5px 2px;border-bottom:1px solid var(--line);min-height:34px}
.subtab{font:inherit;font-size:12.5px;font-weight:600;color:#55607a;background:transparent;border:0;border-radius:7px;padding:5px 11px;cursor:pointer}
.subtab:hover{background:#eef1f6;color:var(--ink)}
.subtab.cur{background:linear-gradient(110deg,var(--pp),var(--teal));color:#fff}
.subact{margin-left:auto;display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap}
/* compact record navigator — sizes to its content, single line */
.recmid{flex:0 1 auto;min-width:0;display:flex;align-items:center;gap:5px;flex-wrap:nowrap;background:var(--card);border:1px solid var(--line);border-radius:8px;padding:2px 8px;box-shadow:0 1px 3px rgba(20,30,60,.06)}
.recmid.hidden{display:none}
.recmid .rlbl{font-weight:700;color:var(--pp);font-size:11px;letter-spacing:.2px;text-transform:uppercase;flex:none}
.recmid button{padding:5px 11px;font-size:15px;line-height:1;background:var(--pp);flex:none}
.recmid input{width:52px;font:inherit;font-size:14px;padding:5px 6px;border:1px solid #cfd3dd;border-radius:7px;text-align:center;font-weight:600;flex:none}
.recmid .rcount{font-size:11.5px;color:var(--mut);font-weight:600;flex:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:180px}

/* nav + progress */
.navbar{display:flex;align-items:center;gap:10px;margin:0 0 4px;flex-wrap:wrap}
button{font:inherit;font-weight:600;border:0;border-radius:9px;padding:9px 16px;cursor:pointer;color:#fff;background:var(--pp);transition:.15s}
button.ghost{background:#fff;color:var(--ink);border:1px solid var(--line)}
button.teal{background:var(--teal)}
button:hover{filter:brightness(1.07)} button:disabled{opacity:.45;cursor:not-allowed;filter:none}
.pill{margin-left:auto;display:flex;align-items:center;gap:8px;font-size:13px;font-weight:600;color:var(--mut)}
.dot{width:11px;height:11px;border-radius:50%;background:#c4c9d4}
.dot.run{background:#19b562;animation:pulse 1.1s infinite}.dot.err{background:#e23b3b}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(25,181,98,.6)}70%{box-shadow:0 0 0 9px rgba(25,181,98,0)}100%{box-shadow:0 0 0 0 rgba(25,181,98,0)}}
.prog{height:4px;background:#dfe3ec;border-radius:6px;overflow:hidden;margin:0 0 0;flex:none}
.prog > i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--teal),var(--pp));transition:width .3s}

/* stage viewport — fills the remaining screen, content scrolls inside.
   Rectangular, edge-to-edge card whose header flows visually with the top bars. */
.stage{background:var(--card);border:1px solid #d6dbe8;border-radius:8px;box-shadow:0 2px 12px rgba(20,30,60,.09);overflow:hidden;flex:1;min-height:0;width:100%;max-width:100%;min-width:0;display:flex;flex-direction:column}
.stage .sh{display:flex;align-items:center;gap:12px;padding:5px 16px;border-bottom:2px solid var(--pp);
  background:linear-gradient(110deg,#f4eefb,#eef4f6 60%,#ecf4f4);flex:none}
.stage .sh::before{content:"";flex:none;width:4px;align-self:stretch;border-radius:3px;background:linear-gradient(var(--pp),var(--teal));margin:-1px 0}
.stage .sh h2{margin:0;font-size:15px;font-weight:800;color:var(--pp);letter-spacing:.2px;white-space:nowrap}
.stage .sh p{margin:0;font-size:12.5px;color:#55607a;line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}
.stage .body{padding:6px 10px;flex:1;min-height:0;min-width:0;max-width:100%;overflow:auto;display:flex;flex-direction:column}
.tabs{display:flex;gap:8px;margin-bottom:14px}
.tab{padding:7px 15px;border-radius:8px;border:1px solid var(--line);background:#fff;cursor:pointer;font-weight:600;font-size:13px}
.tab.on{background:var(--pp);color:#fff;border-color:var(--pp)}
/* Reconstruct view */
.reconlbl{margin:12px 0 5px;font-size:14px;font-weight:700;color:var(--pp)}
.reconout{background:#0e1320;color:#cdd6e6;border-radius:8px;padding:12px 15px;font:14.5px/1.6 "Segoe UI",sans-serif;white-space:pre-wrap}
.recnav{display:flex;align-items:center;gap:10px;margin-bottom:14px}
.recnav select{flex:1;max-width:420px;font:inherit;padding:8px 10px;border:1px solid #cfd3dd;border-radius:8px;background:#fff}
.recnav button{padding:8px 13px}
.rcount{font-size:13px;color:var(--mut);font-weight:600}
/* line 6 — crisp HTML stage view: fills remaining area, full width, scales with the page */
.stagepane{flex:1;min-height:0;width:100%;max-width:100%;overflow:auto;display:block;resize:vertical}
.spgrid{display:grid;gap:10px;height:100%;min-height:0;width:100%;max-width:100%}
.spgrid.s1{grid-template-columns:minmax(0,0.8fr) minmax(0,1.2fr);grid-template-rows:auto auto;align-content:start}
.spgrid.s1 .srcfull{grid-column:1/-1}
.spgrid.s1 .tprompt .ptext{min-height:46px;max-height:130px}
.spgrid.s1 .srcfull .ptext{max-height:170px}
.spgrid.s2{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);grid-template-rows:1fr auto}
.spgrid.s4{grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-rows:1fr auto}
.panel{border:1px solid #dbe0ea;border-radius:9px;background:#fff;padding:11px 14px;overflow:auto;min-width:0;min-height:0;max-width:100%;display:flex;flex-direction:column;resize:vertical}
.panel.full{grid-column:1/-1}
.panel.blue{background:#f5f9ff;border-color:#cadcf3}
.panel.green{background:#f3fbf6;border-color:#bfe6cf}
.panel.yellow{background:#fffaf0;border-color:#ecd9a8}
.panel .ph{font-size:14px;font-weight:800;color:var(--pp);margin-bottom:8px;flex:none}
.panel .ph.orange{color:var(--gold)}
.ptext{font-size:14px;line-height:1.55;color:#222b3a;white-space:pre-wrap;flex:1;min-height:0;overflow:auto;word-break:break-word;resize:vertical}
.ptext.big{font-size:14.5px}
.phash{margin-top:8px;font:12px "Cascadia Code",Consolas,monospace;color:var(--teal);flex:none;word-break:break-all}
.prlbl{font-size:10.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--mut);margin:6px 0 2px}
.ptext.tmpl{font:12.5px "Cascadia Code",Consolas,monospace;color:#5a647a;background:#f6f8fc;border:1px dashed #cfd8e6;border-radius:6px;padding:5px 8px;max-height:90px}
.prstat{margin-top:7px;font-size:12px;color:#2a6a3e}
.prstat.bad{color:#b3361f}
.prstat code{background:#fdecea;border-radius:4px;padding:0 4px;color:#b3361f}
.prwarn{margin-top:6px;font-size:12px;color:#8a1c0a;background:#fdecea;border:1px solid #f5c6bd;border-radius:7px;padding:6px 9px}
table.kv{width:100%;border-collapse:collapse}
table.kv td{padding:2px 4px;border-bottom:1px solid #eef1f6;vertical-align:top;font-size:13px;line-height:1.3}
table.kv td.k{color:#6b7280;font-weight:600;width:120px;white-space:nowrap}
table.kv td.v{color:#1c2230;font-weight:600;word-break:break-word}
.chkrow{display:flex;gap:10px;align-items:flex-start;padding:6px 0;border-bottom:1px solid #e6f0ea}
.chkrow:last-child{border-bottom:0}
.badge{flex:none;width:26px;height:26px;border-radius:7px;display:grid;place-items:center;color:#fff;font-weight:800;font-size:14px}
.badge.ok{background:#19a05a}.badge.no{background:#e23b3b}
.chh{font-size:13px;font-weight:700;color:var(--ink)}
.chd{font-size:12.5px;color:#55607a;line-height:1.4}
.etbl{width:100%;border-collapse:collapse;font-size:13px}
.etbl th{position:sticky;top:0;background:#f3f6fb;text-align:left;padding:8px 10px;font-size:12px;color:#55607a;border-bottom:2px solid #dbe0ea}
.etbl td{padding:7px 10px;border-bottom:1px solid #eef1f6;vertical-align:top}
.etbl tr:nth-child(even) td{background:#f9fbff}
.etbl td.mono{font:12px "Cascadia Code",Consolas,monospace;color:#243; word-break:break-word}
.st{font-size:11px;font-weight:800;text-transform:uppercase;padding:2px 8px;border-radius:20px}
.st.ok{background:#dcf3e6;color:#178a47}.st.no{background:#fde2e2;color:#c0392b}
.note{margin-top:10px;background:#f5f9ff;border:1px solid #cadcf3;border-radius:8px;padding:10px 13px;font-size:12.5px;color:#3a4763;line-height:1.5}
.cstep{display:flex;gap:11px;align-items:flex-start;padding:7px 0}
.cstep .cn{flex:none;width:26px;height:26px;border-radius:50%;background:var(--teal);color:#fff;font-weight:800;font-size:13px;display:grid;place-items:center}
.pbar{display:flex;align-items:center;gap:10px;margin:9px 0}
.pbar .pl{width:170px;font-size:13px;font-weight:600;color:var(--ink)}
.pbar .pl b{display:inline-block;width:18px;color:var(--pp)}
.pbar .pt{flex:1;height:16px;background:#eef1f6;border-radius:8px;overflow:hidden}
.pbar .pt i{display:block;height:100%;border-radius:8px}
.pbar .pv{width:52px;text-align:right;font-weight:800;font-size:13px;color:var(--ink)}
.composite{margin-top:12px;font-size:15px;font-weight:700;color:var(--pp)}
/* Reconstruct tab (stage 5) — content-sized grid that scrolls in the pane */
.spgrid.s5{height:auto;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-auto-rows:min-content;align-content:start;padding-bottom:4px}
.spgrid.s5 .panel{overflow:visible}
.recon-hd{grid-column:1/-1;flex-direction:row;align-items:center;justify-content:space-between;gap:14px;
  background:linear-gradient(110deg,#f4eefb,#eef4f6 60%,#ecf4f4);border-color:#cfd6e6}
.recon-hd .rh-title{font-size:16px;font-weight:800;color:var(--pp)}
.recon-hd .rh-sub{font-size:12.5px;color:#55607a;margin-top:3px}
.recon-hd .rh-score{flex:none;font-size:30px;font-weight:800;color:var(--pp);line-height:1;white-space:nowrap}
.recon-hd .rh-score small{font-size:13px;font-weight:600;color:var(--mut)}
.gate{display:inline-block;font-size:11.5px;font-weight:700;padding:2px 9px;border-radius:20px;margin-left:6px}
.gate.ok{background:#dcf3e6;color:#178a47}.gate.no{background:#fde2e2;color:#c0392b}
.pmeta{font-size:11.5px;color:var(--mut);margin:-4px 0 8px 180px;line-height:1.35}
.pmeta .gap{color:#c0392b;font-weight:600}
.pmeta .okg{color:#178a47;font-weight:600}
.pwhy{font-size:11.5px;color:#44506a;font-style:italic;margin:-2px 0 10px 180px;line-height:1.4}
.pv s{color:#b33;opacity:.7;margin-right:3px}
.deltatbl{width:auto;min-width:280px}
.deltatbl th,.deltatbl td{text-align:center;padding:5px 12px;font-variant-numeric:tabular-nums}
.deltatbl td.k{text-align:left;font-weight:700}
.deltatbl .dpos{color:#178a47;font-weight:800}
.deltatbl .dneg{color:#c0392b;font-weight:800}
.deltatbl .dzero{color:var(--mut)}
.efgrid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;margin-top:12px}
.eflist{margin:6px 0 0;padding-left:18px;font-size:12.5px;line-height:1.5}
.eflist .gap{color:#c0392b}
@media(max-width:760px){.pwhy{margin-left:0}.efgrid{grid-template-columns:minmax(0,1fr)}}
.hashcell{font-size:11.5px;color:var(--teal);word-break:break-all}
.findings{background:linear-gradient(180deg,#fbfcff,#f6f8fc);border-color:#d3dcec}
.findings .advhd{margin-top:12px;font-size:13.5px;font-weight:800;color:var(--gold)}
.advlist{margin:8px 0 0;padding-left:22px;display:flex;flex-direction:column;gap:9px}
.advlist li{font-size:13px;line-height:1.45}
.advlist .advf{font-weight:700;color:var(--ink);text-transform:capitalize}
.advlist .advp{display:inline-block;font-size:10.5px;font-weight:700;color:var(--teal);background:#e7f1f1;border-radius:20px;padding:1px 8px;margin-left:6px;vertical-align:middle}
.advlist .advt{color:#44506a;margin-top:2px}
.advfoot{margin-top:12px;font-size:12.5px;color:#3a4763;background:#eef4ff;border:1px solid #cfe0f5;border-radius:8px;padding:9px 12px}
.allgood{margin-top:10px;font-size:13.5px;font-weight:700;color:#178a47;background:#e7f7ee;border:1px solid #bfe6cf;border-radius:8px;padding:11px 14px}
@media(max-width:760px){.pmeta{margin-left:0}}
/* ===== Calibration tab ===== */
.calibwrap{display:flex;flex-direction:column;gap:8px;height:100%;min-height:0}
.calibbar{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;font-size:12.5px;color:#44506a;flex:none}
.calibbar .cbtns{display:flex;gap:8px}
.calibbar button{padding:6px 12px;font-size:12.5px}
.calibexport{flex:none;border:1px solid var(--teal);border-radius:8px;background:#f3fbf9;padding:8px 10px;margin-bottom:8px;max-width:100%}
.calibexport .cexpbar{display:flex;align-items:center;gap:8px;margin-bottom:6px;font-size:12.5px}
.calibexport textarea{width:100%;height:160px;font:12px/1.4 "Cascadia Code",Consolas,monospace;border:1px solid #cfd3dd;border-radius:6px;padding:8px;resize:both;white-space:pre}
.calibgrid{display:grid;grid-template-columns:minmax(0,0.9fr) minmax(0,1.3fr);gap:10px;flex:1;min-height:0;max-width:100%}
.calibgrid > *{min-width:0}
.calibmatrix,.calibeditor{overflow:auto}
.ctbl{width:100%;border-collapse:collapse;font-size:12.5px}
.ctbl th{position:sticky;top:0;background:#f3f6fb;text-align:center;padding:6px 7px;border-bottom:2px solid #dbe0ea;font-size:11.5px;color:#55607a}
.ctbl th:first-child{text-align:left}
.ctbl td{padding:6px 7px;border-bottom:1px solid #eef1f6}
.ctbl td.sc{text-align:center;font-weight:700;width:34px}
.ctbl td.sc.comp{color:var(--pp)}
.ctbl td.cn{white-space:nowrap}
.ctbl .cgrp{font-size:10px;color:var(--mut);font-weight:600;text-transform:uppercase}
.crow{cursor:pointer;transition:.1s}
.crow:hover{background:#f6f9ff}
.crow.sel{background:#eef0fb;box-shadow:inset 3px 0 0 var(--pp)}
.cstat{font-size:10.5px;font-weight:700;padding:2px 8px;border-radius:20px;white-space:nowrap}
.cstat.ok{background:#dcf3e6;color:#178a47}.cstat.draft{background:#fff0e0;color:#b06a12}
.mscroll{overflow:auto}
.chint{font-size:11px;color:var(--mut);margin-top:8px;line-height:1.4}
.chint2{font-size:11px;color:var(--mut);font-weight:400}
.efrm{display:flex;flex-direction:column;gap:9px}
.erow{display:flex;gap:10px;flex-wrap:wrap}
.efl{flex:1;min-width:120px;display:flex;flex-direction:column;gap:3px;font-size:11.5px;font-weight:700;color:var(--pp)}
.efl.narrow{flex:0 0 110px}
.efl input,.efl select,.efl textarea{font:inherit;font-weight:400;color:var(--ink);padding:6px 8px;border:1px solid #cfd3dd;border-radius:7px;background:#fff}
.efl input[readonly]{background:#f3f5fa;color:var(--mut)}
.efl textarea{resize:both;min-height:32px}
.ph2{font-size:12.5px;font-weight:800;color:var(--ink);margin-top:4px}
.levs{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:7px}
.lev{display:flex;gap:8px;align-items:flex-start;border:1px solid var(--line);border-radius:8px;padding:7px 9px;cursor:pointer;background:#fff;transition:.1s}
.lev.on{border-color:var(--teal);background:#f1faf8}
.lev input{margin-top:2px;width:15px;height:15px}
.levt{font-size:12px;line-height:1.3}
.levp{font-size:10px;font-weight:700;color:var(--teal);background:#e7f1f1;border-radius:20px;padding:1px 7px;margin-left:4px}
.levf{display:block;font-size:10.5px;color:var(--mut);font-weight:400}
/* evidence editor */
.evgrp{border:1px solid var(--line);border-radius:8px;padding:8px 10px;margin-bottom:7px;background:#fff}
.evh{font-size:12px;font-weight:700;color:var(--ink);margin-bottom:6px}
.chips{display:flex;flex-wrap:wrap;gap:5px;align-items:center}
.chip{display:inline-flex;align-items:center;gap:5px;background:#eef0fb;border:1px solid #d3d9f0;color:#2c2f44;border-radius:14px;padding:2px 4px 2px 9px;font-size:12px;cursor:pointer}
.chip.off{opacity:.45;background:#f1f2f6;border-color:#e2e5ee;text-decoration:line-through}
.chip b{cursor:pointer;color:#8a93ad;font-weight:700;background:#fff;border-radius:50%;width:16px;height:16px;display:grid;place-items:center;line-height:1}
.chip b:hover{color:#fff;background:#e23b3b}
.chip .dchip{color:#19a05a;font-size:9px;font-style:normal;cursor:default;width:14px;text-align:center}
.chipadd{display:inline-flex;gap:3px;align-items:center}
.chipadd input{width:110px;font:inherit;font-size:12px;padding:3px 7px;border:1px dashed #b9c0d4;border-radius:13px}
.chipadd button{padding:3px 9px;font-size:13px;background:var(--teal);border-radius:13px}
.evtog{display:flex;gap:7px;align-items:center;font-size:12px;font-weight:600;color:var(--ink);cursor:pointer}
.evtog input{width:15px;height:15px}
.evtext{width:100%;font:inherit;font-size:12.5px;margin-top:6px;padding:6px 8px;border:1px solid #cfd3dd;border-radius:7px;resize:both}
.evtext:disabled{background:#f3f5fa;color:var(--mut)}
.cbar{display:flex;align-items:center;gap:8px;margin:6px 0;font-size:12px}
.cbar .cl{width:150px;font-weight:600}.cbar .cl b{display:inline-block;width:16px;color:var(--pp)}
.cbar .ct{flex:1;height:13px;background:#eef1f6;border-radius:7px;overflow:hidden;min-width:60px}
.cbar .ct i{display:block;height:100%;border-radius:7px}
.cbar .cv{width:30px;text-align:right;font-weight:800}
.cbar .cgap{flex:1;min-width:120px;font-size:10.5px;color:var(--mut)}
.ccomp{margin-top:8px;font-size:13.5px;color:var(--pp);font-weight:700}
.cref{margin-top:4px;border:1px solid var(--line);border-radius:8px;background:#fbfcfe}
.cref summary{padding:8px 11px;cursor:pointer;font-weight:700;font-size:12px;color:var(--ink)}
.prefbox{padding:4px 11px 11px}
.prow{display:flex;gap:8px;align-items:baseline;padding:4px 0;border-top:1px solid #eef1f6}
.prow .pll{width:150px;flex:none;font-size:12px;font-weight:600}.prow .pll b{display:inline-block;width:16px}
.pflds{display:flex;flex-wrap:wrap;gap:4px}
.fchip{font-size:10.5px;border-radius:5px;padding:1px 6px;font-family:"Cascadia Code",Consolas,monospace}
.fchip.f-base{background:#eef1f6;color:#55607a}
.fchip.f-on{background:#dcf3e6;color:#178a47}
.fchip.f-off{background:#fde7e7;color:#c0392b}
.approw{margin-top:4px}
.cactions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:6px}
.cactions button.danger{background:#fff;color:#c0392b;border:1px solid #e7b4b4}
.cmsg{font-size:12px;font-weight:600;color:var(--teal)}
.cmsg.err{color:#c0392b}
@media(max-width:900px){.calibgrid{grid-template-columns:1fr;grid-auto-rows:min-content}.levs{grid-template-columns:1fr}}
/* ===== Agentic pipeline tab ===== */
.agtwrap{display:grid;grid-template-columns:minmax(340px,0.9fr) minmax(0,1.1fr);gap:10px;height:100%;min-height:0;max-width:100%}
.agtcfg{overflow:auto;min-width:0;resize:vertical}
.agtresults{overflow:auto;min-height:0;min-width:0;resize:vertical}
.agtcfg .efl{margin-bottom:8px}
.agtogs{display:flex;flex-direction:column;gap:7px;margin-top:4px}
.agtog{display:flex;gap:9px;align-items:flex-start;border:1px solid var(--line);border-radius:8px;padding:8px 10px;cursor:pointer;background:#fff;transition:.1s}
.agtog.on{border-color:var(--teal);background:#f1faf8}
.agtog input{margin-top:2px;width:16px;height:16px}
.agtog span{font-size:12.5px;line-height:1.3}
.agtog small{display:block;color:var(--mut);font-weight:400;font-size:10.5px}
.agtresults .spgrid.s5{height:auto}
@media(max-width:900px){.agtwrap{grid-template-columns:1fr;grid-auto-rows:min-content}}
/* In Agentic mode, the stage tabs (Input…Reconstruct) stay; only dataset Totals is hidden. */
/* (section nav replaces the old per-mode tab hiding) */
.locknote{padding:40px;text-align:center;color:var(--mut)}
/* in-stage controller switch — two thin rows, fill the width */
.ctrlsw{display:flex;flex-wrap:nowrap;gap:5px;margin-bottom:4px;overflow-x:auto;flex:none}
.ctrlsw:last-of-type{margin-bottom:6px}
.csw{flex:1 1 0;min-width:0;white-space:nowrap;text-align:center;padding:3px 9px;border:1px solid var(--line);border-radius:7px;background:#fff;cursor:pointer;font-size:11.5px;font-weight:600;color:var(--ink);transition:.12s}
.csw:hover{border-color:#9aa4bb}
.csw.on{background:var(--teal);color:#fff;border-color:var(--teal);box-shadow:0 1px 4px rgba(22,110,110,.25)}
.csw.dim{opacity:.38;cursor:not-allowed;background:#f4f5f9}
.runbox{padding:48px 20px;text-align:center}
.runbox .spin{width:42px;height:42px;margin:0 auto 16px;border:4px solid #e6e8ef;border-top-color:var(--pp);border-radius:50%;animation:spin 0.9s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.runbox .rt{font-size:18px;font-weight:700;color:var(--pp)}
.runbox .rs{margin-top:6px;font-size:13px;color:var(--mut)}

/* compact 3-line config form */
.form3{display:flex;flex-direction:column;gap:7px}
.frow{display:flex;gap:10px;align-items:flex-end;flex-wrap:wrap}
.frow .f{flex:1;min-width:120px}
.frow .f.narrow{flex:0 0 92px;min-width:80px}
.frow.ctrlrow{align-items:center}
.flbl{flex:none;font-size:11px;font-weight:700;color:var(--pp);text-transform:uppercase;letter-spacing:.3px}
.inl{display:flex;gap:5px;align-items:center;font-size:12px;color:var(--ink);font-weight:600;cursor:pointer;white-space:nowrap;flex:none;padding-bottom:7px}
.inl input{width:15px;height:15px}
.inl input{width:16px;height:16px}
select.mini{font:inherit;padding:6px 8px;border:1px solid #cfd3dd;border-radius:8px}
#defDataset{background:#f3f5fa;color:var(--teal);font-weight:600}
.ctrlbtns{display:flex;flex-wrap:nowrap;gap:5px;flex:1;overflow-x:auto;align-items:center}
.ctrlb{flex:1 1 0;min-width:0;text-align:center;white-space:nowrap;padding:5px 7px;border:1px solid #cfd3dd;border-radius:14px;background:#fff;cursor:pointer;font-size:10.5px;font-weight:600;color:var(--ink);user-select:none}
.ctrlb:hover{border-color:#9aa4bb}
.ctrlb.on{background:var(--pp);color:#fff;border-color:var(--pp)}
.ctrlb.ag{border-style:dashed}
.ctrlb.ag.on{background:var(--teal);border-color:var(--teal)}
.ctrlsep{align-self:center;color:var(--mut);font-size:9.5px;font-weight:700;text-transform:uppercase;margin:0 1px;flex:none}
/* config form */
.form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 22px;max-width:880px}
.f label{display:block;font-size:11px;color:var(--mut);margin-bottom:2px;font-weight:600}
.f select,.f input{width:100%;font:inherit;padding:6px 9px;border:1px solid #cfd3dd;border-radius:7px;background:#fff}
.chk{display:flex;gap:18px;align-items:center;flex-wrap:wrap}
.chk label{display:flex;gap:7px;align-items:center;font-size:14px;color:var(--ink);font-weight:500;cursor:pointer}
.chk input{width:17px;height:17px}
.domgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(215px,1fr));gap:9px;max-height:230px;overflow:auto;padding:3px;border:1px solid var(--line);border-radius:9px;background:#fbfcfe}
.domcard{display:flex;gap:9px;align-items:flex-start;padding:9px 11px;border:1px solid var(--line);border-radius:8px;background:#fff;cursor:pointer}
.domcard:hover{border-color:#bcc4d6}
.domcard input{width:16px;height:16px;margin-top:2px}
.dctxt{display:flex;flex-direction:column;gap:1px;font-size:13px}
.dctxt small{color:#6b7280;font-size:11px}
.bdg{display:inline-block;font-size:9.5px;font-weight:700;text-transform:uppercase;letter-spacing:.4px;padding:1px 6px;border-radius:20px;background:#eef0f6;color:#5b6675;vertical-align:middle;margin-left:4px}
.bdg.ok{background:#dcf3e6;color:#178a47}.bdg.user{background:#fff0e0;color:#b06a12}
.hint{font-size:12px;color:var(--mut);margin-top:4px}
.runrow{grid-column:1/-1;display:flex;gap:12px;align-items:center;margin-top:4px}
.runrow button{padding:12px 26px;font-size:15px}
.f textarea{width:100%;font:inherit;padding:9px 10px;border:1px solid #cfd3dd;border-radius:8px;background:#fff;resize:both}
.addbox{border:1px solid var(--line);border-radius:10px;background:#fbfcfe}
.addbox summary{padding:11px 14px;cursor:pointer;font-weight:600;font-size:14px}
.addgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 20px;padding:6px 16px 18px}

/* scores + artifacts */
.scards{display:grid;grid-template-columns:repeat(auto-fit,minmax(330px,1fr));gap:14px}
.scard{border:1px solid var(--line);border-radius:11px;padding:14px 16px}
.scard .top{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:9px}
.scard .dom{font-weight:700;text-transform:capitalize}
.scard .mean{font-size:21px;font-weight:800;color:var(--pp)}
.pills{display:flex;gap:7px}.pills .p{flex:1;text-align:center;border-radius:8px;padding:7px 3px;color:#fff;font-size:12px}
.pills .p b{display:block;font-size:16px}
.pR{background:#582C83}.pA{background:#166E6E}.pI{background:#2A5C8A}.pD{background:#2E7D46}.pT{background:#B07A12}
.arts{display:flex;gap:14px;flex-wrap:wrap;margin-top:16px}
.arts a{display:inline-flex;align-items:center;gap:8px;padding:11px 16px;border-radius:9px;background:#f3f5fa;border:1px solid var(--line);color:var(--teal);font-weight:600;text-decoration:none}
.arts a:hover{background:#eaf3ff}
/* per-record verify table */
.vtbl{width:100%;border-collapse:collapse;margin-top:10px;font-size:15px}
.vtbl th,.vtbl td{border:1px solid var(--line);padding:8px 12px;text-align:left}
.vtbl th{background:#fafbfd;font-size:13px;color:var(--mut)}
.mtxscroll{max-height:420px;overflow:auto;border:1px solid var(--line);border-radius:8px;margin-top:8px}
.vtbl.mtx{margin-top:0;font-size:13px}
.vtbl.mtx th{position:sticky;top:0;z-index:1}
.vtbl.mtx td{padding:5px 9px}
.vtbl.mtx td.rk{font:12px "Cascadia Code",Consolas,monospace;color:#44506a;white-space:nowrap}
.alarm{margin-top:16px;background:#fff6e6;border:1px solid #ecd9a8;border-radius:9px;padding:11px 14px;font-size:13px;color:#7a5a12;font-weight:600}
.alarm ul{margin:6px 0 0;padding-left:20px;font-weight:400}
.alarm.sw{margin-top:10px;background:#fdecea;border-color:#f5c6bd;color:#8a1c0a}
.decpanel .decmsg{border-radius:9px;padding:10px 13px;margin:4px 0 12px;font-size:13.5px;line-height:1.5}
.decpanel .decmsg.ok{background:#eaf6ee;border:1px solid #bfe3cb}
.decpanel .decmsg.warn{background:#fff6e6;border:1px solid #ecd9a8}
.decpanel .decline{margin:2px 0}
.decgrid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px;margin:6px 0}
@media(max-width:760px){.decgrid{grid-template-columns:minmax(0,1fr)}}
.poltbl td,.poltbl th{font-size:12.5px;vertical-align:top}
.pstat{font-weight:700;text-align:center;white-space:nowrap}
.pstat.ok{color:#178a47}.pstat.part{color:#b8860b}.pstat.bad{color:#b3361f}
.decbound{margin-top:12px;font-size:12.5px;color:#3a4763;background:#eef4ff;border:1px solid #cfe0f5;border-radius:8px;padding:9px 12px}
.scards{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px;margin-top:4px}
.scard{border:1px solid #e2e6ee;border-radius:9px;padding:9px 11px;background:#fbfcfe}
.scard .sc-h{font-size:12.5px;font-weight:700;color:var(--ink);display:flex;align-items:center;gap:6px}
.scard .sc-ic{display:inline-flex;width:18px;height:18px;align-items:center;justify-content:center;border-radius:50%;font-size:11px;color:#fff;background:#9aa3b2}
.scard .sc-st{margin-left:auto;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.03em;color:var(--mut)}
.scard .sc-d{font-size:11.5px;color:var(--mut);margin-top:4px;line-height:1.4}
.scard.pass{background:#eef8f1;border-color:#bfe3cb}.scard.pass .sc-ic{background:#178a47}
.scard.weak{background:#fff7e8;border-color:#ecd9a8}.scard.weak .sc-ic{background:#b8860b}
.scard.fail{background:#fdecea;border-color:#f5c6bd}.scard.fail .sc-ic{background:#b3361f}
.scard.not_run{opacity:.85}
.pipetbl td,.pipetbl th{font-size:12px;vertical-align:top}
.pipetbl .pstat.na{color:#8a93a3}
.pipetbl tr.pl-bad td{background:#fdf3f1}
.pipetbl tr.pl-part td{background:#fffaf0}
.ppill{display:inline-block;width:16px;height:16px;line-height:16px;text-align:center;border-radius:4px;background:#eef2f8;color:#475067;font-size:10px;font-weight:700}
.evscroll{overflow:auto;max-height:62vh}
.evmtx td,.evmtx th{font-size:12px;vertical-align:top}
.evmtx td .chd{font-weight:400;margin-top:2px}
.evmtx tr.ev-missing td{background:#fdf3f1}
.evmtx tr.ev-partial td{background:#fffaf0}
.evmtx tr.ev-not_applicable td{opacity:.72}
.evmtx code{font-size:11px}
/* ===== Studio Guide ===== */
.guidewrap{display:flex;flex-direction:column;gap:10px;height:100%;min-height:0}
.gtabs{display:flex;flex-wrap:wrap;gap:6px;flex:none}
.gtab{background:#f3f5fa;border:1px solid var(--line);border-radius:8px;padding:6px 13px;font-size:13px;font-weight:600;color:#44506a;cursor:pointer}
.gtab:hover{border-color:#9aa4bb}
.gtab.on{background:var(--pp);color:#fff;border-color:var(--pp)}
.gbody{flex:1;min-height:0;overflow:auto}
.gcards{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px}
.gcard{border:1px solid var(--line);border-radius:10px;padding:13px 15px;background:#fff}
.gcard.full{grid-column:1/-1}
.gcard.warn{background:#fff6e6;border-color:#ecd9a8}
.gcard.tip{background:#f1faf8;border-color:#bfe6df}
.gcard h3{margin:0 0 7px;font-size:14.5px;color:var(--pp);display:flex;align-items:center;gap:8px}
.gcard p{margin:6px 0;font-size:13px;line-height:1.55;color:#2c3852}
.gcard ol,.gcard ul{margin:6px 0;padding-left:20px;font-size:13px;line-height:1.6}
.pdot{display:inline-grid;place-items:center;width:24px;height:24px;border-radius:7px;color:#fff;font-weight:800;font-size:13px}
.ghdr{font-size:13px;color:#3a4763;font-weight:600;margin-bottom:4px}
.gcode{background:#1c2230;color:#e6ebf3;border-radius:8px;padding:11px 13px;font:12px/1.5 "Cascadia Code",Consolas,monospace;overflow:auto;white-space:pre;margin:6px 0}
.flowsteps{margin:6px 0 0;padding-left:0;counter-reset:fs;list-style:none}
.flowsteps li{position:relative;padding:6px 6px 6px 34px;font-size:13px;line-height:1.5;border-left:2px solid #d7deea;margin-left:12px}
.flowsteps li:before{counter-increment:fs;content:counter(fs);position:absolute;left:-13px;top:6px;width:24px;height:24px;border-radius:50%;background:var(--teal);color:#fff;font-weight:800;font-size:12px;display:grid;place-items:center}
.dlbtn{display:inline-block;background:var(--teal);color:#fff;border-radius:8px;padding:7px 14px;font-size:13px;font-weight:700;text-decoration:none}
.dlbtn:hover{filter:brightness(1.08)}
.exsteps{margin:6px 0 8px;padding-left:22px;display:flex;flex-direction:column;gap:5px}
.exsteps li{font-size:13px;line-height:1.5}
.exsteps code{background:#eef1f6;border-radius:4px;padding:1px 6px;font:12px "Cascadia Code",Consolas,monospace;color:#0c6a52;font-weight:600}
.flowmeta{font-size:12px;color:#55607a;line-height:1.5;margin-top:2px}
.flowmeta .flowu{font-weight:700;color:var(--pp)}.flowmeta .flows{font-weight:700;color:var(--teal)}.flowmeta .flowo{font-weight:800;color:var(--gold)}
.gcard code{background:#eef1f6;border-radius:4px;padding:1px 5px;font:12px "Cascadia Code",Consolas,monospace;color:#33415a}
/* dataset totals */
.totwrap{display:flex;gap:22px;flex-wrap:wrap;align-items:center}
.totbig{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:220px;background:linear-gradient(135deg,#f3eefb,#e9f4f4);border:1px solid var(--line);border-radius:14px;padding:22px 26px}
.totbig .tnum{font-size:48px;font-weight:800;color:var(--pp);line-height:1}
.totbig .tnum span{font-size:18px;color:var(--mut)}
.totbig .tlbl{margin-top:8px;font-size:12.5px;color:var(--mut);text-align:center}
.totbars{flex:1;min-width:300px;display:flex;flex-direction:column;gap:9px}
.abar{display:flex;align-items:center;gap:10px}
.abar .al{width:130px;font-size:13px;font-weight:600}
.abar .at{flex:1;height:14px;background:#e6e8ef;border-radius:7px;overflow:hidden}
.abar .at i{display:block;height:100%;background:linear-gradient(90deg,var(--teal),var(--pp))}
.abar .av{width:46px;text-align:right;font-weight:700;font-size:13px}

/* live log */
details.live{margin-top:18px;background:var(--card);border:1px solid var(--line);border-radius:12px}
details.live summary{padding:12px 16px;font-weight:600;cursor:pointer;font-size:14px}
.console{height:130px;overflow:auto;margin:0;padding:9px 12px;font:12px/1.45 "Cascadia Code",Consolas,monospace;background:#0e1320;color:#cdd6e6;border-radius:8px}
.console .ok{color:#5fe3a1}.console .warn{color:#ffcf6b}.console .error{color:#ff8a8a}.console .muted{color:#7f8aa3}.console .t{color:#586079}
.lb{position:fixed;inset:0;background:rgba(8,10,18,.88);display:none;align-items:center;justify-content:center;z-index:50;padding:26px}
.lb img{max-width:100%;max-height:100%;border-radius:8px;box-shadow:0 10px 40px rgba(0,0,0,.5)}
/* ===== Full report modal ===== */
.frmodal{position:fixed;inset:0;background:rgba(8,10,18,.72);display:none;align-items:center;justify-content:center;z-index:60;padding:24px}
.frbox{background:#fff;width:min(1100px,96vw);max-height:92vh;border-radius:12px;display:flex;flex-direction:column;box-shadow:0 18px 60px rgba(0,0,0,.5);overflow:hidden}
.frhead{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 18px;background:var(--ink);color:#fff;font-weight:800}
.frtools{display:flex;gap:8px}
.frx{background:#33415a;color:#fff;border:none;border-radius:7px;padding:6px 12px;cursor:pointer;font-weight:700}
.frbody{padding:6px 20px 22px;overflow:auto}
.frsec{margin-top:16px}
.frsec>h3{position:sticky;top:0;background:#fff;margin:0 0 8px;padding:8px 0;font-size:15px;color:var(--teal);border-bottom:2px solid #e6ebf3;z-index:1}
.frdl{display:flex;flex-direction:column;gap:0;border:1px solid #e9edf4;border-radius:8px;overflow:hidden}
.frrow{display:grid;grid-template-columns:minmax(180px,260px) minmax(0,1fr);gap:0;border-bottom:1px solid #eef1f7}
.frrow:last-child{border-bottom:none}
.frk{background:#f7f9fc;padding:7px 12px;font-weight:700;font-size:12.5px;color:#3a4763;min-width:0;word-break:break-word}
.frv{padding:7px 12px;font-size:12.5px;min-width:0;word-break:break-word;overflow-wrap:anywhere}
.frv .frdl{margin:2px 0}
.frul{margin:2px 0;padding-left:18px}.frul li{font-size:12.5px;line-height:1.5}
.frtbl{width:100%;border-collapse:collapse;font-size:11.5px;margin:2px 0}
.frtbl th,.frtbl td{border:1px solid #e6ebf3;padding:4px 7px;text-align:left;vertical-align:top;word-break:break-word}
.frtbl th{background:#f2f5fa;font-weight:700;color:#3a4763;position:sticky;top:34px}
.frna{color:#9aa5b8}.frbT{color:#178a47;font-weight:700}.frbF{color:#c0392b;font-weight:700}
.frruns{display:flex;flex-wrap:wrap;gap:6px;margin:4px 0}
.frrun{display:inline-block;background:#eef4ff;border:1px solid #cfe0f5;color:#2b3a55;border-radius:7px;padding:4px 10px;cursor:pointer;font-size:12px;font-weight:600;text-decoration:none}
.frrun.on{background:var(--teal);color:#fff;border-color:var(--teal)}
.allbtn{background:#0e7a5f}.allbtn:hover{background:#0c6a52}
@media(max-width:680px){.frrow{grid-template-columns:minmax(0,1fr)}}

/* ---- Clickable RAIDT badge + per-pillar advisory (agentic/genai Score & Advice) ---- */
.rbadge{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:2px 0 10px}
.rbl{width:38px;height:38px;display:flex;align-items:center;justify-content:center;border-radius:9px;
     font-weight:800;font-size:18px;color:#fff;cursor:pointer;user-select:none;border:2px solid transparent;
     transition:transform .08s, box-shadow .12s}
.rbl:hover{transform:translateY(-1px);box-shadow:0 2px 8px rgba(20,30,60,.18)}
.rbl.cur{border-color:#1f2a44;box-shadow:0 0 0 3px rgba(31,42,68,.18)}
.rbl.rb-strong{background:#2e7d46}.rbl.rb-good{background:#2a5c8a}
.rbl.rb-fair{background:#b8860b}.rbl.rb-weak{background:#b3361f}
.rbcomp{font-size:12px;font-weight:700;color:var(--mut);margin-left:4px}
.pilladv{border:1px solid var(--line);border-radius:9px;background:#fbfcfe;padding:11px 13px;min-height:46px;resize:vertical;overflow:auto}
.padvh{font-size:14px;font-weight:800;margin-bottom:5px}
.padvwhy{font-size:12.5px;color:#222b3a;line-height:1.5;margin-bottom:6px}
.padvcap{font-size:11.5px;color:#b3361f;font-weight:600;margin-bottom:6px}
.padvgen{font-size:12.5px;color:#33405a;line-height:1.5;background:#eef3fb;border-radius:7px;padding:8px 10px;margin-bottom:6px}
.pstat.blocked,.pstat.failed{color:#b3361f}

/* ---- UI reference-tag debug overlay (v2.1) — hidden unless body.uirefs ---- */
body.uirefs [data-raidt-ref]{outline:1px dashed rgba(88,44,131,.45)!important;outline-offset:-1px}
body.uirefs [data-raidt-ref]::after{content:attr(data-raidt-ref);position:absolute;z-index:99998;
  font:9px/1.3 ui-monospace,Consolas,monospace;background:#582c83;color:#fff;padding:0 4px;border-radius:0 0 4px 0;
  pointer-events:none;white-space:nowrap;max-width:220px;overflow:hidden;text-overflow:ellipsis;opacity:.92}
body.uirefs [data-raidt-ref]{position:relative}
body.uirefs [data-raidt-type="menu-item"]::after,body.uirefs [data-raidt-type="tab"]::after{font-size:8px}

/* ---- Run Evidence Monitor + RAIDT badge (v2.2) ---- */
.raidt-badge{display:inline-flex;gap:2px;padding:2px;border:1px solid var(--bd,#d8d0e4);border-radius:6px;background:#fff;cursor:pointer;vertical-align:middle}
.raidt-badge:hover{box-shadow:0 0 0 2px rgba(88,44,131,.25)}
.raidt-badge:focus-visible{outline:2px solid #582c83;outline-offset:1px}
.raidt-pill{display:inline-block;min-width:16px;text-align:center;font:700 11px/1.4 ui-monospace,Consolas,monospace;color:#fff;border-radius:3px;padding:0 3px}
.raidt-score-red{background:#dc2626}.raidt-score-orange{background:#f97316}.raidt-score-yellow{background:#eab308;color:#1a1a1a}
.raidt-score-light-green{background:#84cc16;color:#1a1a1a}.raidt-score-green{background:#16a34a}.raidt-score-grey{background:#9ca3af}
.rbcomp{font:600 11px/1 var(--ui,system-ui);color:var(--mut,#666);margin-left:6px}
.rmodes{display:flex;gap:6px;flex-wrap:wrap;margin-top:4px}
.rmode{font:600 12px/1 var(--ui,system-ui);padding:5px 11px;border:1px solid #cbb8e0;border-radius:16px;background:#f6f2fb;color:#4a3a63;cursor:pointer}
.rmode:hover{background:#eaddf7}
.rmode.cur{background:#582c83;color:#fff;border-color:#582c83}
.frow{display:flex;gap:12px;flex-wrap:wrap;margin-top:4px}
.frow .efl{display:flex;flex-direction:column;gap:2px}
.frow select{padding:4px 6px;border:1px solid #d8d0e4;border-radius:5px;font-size:12px}
table.vtbl td .raidt-badge{padding:1px}
.rbp{margin-top:14px;border:1px solid #cbb8e0;border-radius:8px;background:#faf7fe;padding:12px;box-shadow:0 4px 16px rgba(60,30,90,.12)}
.rbp-head{display:flex;align-items:center;gap:8px;font-size:13px;margin-bottom:8px;flex-wrap:wrap}
.rbp-x{margin-left:auto;border:none;background:transparent;font-size:16px;cursor:pointer;color:#582c83;padding:2px 6px;border-radius:4px}
.rbp-x:hover{background:#eaddf7}
.rbp-badge{margin:4px 0 8px}
.rbp-sec{margin:6px 0;font-size:12px}
.rbp-sec ul{margin:3px 0 0;padding-left:18px}
.rbp-sec .gap{color:#c0392b}

/* ---- Agentic 7-tab: code block (v2.3) ---- */
pre.codeblock{background:#1e1233;color:#eeddff;border-radius:6px;padding:10px 12px;font:12px/1.5 ui-monospace,Consolas,monospace;overflow:auto;white-space:pre;margin:4px 0}

/* ---- v2.9.3.2 GenAI Setup quick-start demo buttons ---- */
.demobar{display:flex;gap:12px;flex-wrap:wrap;margin-top:6px}
.demobtn{display:flex;flex-direction:column;align-items:flex-start;gap:2px;min-width:220px;padding:12px 16px;border:1px solid #cbb8e0;border-radius:10px;
  background:linear-gradient(135deg,#582c83,#7b52a8);color:#fff;cursor:pointer;text-align:left;box-shadow:0 2px 8px rgba(88,44,131,.25);transition:transform .08s,box-shadow .12s}
.demobtn:hover{transform:translateY(-1px);box-shadow:0 5px 16px rgba(88,44,131,.35)}
.demobtn.alt{background:linear-gradient(135deg,#166e6e,#2a8f8f)}
.demobtn .dbi{font-size:20px}
.demobtn .dbt{font-weight:800;font-size:15px}
.demobtn .dbs{font-size:11px;opacity:.9}

/* ---- v2.9.3.5 scope bar (org / session / mode always visible) ---- */
.scopebar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:5px 10px;margin:0 0 2px;background:#f3eefa;border-bottom:1px solid #e0d5ee;font-size:12px}
.scopechip{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:12px;background:#fff;border:1px solid #d8d0e4;color:#4a3a63;white-space:nowrap}
.scopechip.org{background:#582c83;color:#fff;border-color:#582c83;font-weight:700}
.scopechip.mode{margin-left:auto;font-weight:600}
.scopechip.sid{font:11px ui-monospace,Consolas,monospace;opacity:.75}
.scopebar select{border:none;background:transparent;font-size:12px;color:#4a3a63;font-weight:600;max-width:200px}
.scopebtn{padding:3px 9px;border:1px solid #cbb8e0;border-radius:12px;background:#fff;cursor:pointer;font-size:12px;color:#582c83}
.scopebtn:hover{background:#eaddf7}

/* ---- v2.9.3.6 batch lock ---- */
.lockeddim{opacity:.6;cursor:not-allowed !important}
.batchlock{margin-bottom:8px}

/* ---- v2.9.3.6 session library ---- */
.tagchip{display:inline-block;padding:1px 7px;border-radius:10px;background:#eaddf7;color:#582c83;font-size:11px;margin:1px}
.efl{display:flex;flex-direction:column;gap:2px}
.efl input,.efl select{padding:4px 7px;border:1px solid #cbb8e0;border-radius:5px}

/* ---- v2.9.3.7 scope selectors ---- */
.scopechip select{border:none;background:transparent;font-size:12px;color:#4a3a63;font-weight:600;max-width:180px;cursor:pointer}
.scopechip.org select{color:#fff}
.scopechip.org{background:#582c83}

/* ---- v2.9.3.8 slim breadcrumb + batch control centre ---- */
.scopebar{display:flex;align-items:center;gap:6px;flex-wrap:wrap;padding:5px 12px;margin:0 0 2px;background:linear-gradient(90deg,#f6f2fb,#efe9f7);border-bottom:1px solid #e0d5ee;font-size:12px;color:#4a3a63}
.crumb{display:inline-flex;align-items:center;gap:3px;white-space:nowrap}
.crumb.org{font-weight:800;color:#582c83}
.crumb.sessn{font-weight:600}
.crumb.rbid{font:11px ui-monospace,Consolas,monospace;opacity:.7}
.crumb.mode{font-weight:700}
.csep{opacity:.4;padding:0 1px}
.crumbedit{margin-left:8px;padding:2px 9px;border:1px solid #cbb8e0;border-radius:12px;background:#fff;color:#582c83;cursor:pointer;font-size:11px}
.crumbedit:hover{background:#eaddf7}
.batchgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(0,1fr));gap:12px;margin-bottom:12px}
.batchcard{border:1px solid #e0d5ee;border-radius:12px;padding:14px 16px;background:#fff;box-shadow:0 1px 6px rgba(88,44,131,.07);display:flex;flex-direction:column;gap:7px;min-width:0}
.batchcard.new{background:linear-gradient(135deg,#faf7ff,#f1eafc);border-color:#cbb8e0}
.bch{font-weight:800;font-size:14px;color:#582c83;margin-bottom:2px}
.bigbtn{margin-top:auto;padding:10px 14px;border:none;border-radius:9px;background:linear-gradient(135deg,#582c83,#7b52a8);color:#fff;font-weight:800;font-size:14px;cursor:pointer;box-shadow:0 2px 8px rgba(88,44,131,.25)}
.bigbtn:hover{filter:brightness(1.06)}
.bigbtn.ghost{background:#fff;color:#582c83;border:1px solid #cbb8e0;box-shadow:none}

/* ---- v2.9.3.10 — Setup/config form readability (professional sizing) ---- */
#stBody .frow{display:flex;gap:16px;flex-wrap:wrap;margin-bottom:14px;align-items:flex-end}
#stBody .frow .f{display:flex;flex-direction:column;gap:4px;min-width:0;flex:1 1 200px}
#stBody .frow .f.narrow{flex:0 0 120px}
#stBody .frow .f.adv{flex:1 1 240px}
#stBody .frow label{font-size:13px;font-weight:600;color:#3f3357;line-height:1.35}
#stBody .frow label .hint,#stBody .frow label .flbl{font-weight:400;color:#7a6a90}
#stBody .frow input:not([type=checkbox]),#stBody .frow select,#stBody .frow textarea{padding:9px 11px;font-size:14px;border:1px solid #c7b6e2;border-radius:7px;background:#fff;min-width:0;width:100%;box-sizing:border-box;color:#2c2340}
#stBody .frow textarea{min-height:60px;line-height:1.4}
#stBody .frow select{cursor:pointer;height:38px}
#stBody .frow .inl{flex:0 0 auto;display:inline-flex;align-items:center;gap:6px;font-size:13.5px;color:#3f3357;padding-bottom:8px}
#stBody .frow .inl input[type=checkbox]{width:17px;height:17px}
#stBody .ctrlrow .flbl{font-size:13px;font-weight:700;color:#582c83;align-self:center}
#stBody #ctrlGen,#stBody #ctrlAg{gap:8px}
#stBody .ctrlb{font-size:13px;padding:8px 13px}
#stBody .ph2{font-size:15px;margin-top:4px}
#stBody .chd{font-size:12.5px;line-height:1.5}
.efl span.chd{font-size:12.5px;font-weight:600;color:#4a3a63}
.efl input,.efl select{padding:9px 11px;font-size:14px}

/* ---- v2.9.3.11 — cohesive type & fit polish across all tabs (conservative) ---- */
.vtbl{font-size:13px;min-width:100%;width:auto}
.vtbl th{font-size:11.5px;font-weight:700;color:#4a3a63;white-space:nowrap;padding:9px 10px}
.vtbl td{padding:8px 10px;vertical-align:top;overflow-wrap:break-word}
.vtbl td.chd{font-size:12px}
/* wide tables never clip — they scroll inside their panel */
.panel{overflow-x:auto}
.dcards{gap:12px}
.dcard .dk{font-size:12px;color:#6a5a80;line-height:1.3}
.dcard .dv{font-weight:800}
.ph{font-size:15px;font-weight:800}
.ph2{font-size:14px;font-weight:700}
.chd{line-height:1.5}
/* filter rows on governance/library views read like the setup form */
#stBody .frow .efl{gap:4px}

/* ---- v2.9.3.10b context drawer + stale banner ---- */
.scopedrawer{position:fixed;top:70px;right:14px;width:290px;z-index:900;background:#fff;border:1px solid #cbb8e0;border-radius:12px;box-shadow:0 8px 28px rgba(88,44,131,.25);padding:12px 14px;font-size:13px}
.scopedrawer .sdh{font-weight:800;color:#582c83;display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;border-bottom:1px solid #eee;padding-bottom:6px}
.scopedrawer .sdx{border:none;background:transparent;cursor:pointer;font-size:14px;color:#888}
.sdrow{display:flex;justify-content:space-between;gap:10px;padding:4px 0;border-bottom:1px dotted #eee}
.sdrow .sdk{color:#7a6a90;font-weight:600}
.sdrow .sdv{text-align:right;color:#2c2340;word-break:break-word}
.sdacts{display:flex;flex-direction:column;gap:6px;margin-top:10px}
.stalebanner{margin-bottom:8px}

/* ---- v2.9.3.10c — make the tab description read clearly as an INFORMATIONAL line ---- */
.stage .sh{background:#eef3fb;border-bottom:1px solid #c3d5ee}
.stage .sh::before{background:linear-gradient(#2f6fb0,#4a90d9)}
.stage .sh h2{color:#2f5b8f}
.stage .sh p{color:#3a5678;white-space:normal;overflow:visible;text-overflow:clip;font-style:italic}
.stage .sh p::before{content:"ℹ";font-style:normal;font-weight:800;color:#2f6fb0;margin-right:5px;background:#dbe8f8;border-radius:50%;padding:0 5px;font-size:11px}

/* ---- v2.9.3.10d — density pass: remove excess vertical space, fit more content ---- */
.stage .body{padding:6px 10px 8px}
.panel{padding:8px 11px;resize:none}
.panel.full{margin-bottom:7px}
.panel.full:last-child{margin-bottom:0}
.panel .ph{margin-bottom:4px}
.panel .ph2{margin:2px 0 4px;font-size:13.5px}
.dcard{padding:9px 12px}
.dcards{gap:8px}
.vtbl th{padding:5px 9px}
.vtbl td{padding:4px 9px}
.tabs{margin-bottom:8px}
.recnav{margin-bottom:8px}
.note{margin-top:7px;padding:7px 11px}
.helpbox{margin-bottom:8px;padding:8px 11px}
#stBody .frow{margin-bottom:9px}
.batchcard{padding:10px 13px;gap:6px}
.batchgrid{gap:10px;margin-bottom:10px}
.stagepane{resize:none}
.cfgfoot{margin-top:8px;padding:8px 12px}
.demobtn{padding:9px 13px}

/* ---- v2.9.3.11b — cap Setup field widths (remove wide horizontal gaps) ---- */
#stBody .frow .f{max-width:380px}
#stBody .frow .f.narrow{max-width:150px}
#stBody .frow .f.adv{max-width:420px}
#stBody .frow{justify-content:flex-start}
.demobtn{min-height:54px}
.demobtn .dbs{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:200px}

/* ---- v2.9.3.14 Home ---- */
.homeanchors{display:flex;flex-wrap:wrap;gap:8px;background:#f3eefa;position:sticky;top:0;z-index:5}
.homeanchor{padding:4px 11px;border:1px solid #cbb8e0;border-radius:14px;background:#fff;color:#582c83;font-size:12.5px;font-weight:600;text-decoration:none}
.homeanchor:hover{background:#eaddf7}
.homehero{background:linear-gradient(135deg,#582c83,#7b52a8);color:#fff;border:none}
.herobig{font-size:26px;font-weight:900;line-height:1.15;letter-spacing:.2px}
.herosub{font-size:14.5px;line-height:1.55;margin-top:8px;opacity:.95;max-width:900px}
.herosub b{color:#fff}
.heroctas{display:flex;gap:10px;margin-top:14px;flex-wrap:wrap}
.chainrow{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:6px}
.chainnode{padding:6px 12px;border-radius:8px;background:#eef3fb;border:1px solid #c3d5ee;font-weight:700;font-size:13px;color:#2f5b8f}
.chainarrow{color:#582c83;font-weight:800}
/* ===================== v2.9.3.15 — Home professional design system ===================== */
body.home-active .stage .sh{display:none}
body.home-active .stage .body{padding:0;background:#f6f7fb;overflow-x:hidden}
.hm-root{color:#0f172a;background:#f6f7fb;font-family:-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif}
.hm-root *{box-sizing:border-box}
/* anchors */
.hm-anchors{position:sticky;top:0;z-index:10;display:flex;gap:4px;flex-wrap:wrap;padding:9px 22px;background:rgba(255,255,255,.9);backdrop-filter:blur(8px);border-bottom:1px solid #e7e9f2}
.hm-anchor{padding:6px 13px;border-radius:20px;font-size:12.5px;font-weight:600;color:#5b2c86;text-decoration:none;transition:.15s}
.hm-anchor:hover{background:#efe7fb}
/* hero */
.hm-hero{background:radial-gradient(1100px 420px at 82% -20%,rgba(139,92,246,.6),transparent),linear-gradient(135deg,#3b0764,#5b21b6 55%,#6d28d9);color:#fff;padding:60px 22px 52px}
.hm-hero-in{max-width:1080px;margin:0 auto}
.hm-eyebrow{font-size:11.5px;font-weight:800;letter-spacing:2.5px;opacity:.82}
.hm-h1{font-size:44px;line-height:1.07;font-weight:900;margin:14px 0 0;letter-spacing:-.6px}
.hm-lead{font-size:16.5px;line-height:1.62;max-width:770px;margin:18px 0 0;opacity:.93}
.hm-cta{display:flex;gap:12px;margin-top:26px;flex-wrap:wrap}
.hm-btn{padding:12px 24px;border-radius:11px;font-size:15px;font-weight:700;cursor:pointer;border:none;transition:.15s;font-family:inherit}
.hm-btn.primary{background:#fff;color:#5b21b6;box-shadow:0 10px 26px rgba(0,0,0,.22)}
.hm-btn.primary:hover{transform:translateY(-2px)}
.hm-btn.ghost{background:rgba(255,255,255,.12);color:#fff;border:1px solid rgba(255,255,255,.42)}
.hm-btn.ghost:hover{background:rgba(255,255,255,.22)}
.hm-pillars{display:flex;gap:8px;flex-wrap:wrap;margin-top:30px}
.hm-pill{font-size:12px;font-weight:600;padding:6px 12px;border-radius:20px;background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.26)}
.hm-pill b{color:#c4b5fd}
/* sections */
.hm-sec{max-width:1080px;margin:0 auto;padding:46px 22px}
.hm-sec.alt{max-width:none;background:#fff;border-top:1px solid #eceef5;border-bottom:1px solid #eceef5;padding-left:0;padding-right:0}
.hm-sec.alt>*{max-width:1080px;margin-left:auto;margin-right:auto;padding-left:22px;padding-right:22px}
.hm-h2{font-size:26px;font-weight:800;letter-spacing:-.3px;margin:0 0 24px;color:#0f172a;position:relative;padding-left:15px}
.hm-h2::before{content:"";position:absolute;left:0;top:5px;bottom:5px;width:5px;border-radius:3px;background:linear-gradient(#7c3aed,#14b8a6)}
.hm-h3{font-size:17px;font-weight:800;color:#334155;margin:30px 0 14px}
.hm-note{font-size:12.5px;font-weight:500;color:#94a3b8}
/* cards */
.hm-grid{display:grid;gap:18px}
.hm-grid.g3{grid-template-columns:repeat(auto-fit,minmax(258px,1fr))}
.hm-card{background:#fff;border:1px solid #eceef5;border-radius:16px;padding:22px;box-shadow:0 4px 22px rgba(15,23,42,.05);transition:.16s}
.hm-card:hover{transform:translateY(-3px);box-shadow:0 12px 30px rgba(15,23,42,.10)}
.hm-ic{width:46px;height:46px;border-radius:13px;display:flex;align-items:center;justify-content:center;font-size:22px;margin-bottom:14px}
.hm-ic.tint-a{background:linear-gradient(135deg,#ede9fe,#ddd6fe)}
.hm-ic.tint-b{background:linear-gradient(135deg,#cffafe,#a5f3fc)}
.hm-ic.tint-c{background:linear-gradient(135deg,#e0f2fe,#bae6fd)}
.hm-ct{font-size:16.5px;font-weight:800;color:#0f172a;margin-bottom:7px}
.hm-cb{font-size:13.8px;line-height:1.55;color:#475569}
/* callout + chain */
.hm-callout{background:linear-gradient(135deg,#faf5ff,#f5f3ff);border:1px solid #e9d5ff;border-left:5px solid #7c3aed;border-radius:12px;padding:18px 22px}
.hm-callout p{margin:0;font-size:15px;line-height:1.62;color:#3b3252}
.hm-chain{display:flex;flex-wrap:wrap;align-items:center;gap:9px}
.hm-node{padding:10px 17px;border-radius:11px;background:#fff;border:1px solid #e2e8f0;font-weight:700;font-size:14px;color:#334155;box-shadow:0 2px 8px rgba(15,23,42,.05)}
.hm-node.hot{background:linear-gradient(135deg,#7c3aed,#6d28d9);color:#fff;border-color:transparent}
.hm-arw{color:#a78bda;font-weight:900;font-size:22px}
/* ladder */
.hm-ladder{display:flex;flex-direction:column;gap:10px}
.hm-rung{display:flex;align-items:center;gap:16px;background:#fff;border:1px solid #eceef5;border-radius:12px;padding:12px 16px;box-shadow:0 2px 10px rgba(15,23,42,.04)}
.hm-lvl{width:40px;height:40px;flex:none;border-radius:11px;display:flex;align-items:center;justify-content:center;font-weight:900;font-size:19px;color:#fff}
.hm-rungtxt{flex:1;min-width:0;display:flex;flex-direction:column}
.hm-rungtxt b{font-size:15px;color:#0f172a}
.hm-rungtxt span{font-size:13px;color:#64748b}
.hm-bar{height:9px;border-radius:5px;flex:none}
.hm-rung.l0 .hm-lvl{background:#94a3b8}.hm-rung.l0 .hm-bar{background:#cbd5e1;width:46px}
.hm-rung.l1 .hm-lvl{background:#f59e0b}.hm-rung.l1 .hm-bar{background:#fbbf24;width:82px}
.hm-rung.l2 .hm-lvl{background:#f59e0b}.hm-rung.l2 .hm-bar{background:#fcd34d;width:118px}
.hm-rung.l3 .hm-lvl{background:#0ea5e9}.hm-rung.l3 .hm-bar{background:#38bdf8;width:154px}
.hm-rung.l4 .hm-lvl{background:#14b8a6}.hm-rung.l4 .hm-bar{background:#2dd4bf;width:190px}
.hm-rung.l5 .hm-lvl{background:#10b981}.hm-rung.l5 .hm-bar{background:linear-gradient(90deg,#34d399,#10b981);width:226px}
/* dashboard preview */
.hm-dash{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;background:linear-gradient(135deg,#0f172a,#1e293b);border-radius:18px;padding:24px;box-shadow:0 14px 40px rgba(15,23,42,.25)}
.hm-metric{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);border-radius:13px;padding:16px 18px}
.hm-metric.wide{grid-column:1/-1;background:rgba(124,58,237,.14);border-color:rgba(167,139,250,.35)}
.hm-mk{font-size:11px;color:#94a3b8;text-transform:uppercase;letter-spacing:.6px;font-weight:700;display:block}
.hm-mv{font-size:30px;font-weight:900;color:#fff;display:block;margin:7px 0 2px;line-height:1}
.hm-mv i{font-size:15px;color:#64748b;font-style:normal}
.hm-mv.warn{color:#fbbf24;font-size:23px}
.hm-ms{font-size:12.5px;color:#cbd5e1;display:block}
.hm-ms.good{color:#34d399}
/* steps */
.hm-steps{display:flex;flex-direction:column;gap:12px}
.hm-step{display:flex;gap:16px;align-items:flex-start;background:#fff;border:1px solid #eceef5;border-radius:12px;padding:15px 18px;box-shadow:0 2px 10px rgba(15,23,42,.04)}
.hm-num{width:33px;height:33px;flex:none;border-radius:50%;background:linear-gradient(135deg,#7c3aed,#6d28d9);color:#fff;font-weight:800;display:flex;align-items:center;justify-content:center;font-size:15px}
.hm-step b{display:block;font-size:15px;color:#0f172a;margin-bottom:2px}
.hm-step span{font-size:13.5px;color:#64748b;line-height:1.5}
/* boundary */
.hm-boundary{background:linear-gradient(135deg,#fffbeb,#fef3c7);border:1px solid #fcd34d;border-radius:16px;padding:24px}
.hm-bh{font-size:16px;font-weight:800;color:#92400e;margin-bottom:10px}
.hm-boundary p{font-size:14.5px;line-height:1.62;color:#78350f;margin:0}
@media(max-width:640px){.hm-h1{font-size:32px}.hm-h2{font-size:22px}}

/* ===================== v2.9.3.16 GenAI Setup + Prompt&Controllers cards ===================== */
body.gsetup-active .stage .body{background:#f6f7fb}
.gsc-intro{padding:2px 2px 6px}
.gsc-intro h2{font-size:22px;font-weight:800;color:#0f172a;margin:0;letter-spacing:-.2px}
.gsc-intro p{font-size:13.5px;color:#64748b;margin:6px 0 0;max-width:780px;line-height:1.5}
.gsc-card{background:#fff;border:1px solid #eceef5;border-radius:14px;padding:16px 18px;box-shadow:0 3px 16px rgba(15,23,42,.05);margin-bottom:14px}
.gsc-h{display:flex;align-items:center;gap:12px;margin-bottom:13px}
.gsc-ic{width:40px;height:40px;flex:none;border-radius:11px;display:flex;align-items:center;justify-content:center;font-size:20px;background:linear-gradient(135deg,#ede9fe,#ddd6fe)}
.gsc-session .gsc-ic{background:linear-gradient(135deg,#cffafe,#a5f3fc)}
.gsc-demo .gsc-ic{background:linear-gradient(135deg,#fef3c7,#fde68a)}
.gsc-ht b{display:block;font-size:15.5px;font-weight:800;color:#0f172a}
.gsc-ht span{font-size:12px;color:#94a3b8}
.gsc-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:14px}
.gsc-grid .gsc-card{margin-bottom:0;box-shadow:0 2px 10px rgba(15,23,42,.04)}
.gsc-card .frow{display:flex;flex-wrap:wrap;gap:13px;margin:0}
.gsc-card .frow .f{display:flex;flex-direction:column;gap:4px;flex:1 1 150px;min-width:0;max-width:none}
.gsc-card .frow .f.narrow{flex:0 0 100px}
.gsc-card .frow label{font-size:12px;font-weight:600;color:#475569}
.gsc-card .frow input:not([type=checkbox]),.gsc-card .frow select{padding:9px 11px;font-size:13.5px;border:1px solid #d8dce6;border-radius:8px;background:#fff;width:100%}
.gsc-card .frow .inl{flex:0 0 auto;font-size:13px;color:#475569;align-items:center;padding-bottom:8px}
.gsc-grid2{display:grid;grid-template-columns:1fr 1fr;gap:13px}
.gsc-f{display:flex;flex-direction:column;gap:4px}
.gsc-f span{font-size:12px;font-weight:600;color:#475569}
.gsc-f input{padding:9px 11px;font-size:13.5px;border:1px solid #d8dce6;border-radius:8px;background:#fff}
.gsc-demobar{display:flex;gap:12px;flex-wrap:wrap}
.gsc-demo-b{display:flex;flex-direction:column;align-items:flex-start;gap:2px;min-width:230px;padding:13px 17px;border:none;border-radius:12px;cursor:pointer;color:#fff;text-align:left;transition:.14s}
.gsc-demo-b:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(88,44,131,.28)}
.gsc-demo-b.a{background:linear-gradient(135deg,#6d28d9,#7c3aed)}
.gsc-demo-b.b{background:linear-gradient(135deg,#0d9488,#14b8a6)}
.gsc-demo-b .e{font-size:20px}.gsc-demo-b .t{font-weight:800;font-size:15px}.gsc-demo-b .s{font-size:11px;opacity:.92}
.gsc-note{font-size:12.5px;color:#16a34a;margin-top:8px;font-weight:600}
@media(max-width:620px){.gsc-grid2{grid-template-columns:1fr}}

/* ---- P&C prompt emphasis + controller cards ---- */
.gsc-promptcard{border-color:#c4b5fd;background:linear-gradient(180deg,#faf8ff,#fff)}
.gsc-promptnote{background:#f5f3ff;border:1px solid #ddd6fe;border-radius:9px;padding:11px 13px;font-size:13px;color:#5b21b6;margin-bottom:11px;line-height:1.5}
.gsc-promptcard .frow .f{max-width:none;flex:1}
.gsc-promptcard textarea{width:100%;min-height:90px;font:13px/1.5 ui-monospace,Consolas,monospace;border:1px solid #d8dce6;border-radius:8px;padding:10px;background:#fff}
.gsc-ctrlgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(258px,1fr));gap:12px}
.gsc-ctrlcard{border:1px solid #eceef5;border-radius:12px;padding:13px 15px;background:#fbfcfe}
.gsc-ctrlcard .cc-k{font-weight:800;color:#0f172a;font-size:14.5px}
.gsc-ctrlcard .cc-d{font-size:12.8px;color:#475569;margin-top:3px}
.gsc-ctrlcard .cc-i{font-size:12.8px;color:#334155;margin-top:5px}
.gsc-ctrlcard .cc-s{font-size:11.8px;color:#7c3aed;font-style:italic;margin-top:5px;border-top:1px dashed #ddd6fe;padding-top:5px}
.gsetup-active #ctrlGen{gap:8px;flex-wrap:wrap}
.gsetup-active .ctrlb{padding:9px 14px;border-radius:10px;font-size:13.5px;border:1px solid #cbd5e1;background:#fff;color:#334155;font-weight:600}
.gsetup-active .ctrlb.on{background:linear-gradient(135deg,#6d28d9,#7c3aed);color:#fff;border-color:transparent}
/* ---- Run review ---- */
.rv-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.rv-card{margin-bottom:14px}
.rv-row{display:flex;justify-content:space-between;gap:12px;padding:6px 0;border-bottom:1px dotted #eceef5;font-size:13.5px}
.rv-row:last-child{border-bottom:none}
.rv-k{color:#64748b;font-weight:600}
.rv-v{color:#0f172a;text-align:right;font-weight:600;word-break:break-word}
.rv-edit{margin-left:auto;padding:4px 11px;border:1px solid #cbb8e0;border-radius:16px;background:#fff;color:#5b21b6;cursor:pointer;font-size:12px;font-weight:600;flex:none}
.rv-edit:hover{background:#efe7fb}
.rv-chips{display:flex;flex-wrap:wrap;gap:7px}
.rv-chip{padding:5px 11px;border-radius:16px;background:#ede9fe;color:#5b21b6;font-size:12.5px;font-weight:600}
.rv-chip.soft{background:#f1f5f9;color:#475569}.rv-chip.warn{background:#fef2f2;color:#b91c1c}
.rv-prompt{background:#0f172a;color:#e2e8f0;border-radius:10px;padding:14px 16px;font:12.5px/1.6 ui-monospace,Consolas,monospace;white-space:pre-wrap;margin:0;max-height:180px;overflow:auto}
.rv-action{border:1px solid #ddd6fe;background:linear-gradient(135deg,#faf8ff,#fff)}
.rv-actrow{display:flex;align-items:center;gap:16px;justify-content:space-between;flex-wrap:wrap}
.rv-actrow b{font-size:16px;color:#0f172a}
.rv-runbtn{padding:13px 26px;border:none;border-radius:11px;background:linear-gradient(135deg,#6d28d9,#7c3aed);color:#fff;font-weight:800;font-size:15px;cursor:pointer;box-shadow:0 8px 22px rgba(109,40,217,.3)}
.rv-runbtn:hover{transform:translateY(-2px)}
.rv-console{margin-top:12px}
@media(max-width:760px){.rv-grid{grid-template-columns:1fr}}

/* ---- v2.9.3.16b — P&C: full-width prompt + tighter vertical rhythm ---- */
.gsc-promptcard .frow{display:block;width:100%;margin:0}
#stBody .gsc-promptcard .frow .f{display:block;width:100%!important;max-width:none!important;flex:none!important}
.gsc-promptcard .frow .f label{display:block;margin-bottom:5px;font-weight:700}
#stBody .gsc-promptcard textarea{display:block;width:100%!important;box-sizing:border-box;min-height:78px;resize:vertical}
/* remove excess vertical space on the setup/controllers/run pages */
body.gsetup-active .gsc-intro{padding:0 2px 2px}
body.gsetup-active .gsc-intro h2{margin:0;font-size:20px}
body.gsetup-active .gsc-intro p{margin:3px 0 0}
body.gsetup-active .gsc-card{margin-bottom:10px;padding:13px 16px}
body.gsetup-active .gsc-h{margin-bottom:8px}
body.gsetup-active .gsc-promptnote{margin:0 0 9px;padding:9px 12px}
body.gsetup-active .gsc-ctrlgrid{gap:10px}
body.gsetup-active .gsc-ctrlcard{padding:11px 13px}
body.gsetup-active .rv-card{margin-bottom:11px}
body.gsetup-active .stage .body{padding:8px 12px}

/* ---- v2.9.3.16 RAIDT Score redesign ---- */
.sc-hero{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin-bottom:12px}
.sc-metric{background:#fff;border:1px solid #eceef5;border-radius:13px;padding:14px 16px;box-shadow:0 3px 14px rgba(15,23,42,.05)}
.sc-mk{font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:#94a3b8;font-weight:700;display:block}
.sc-mv{font-size:24px;font-weight:900;color:#0f172a;display:block;margin:5px 0 2px;line-height:1.1}
.sc-mv i{font-size:14px;color:#94a3b8;font-style:normal}
.sc-mv.warn{color:#dc2626;font-size:19px}
.sc-ms{font-size:12px;color:#64748b}
.sc-sess{background:#f3eefa;border:1px solid #e0d5ee;border-radius:9px;padding:8px 13px;font-size:12.5px;color:#4a3a63;margin-bottom:12px}
.sc-sess code{font-size:11.5px}.sc-demo{color:#92400e}
.sc-nav{display:flex;align-items:center;gap:4px;margin-left:auto}
.sc-nav button{width:32px;height:32px;border:1px solid #cbb8e0;border-radius:8px;background:#fff;color:#5b21b6;cursor:pointer;font-size:16px;font-weight:800;line-height:1}
.sc-nav button:hover:not(:disabled){background:#efe7fb}
.sc-nav button:disabled{opacity:.35;cursor:default}
.sc-navlbl{font-weight:800;color:#0f172a;font-size:14px;padding:0 8px;white-space:nowrap}
.sc-navlbl small{color:#94a3b8;font-weight:600}
.sc-profile{border:2px solid #ddd6fe}
.sc-scroll{overflow-x:auto;width:100%;-webkit-overflow-scrolling:touch}
.sc-tbl{min-width:100%;width:auto;margin:0}
.sc-tbl th{white-space:nowrap;font-size:11.5px}
.sc-clab{font-weight:600;white-space:nowrap}
.sc-rec{cursor:pointer;font-weight:700;color:#5b21b6}
.sc-cell{text-align:center;cursor:pointer;font-weight:600}
.sc-selrow>td:first-child{box-shadow:inset 3px 0 #7c3aed}
.sc-delta{color:#64748b}

/* ---- v2.9.3.16c — recnav on the Stage header line + Advice export toolbar ---- */
.stage .sh .recnav{margin-left:auto;flex:none;display:flex;align-items:center}
.stage .sh .recnav.hidden{display:none}
.stage .sh .recmid{display:flex;align-items:center;gap:3px}
.stage .sh .recnav button{width:30px;height:30px;border:1px solid #cbb8e0;border-radius:7px;background:#fff;color:#5b21b6;cursor:pointer;font-size:15px;font-weight:800;line-height:1;padding:0}
.stage .sh .recnav button:hover:not(:disabled){background:#efe7fb}
.stage .sh .recnav button:disabled{opacity:.35}
.stage .sh .recnav #recNum{width:46px;text-align:center;padding:5px;border:1px solid #cbb8e0;border-radius:7px;font-weight:700}
.recs-exportbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;background:#f6f2fb;border:1px solid #e0d5ee;border-radius:12px;padding:11px 14px;margin-bottom:14px}
.recs-exlbl{font-weight:800;color:#5b21b6;font-size:13.5px}
.recs-exportbar .expgrp{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.recs-exportbar .expb{padding:8px 13px;border:1px solid #cbb8e0;border-radius:9px;background:#fff;color:#5b21b6;font-weight:700;font-size:13px;cursor:pointer}
.recs-exportbar .expb:hover{background:#efe7fb}
.recs-exportbar .expgl{font-weight:700;color:#334155;font-size:13px}

/* ---- v2.9.3.16d — Monitor per-row download buttons ---- */
.rme-dl{white-space:nowrap}
.rme-b{padding:3px 8px;margin:1px;border:1px solid #cbb8e0;border-radius:7px;background:#fff;color:#5b21b6;font-size:11px;font-weight:700;cursor:pointer}
.rme-b:hover{background:#efe7fb}

/* ---- v2.9.3.16e — compact stage navigator (one line, no widening) + Evidence/Advice cards ---- */
.stage .sh .recnav{margin-left:auto;flex:none;white-space:nowrap}
.stage .sh .recnav .recmid{display:flex;align-items:center;gap:2px;flex-wrap:nowrap}
.stage .sh .recnav button{width:24px;height:24px;font-size:12px;border-radius:6px;padding:0;line-height:1}
.stage .sh .recnav #recNum{width:38px;padding:3px 4px;font-size:12px;height:24px}
.stage .sh h2{flex:none}
.stage .sh p{flex:1 1 auto;min-width:60px}
/* Evidence & Advice: card-style panels to match the GenAI design system */
body.gsetup-active .stage .body{background:#f6f7fb}
body.gsetup-active .panel{border:1px solid #eceef5;border-radius:14px;box-shadow:0 3px 16px rgba(15,23,42,.05);background:#fff;margin-bottom:12px;padding:15px 18px}
body.gsetup-active .panel.full{margin-bottom:12px}
body.gsetup-active .panel .ph{color:#0f172a;font-size:16px;font-weight:800}
body.gsetup-active .panel .ph2{color:#334155;font-weight:700}
body.gsetup-active .recs-exportbar{margin-bottom:14px}
body.gsetup-active .guidewrap .helpbox{border-radius:12px;border:1px solid #ddd6fe;background:#f5f3ff;color:#4a3a63}

/* ---- v2.9.3.16f — remove the accent bar before the Stage title ---- */
.stage .sh::before{display:none !important}
.stage .sh{padding-left:16px}

/* ---- v2.9.3.17 crosswalk ---- */
.cw-ev{font-weight:400;font-size:11.5px;color:#64748b;margin-top:3px;line-height:1.4}
