:root{--bg:#0f1115;--panel:#171a21;--panel2:#1e222b;--line:#2a2f3a;--tx:#e6e9ef;--dim:#9aa3b2;
--ok:#3fb950;--warn:#d29922;--bad:#f85149;--info:#58a6ff;--r:10px}
@media(prefers-color-scheme:light){:root{--bg:#f6f7f9;--panel:#fff;--panel2:#f0f2f5;--line:#d8dee6;--tx:#1a1d23;--dim:#5b6470}}
*{box-sizing:border-box;margin:0;padding:0}
body{background:var(--bg);color:var(--tx);font:15px/1.55 -apple-system,BlinkMacSystemFont,"Segoe UI",system-ui,sans-serif;-webkit-text-size-adjust:100%}
header{position:sticky;top:0;z-index:20;background:var(--panel);border-bottom:1px solid var(--line);padding:10px 14px;display:flex;align-items:center;gap:10px;flex-wrap:wrap}
h1{font-size:15px;font-weight:650;white-space:nowrap}
.badge{font-size:11px;padding:3px 8px;border-radius:99px;background:var(--panel2);border:1px solid var(--line);white-space:nowrap}
nav{display:flex;gap:6px;overflow-x:auto;padding:8px 14px;background:var(--panel2);border-bottom:1px solid var(--line);-webkit-overflow-scrolling:touch}
nav button{flex:0 0 auto;background:transparent;border:1px solid var(--line);color:var(--dim);padding:7px 12px;border-radius:99px;font-size:13px;cursor:pointer;white-space:nowrap}
nav button.on{background:var(--info);border-color:var(--info);color:#fff;font-weight:600}
main{padding:14px;max-width:1400px;margin:0 auto}
.grid{display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(230px,1fr))}
.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);padding:14px}
.card h3{font-size:12px;color:var(--dim);font-weight:600;text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px}
.big{font-size:30px;font-weight:700;line-height:1.1}
.sub{font-size:12px;color:var(--dim);margin-top:4px}
section{margin-bottom:22px}
section>h2{font-size:17px;margin-bottom:10px;font-weight:650}
table{width:100%;border-collapse:collapse;font-size:13px}
th,td{text-align:left;padding:8px 10px;border-bottom:1px solid var(--line);vertical-align:top}
th{color:var(--dim);font-size:11px;text-transform:uppercase;letter-spacing:.4px;font-weight:600}
.tblwrap{overflow-x:auto;background:var(--panel);border:1px solid var(--line);border-radius:var(--r)}
.s{font-size:11px;padding:2px 7px;border-radius:5px;font-weight:600;white-space:nowrap;display:inline-block}
.s-VERIFIED,.s-APPROVED,.s-APPROVED_FOR_USE,.s-CONNECTED,.s-PASS{background:rgba(63,185,80,.16);color:var(--ok)}
.s-USER_CONFIRMED,.s-BASELINE_APPROVED_POSITIONING{background:rgba(88,166,255,.16);color:var(--info)}
.s-HYPOTHESIS,.s-DRAFT,.s-NEEDS_REVIEW,.s-RETRY_SCHEDULED,.s-WAITING_FOR_USER_ACCESS{background:rgba(210,153,34,.16);color:var(--warn)}
.s-UNVERIFIED,.s-MISSING_SOURCE,.s-UNDECIDED,.s-NEEDS_SOURCE,.s-NOT_CONNECTED,.s-DEFERRED{background:rgba(154,163,178,.16);color:var(--dim)}
.s-REJECTED_UNVERIFIED,.s-BLOCKED,.s-BLOCKED_PENDING_SOURCE,.s-BLOCKED_BY_CLAIM_EVIDENCE,.s-SAFETY_ESCALATION,.s-FAIL{background:rgba(248,81,73,.16);color:var(--bad)}
.s-TRAINING_SCENARIO{background:rgba(188,140,255,.16);color:#bc8cff}
.s-SYNTHETIC_TEST_DATA{background:rgba(255,166,87,.16);color:#ffa657}
.kan{display:flex;gap:10px;overflow-x:auto;padding-bottom:10px;-webkit-overflow-scrolling:touch}
.col{flex:0 0 200px;background:var(--panel);border:1px solid var(--line);border-radius:var(--r);padding:10px}
.col.gate{border-color:var(--warn);border-width:2px}
.col h4{font-size:11px;color:var(--dim);margin-bottom:8px;text-transform:uppercase;letter-spacing:.4px}
.tick{background:var(--panel2);border:1px solid var(--line);border-radius:7px;padding:9px;margin-bottom:7px;font-size:13px}
.lock{font-size:10px;color:var(--warn);margin-top:6px}
.alert{background:rgba(248,81,73,.1);border:1px solid var(--bad);border-radius:var(--r);padding:12px;margin-bottom:12px;font-size:13px}
.info{background:rgba(88,166,255,.08);border:1px solid var(--info);border-radius:var(--r);padding:12px;margin-bottom:12px;font-size:13px}
.warnbox{background:rgba(210,153,34,.1);border:1px solid var(--warn);border-radius:var(--r);padding:12px;margin-bottom:12px;font-size:13px}
button.act{background:var(--info);color:#fff;border:0;padding:9px 15px;border-radius:7px;font-size:13px;cursor:pointer;font-weight:600}
button.act:hover{opacity:.9}
button.gh{background:var(--panel2);color:var(--tx);border:1px solid var(--line)}
textarea,select,input{width:100%;background:var(--panel2);border:1px solid var(--line);color:var(--tx);border-radius:7px;padding:9px;font:13px/1.5 ui-monospace,SFMono-Regular,Menlo,monospace}
textarea{min-height:130px;resize:vertical}
label{display:block;font-size:12px;color:var(--dim);margin:10px 0 5px;font-weight:600}
.row{display:flex;gap:9px;flex-wrap:wrap;margin-top:10px}
#tp{position:fixed;inset:0;background:#000;color:#fff;z-index:99;display:none;flex-direction:column}
#tp.on{display:flex}
#tpbar{padding:9px;background:#111;display:flex;gap:9px;align-items:center;flex-wrap:wrap;font-size:12px;border-bottom:1px solid #333}
#tpbar button{background:#222;color:#fff;border:1px solid #444;padding:7px 12px;border-radius:6px;cursor:pointer;font-size:13px}
#tptext{flex:1;overflow-y:auto;padding:40px 22px;font-size:34px;line-height:1.75;text-align:center;white-space:pre-wrap}
#tpwarn{background:#5a1a1a;color:#ffb3b3;padding:9px;font-size:13px;text-align:center}
.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}
.hide{display:none}
@media(max-width:700px){main{padding:10px}.grid{grid-template-columns:1fr 1fr}.big{font-size:24px}
 .col{flex:0 0 165px}#tptext{font-size:25px;padding:22px 14px}h1{font-size:13px}}
@media(max-width:420px){.grid{grid-template-columns:1fr}}

.readonly{background:rgba(210,153,34,.1);border:1px solid var(--warn);border-radius:var(--r);
  padding:12px 14px;margin-bottom:14px;font-size:13px;display:flex;gap:10px;align-items:flex-start}
.readonly b{color:var(--warn)}
