/* Same look as CyberAssist and CyberWeb. No inline styles or scripts, so the CSP can stay 'self'. */
:root{--ground:#f6f6f2;--panel:#fff;--sunk:#f0f0eb;--ink:#191d1b;--muted:#5d6561;--rule:#e4e4de;--strong:#cbcec7;--accent:#0a6a8a;--accentbg:#e6f2f6;--onaccent:#fff;--bad:#b3261e;--badbg:#fbebe9;--warn:#855600;--warnbg:#fbf2df;--ok:#22683f;--okbg:#e5f2ea;--r:10px;--lift:0 1px 2px rgba(20,28,24,.05)}
@media (prefers-color-scheme:dark){:root{--ground:#14181a;--panel:#1c2124;--sunk:#252b2e;--ink:#e9ecea;--muted:#a0a9a4;--rule:#2d3438;--strong:#434c50;--accent:#5cc0e0;--accentbg:#17303a;--onaccent:#08222b;--bad:#f09a8f;--badbg:#3b2220;--warn:#e6bd66;--warnbg:#352c18;--ok:#84cc9c;--okbg:#1c3226;--lift:none}}
*{box-sizing:border-box}[hidden]{display:none!important}
body{margin:0;background:var(--ground);color:var(--ink);font:15px/1.55 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased}
header{background:var(--panel);border-bottom:1px solid var(--rule);padding:0 24px;min-height:52px;display:flex;gap:4px 20px;flex-wrap:wrap;align-items:center}
header a{color:var(--muted);text-decoration:none;font-size:14px}header a:hover,header .brand{color:var(--ink)}header b{letter-spacing:.08em;font-size:13px}header form{margin-left:auto}header button{padding:5px 10px;font-size:13px}
main{max-width:1200px;margin:0 auto;padding:28px 24px 72px}
h1{font-size:26px;line-height:1.2;letter-spacing:-.012em;margin:0;font-weight:650;overflow-wrap:anywhere}h2{font-size:16px;margin:0 0 12px;font-weight:650}h3{font-size:14px;margin:10px 0 6px;font-weight:650}
.gap{margin-top:28px}.gap-s{margin-top:16px}.narrow{max-width:520px}
.head{margin-bottom:24px}.head .sub{color:var(--muted);margin-top:4px;overflow-wrap:anywhere}.head .pills{margin-top:10px}
.back{font-size:13px;display:inline-block;margin-bottom:10px;text-decoration:none}.back:before{content:"\2190  "}
.layout{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:36px;align-items:start}.layout>*{min-width:0}
.card{background:var(--panel);border:1px solid var(--rule);border-radius:var(--r);box-shadow:var(--lift);padding:16px 18px;margin:0 0 14px}.card>:last-child{margin-bottom:0}
.card.decision{background:var(--accentbg);border-color:transparent;box-shadow:none}.card.alert{background:var(--badbg);color:var(--bad);border-color:transparent}.card.ok{background:var(--okbg);color:var(--ok);border-color:transparent}
.queue{background:var(--panel);border:1px solid var(--rule);border-radius:var(--r);box-shadow:var(--lift);overflow:hidden}
.item{display:grid;gap:2px;padding:12px 18px;border-bottom:1px solid var(--rule);color:var(--ink);text-decoration:none}.item:last-child{border-bottom:0}.item:hover{background:var(--sunk)}.item .who{font-weight:650;overflow-wrap:anywhere}.item .also{font-size:13px;color:var(--muted)}
.pill{display:inline-block;font-size:12px;font-weight:550;line-height:1.5;padding:1px 9px;margin:0 4px 4px 0;border-radius:999px;background:var(--sunk);color:var(--muted);white-space:nowrap}
.pill.bad,.pill.sev-high{background:var(--badbg);color:var(--bad)}.pill.warn,.pill.sev-medium{background:var(--warnbg);color:var(--warn)}.pill.ok,.pill.sev-pass{background:var(--okbg);color:var(--ok)}.pill.info,.pill.sev-low{background:var(--accentbg);color:var(--accent)}
.facts{display:grid;grid-template-columns:auto minmax(0,1fr);gap:5px 14px;margin:0;font-size:14px}.facts dt{color:var(--muted)}.facts dd{margin:0;overflow-wrap:anywhere}
code{font:13px/1.4 ui-monospace,SFMono-Regular,Menlo,monospace;background:var(--sunk);padding:1px 5px;border-radius:5px;overflow-wrap:anywhere}
a{color:var(--accent)}
input,select{font:inherit;color:var(--ink);background:var(--panel);border:1px solid var(--strong);border-radius:8px;padding:8px 10px;width:100%}
input[type=checkbox]{width:auto;accent-color:var(--accent);margin-top:3px}
label{display:block;margin:12px 0 4px;font-size:13px;color:var(--muted)}label.check{display:flex;gap:8px;align-items:flex-start;color:var(--ink);font-size:14px}
button,.btn{font:inherit;font-size:14px;font-weight:600;background:var(--accent);color:var(--onaccent);border:1px solid var(--accent);border-radius:8px;padding:8px 14px;cursor:pointer;text-decoration:none;display:inline-block}
button:hover,.btn:hover{filter:brightness(1.08)}button:disabled{opacity:.6;cursor:wait}
.btn,button.ghost{background:transparent;color:var(--ink);border-color:var(--strong)}.btn:hover,button.ghost:hover{background:var(--sunk);filter:none}
.actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px;align-items:center}
.muted{color:var(--muted);font-size:13px}.err{color:var(--bad)}.warnline{color:var(--warn);margin-top:12px}
.toolbar{display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap;margin-bottom:16px}
.filters{display:flex;gap:4px;font-size:14px}.filters a{text-decoration:none;color:var(--muted);padding:5px 11px;border-radius:999px}.filters a:hover{background:var(--sunk);color:var(--ink)}.filters a[aria-current]{background:var(--ink);color:var(--ground);font-weight:600}
details.fold{background:var(--panel);border:1px solid var(--rule);border-radius:var(--r);margin-bottom:8px}
details.fold.sev-high{box-shadow:inset 3px 0 0 var(--bad)}details.fold.sev-medium{box-shadow:inset 3px 0 0 var(--warn)}
details.fold>summary{padding:11px 16px;cursor:pointer;font-weight:600;font-size:14px;display:flex;gap:8px;align-items:center;flex-wrap:wrap;list-style:none}details.fold>summary::-webkit-details-marker{display:none}
details.fold>summary .pill{margin:0}details.fold>summary .end{margin-left:auto;color:var(--muted);font-weight:400;font-size:12px}
details.fold>.in{padding:12px 16px 14px;border-top:1px solid var(--rule)}details.fold>.in p{margin:0 0 8px}
pre.evidence{white-space:pre-wrap;word-break:break-word;font:13px/1.45 ui-monospace,SFMono-Regular,Menlo,monospace;background:var(--sunk);padding:8px 10px;border-radius:8px;margin:0}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
@media (max-width:900px){main{padding:18px 16px 48px}header{padding:8px 16px}.layout{grid-template-columns:minmax(0,1fr);gap:8px}}
textarea { width: 100%; font: inherit; color: var(--ink); background: var(--panel); border: 1px solid var(--strong); border-radius: 8px; padding: 8px; }
progress { width: 100%; height: 12px; accent-color: var(--accent); }
.table-wrap { overflow-x: auto; margin-top: 1rem; }
table { width: 100%; border-collapse: collapse; font-size: .9rem; }
th, td { text-align: left; padding: .65rem; border-bottom: 1px solid var(--rule); vertical-align: top; overflow-wrap: anywhere; }
.pill.sev-critical { background: var(--badbg); color: var(--bad); }
details.fold.sev-critical { box-shadow: inset 3px 0 0 var(--bad); }
section.card { margin-bottom: 1.25rem; }
@media print { .toolbar, form, .back { display: none; } details { break-inside: avoid; } }
