:root{
  color-scheme:dark;
  --bg:#080d19;--panel:#111a2b;--panel2:#172237;--line:#263653;
  --text:#edf3ff;--muted:#96a7c2;--cyan:#55d6be;--blue:#7aa7ff;
  --amber:#ffc857;--red:#ff6b7a;--green:#57d68d;
}
*{box-sizing:border-box}
body{margin:0;min-height:100vh;background:
  radial-gradient(circle at 85% -10%,#17365a 0,transparent 35%),
  linear-gradient(180deg,#080d19,#0b1220 55%,#080d19);
  color:var(--text);font:15px/1.45 ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
header{position:sticky;top:0;z-index:10;display:flex;justify-content:space-between;align-items:center;
  padding:max(1rem,env(safe-area-inset-top)) 1.1rem .8rem;background:#080d19dd;
  border-bottom:1px solid #1b2941;backdrop-filter:blur(16px)}
h1,h2,h3,p{margin-top:0}h1{font-size:1.5rem;margin-bottom:0;letter-spacing:-.03em}
h2{font-size:1.15rem;margin-bottom:.35rem}h3{font-size:1rem;margin-bottom:.35rem}
.eyebrow{font-size:.68rem;letter-spacing:.16em;color:var(--cyan);font-weight:800;margin-bottom:.15rem}
main{width:min(900px,100%);margin:auto;padding:1rem 1rem calc(3rem + env(safe-area-inset-bottom))}
.panel{background:linear-gradient(145deg,var(--panel),#0e1727);border:1px solid var(--line);
  border-radius:18px;padding:1.1rem;margin-bottom:1rem;box-shadow:0 12px 36px #0004}
.centered{text-align:center;padding:2rem 1.2rem;margin-top:10vh}.centered p{color:var(--muted)}
.shield{display:grid;place-items:center;width:54px;height:54px;margin:0 auto 1rem;border-radius:16px;
  background:#18374a;color:var(--cyan);font-size:1.5rem;box-shadow:inset 0 0 0 1px #55d6be55}
label{display:block;text-align:left;color:var(--muted);margin:1.2rem 0 .6rem}
input,textarea{width:100%;margin-top:.4rem;padding:.85rem;border:1px solid var(--line);border-radius:12px;
  background:#09111f;color:var(--text);font:inherit}
button{border:0;border-radius:12px;padding:.72rem .9rem;background:var(--panel2);color:var(--text);
  font:700 .9rem/1 inherit;cursor:pointer}
button:disabled{opacity:.45}.primary{width:100%;background:linear-gradient(135deg,#3ba993,var(--cyan));color:#04120f}
.ghost{background:transparent;border:1px solid var(--line)}.danger{background:#5c1e2a;color:#ffdbe0}
.approve{background:#174a37;color:#c9ffe3}.deny{background:#4a1e28;color:#ffd5dc}
.secondary{background:#263651}.fine{font-size:.78rem!important;margin-top:.8rem!important}
.status-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:.5rem;margin-bottom:1rem}
.status-strip div{padding:.8rem .35rem;background:#101a2b;border:1px solid var(--line);border-radius:14px;text-align:center}
.status-strip span{display:block;font-size:1.25rem;font-weight:800}.status-strip small{color:var(--muted);font-size:.67rem}
.danger-panel{display:flex;align-items:center;justify-content:space-between;gap:1rem;border-color:#6a2d37}
.danger-panel p{color:var(--muted);margin-bottom:0}.paused{border-color:var(--red);box-shadow:0 0 0 1px #ff6b7a44}
nav{position:sticky;top:75px;z-index:8;display:grid;grid-template-columns:repeat(4,1fr);padding:.35rem;
  margin:0 0 1rem;background:#0c1422ee;border:1px solid var(--line);border-radius:14px;backdrop-filter:blur(12px)}
.tab{padding:.65rem .2rem;background:transparent;color:var(--muted);font-size:.76rem}.tab.active{background:#20304b;color:var(--text)}
.card{padding:1rem;margin-bottom:.75rem;border:1px solid var(--line);border-radius:16px;background:var(--panel)}
.card-head{display:flex;justify-content:space-between;gap:.75rem;align-items:flex-start}.card p{color:var(--muted);margin-bottom:.65rem}
.badge{display:inline-block;padding:.25rem .45rem;border-radius:999px;background:#243552;color:#cfe0ff;font-size:.68rem;font-weight:800}
.badge.trusted{background:#174a37;color:#aef5cc}.badge.applied{background:#4d3b18;color:#ffe099}
.badge.probation{background:#193d59;color:#baddff}.badge.suspended,.badge.revoked{background:#541e2a;color:#ffd1d8}
.meta{display:grid;grid-template-columns:1fr 1fr;gap:.35rem;font-size:.78rem;margin:.7rem 0;color:var(--muted)}
.actions{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:.85rem}.actions button{flex:1;min-width:90px}
a{color:var(--blue);word-break:break-all}code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}
.empty{text-align:center;color:var(--muted);padding:2.5rem 1rem}.hidden{display:none!important}
.spinner{width:28px;height:28px;margin:auto;border:3px solid #2a3b59;border-top-color:var(--cyan);border-radius:50%;animation:spin .8s linear infinite}
#toast{position:fixed;left:1rem;right:1rem;bottom:calc(1rem + env(safe-area-inset-bottom));z-index:30;
  max-width:600px;margin:auto;padding:.85rem 1rem;border-radius:12px;background:#e7f5ff;color:#0b1624;
  font-weight:700;transform:translateY(140%);transition:.25s}
#toast.show{transform:translateY(0)}#toast.error{background:#ffd6dc;color:#391018}
@keyframes spin{to{transform:rotate(360deg)}}
@media(max-width:600px){.danger-panel{align-items:flex-start;flex-direction:column}.danger-panel button{width:100%}.meta{grid-template-columns:1fr}}
