:root{
  --ground:#EDF0F5; --surface:#fff; --surface-2:#F5F7FA;
  --ink:#131C2B; --muted:#5E6B7E; --faint:#8794A6;
  --rule:#D5DBE4; --rule-soft:#E4E9EF;
  --go:#00786C; --go-bg:#DBEFEC; --nogo:#A01E96; --nogo-bg:#F3DFF2;
  --warn:#9A6100; --warn-bg:#F7EBD5; --crit:#A32A2A; --crit-bg:#F6DEDE;
  --mono: ui-monospace,"SF Mono",SFMono-Regular,Menlo,Consolas,monospace;
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    --ground:#0E141C; --surface:#161F2B; --surface-2:#1B2634;
    --ink:#E3E9F1; --muted:#8D9BAE; --faint:#6C7A8D;
    --rule:#27323F; --rule-soft:#1F2937;
    --go:#35D6C0; --go-bg:#10312F; --nogo:#EE73E0; --nogo-bg:#351033;
    --warn:#E5A93A; --warn-bg:#33260E; --crit:#F0736F; --crit-bg:#35191A;
  }
}
*{box-sizing:border-box}
body{margin:0;background:var(--ground);color:var(--ink);
  font:15px/1.55 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
  -webkit-font-smoothing:antialiased}
.wrap{max-width:980px;margin:0 auto;padding:20px 16px 64px}
header{display:flex;flex-wrap:wrap;gap:12px;align-items:baseline;justify-content:space-between;
  padding-bottom:14px;border-bottom:2px solid var(--ink);margin-bottom:20px}
h1{font-family:var(--mono);font-size:1.15rem;font-weight:600;margin:0}
h1 a{color:inherit;text-decoration:none}
.sub{font-family:var(--mono);font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
nav a{font-family:var(--mono);font-size:.72rem;color:var(--muted);text-decoration:none;margin-right:12px}
nav a:hover,nav a.on{color:var(--ink)}
button{font:inherit;font-size:.85rem;padding:.45em .9em;border-radius:5px;border:1px solid var(--rule);
  background:var(--surface);color:var(--ink);cursor:pointer;margin-left:6px}
button:hover{border-color:var(--muted)}
button.primary{background:var(--ink);color:var(--ground);border-color:var(--ink)}
button.ok{background:var(--go-bg);color:var(--go);border-color:var(--go)}
button.no{background:var(--crit-bg);color:var(--crit);border-color:var(--crit)}
button:disabled{opacity:.5;cursor:not-allowed}
.banner{border-left:3px solid var(--warn);background:var(--warn-bg);
  padding:12px 16px;border-radius:0 4px 4px 0;margin-bottom:18px;font-size:.9rem}
.banner.err{border-left-color:var(--crit);background:var(--crit-bg)}
.banner.ok{border-left-color:var(--go);background:var(--go-bg)}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin-bottom:20px}
.card{background:var(--surface);border:1px solid var(--rule);border-radius:6px;padding:12px 14px}
.card .k{font-family:var(--mono);font-size:.63rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.card .v{font-family:var(--mono);font-size:1.4rem;font-weight:600;margin-top:3px;font-variant-numeric:tabular-nums}
.card .v.sm{font-size:.85rem;font-weight:500;line-height:1.4}
.tablewrap{overflow-x:auto;background:var(--surface);border:1px solid var(--rule);border-radius:6px}
table{border-collapse:collapse;width:100%;font-size:.85rem}
th,td{text-align:left;padding:9px 12px;border-bottom:1px solid var(--rule-soft);white-space:nowrap;vertical-align:top}
th{font-family:var(--mono);font-size:.63rem;letter-spacing:.09em;text-transform:uppercase;
  color:var(--muted);background:var(--surface-2)}
tbody tr:last-child td{border-bottom:none}
td.mono{font-family:var(--mono);font-size:.78rem;font-variant-numeric:tabular-nums}
.tag{font-family:var(--mono);font-size:.66rem;padding:.2em .5em;border-radius:3px}
.tag.go,.tag.ok,.tag.approved{background:var(--go-bg);color:var(--go)}
.tag.nogo{background:var(--nogo-bg);color:var(--nogo)}
.tag.rej,.tag.pending{background:var(--warn-bg);color:var(--warn)}
.tag.err,.tag.denied{background:var(--crit-bg);color:var(--crit)}
.empty{padding:40px 20px;text-align:center;color:var(--muted);font-size:.9rem}
.gate{text-align:center;padding:56px 20px}
.gate p{max-width:46ch;margin:0 auto 14px}
footer{margin-top:26px;padding-top:16px;border-top:1px solid var(--rule);
  font-size:.75rem;color:var(--faint);line-height:1.6}
.hidden{display:none}
