:root{
  --bg:#0a0e14; --panel:#121820; --panel2:#0e141c; --line:#1f2a36;
  --ink:#e6edf3; --dim:#8b98a5; --accent:#3b82f6; --accent2:#2563eb;
  --danger:#f87171; --ok:#34d399; --warn:#fbbf24;
}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);
  font:15px/1.55 -apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif}
a{color:var(--accent);text-decoration:none}
a:hover{text-decoration:underline}
.topbar{display:flex;justify-content:space-between;align-items:center;
  padding:14px 22px;background:var(--panel2);border-bottom:1px solid var(--line)}
.brand{display:flex;align-items:center;gap:11px;font-weight:700;letter-spacing:.3px;font-size:18px;text-decoration:none;color:var(--ink)}
.brand:hover{text-decoration:none}
.wordmark{display:flex;flex-direction:column;line-height:1.05;font-family:Orbitron,'Segoe UI',sans-serif;letter-spacing:1px}
.wm-top{white-space:nowrap;font-size:18px;font-weight:800;color:#fff}
.wordmark b{background:linear-gradient(90deg,#00D9FF,#1E6BFF,#742BFF);-webkit-background-clip:text;background-clip:text;color:transparent;font-weight:800}
.wordmark small{color:var(--dim);font-weight:400;font-size:10px;letter-spacing:3px;text-transform:uppercase;margin-top:2px;font-family:'Segoe UI',sans-serif}
.logo{display:block;width:34px;height:34px;flex:none}
.logo-old{display:inline-block;width:16px;height:16px;border-radius:50%;
  background:radial-gradient(circle at 60% 35%,#1b2630 0 40%,var(--accent) 42% 52%,#060a0f 55%);
  box-shadow:0 0 10px rgba(45,212,191,.5);vertical-align:-2px;margin-right:6px}
nav{display:flex;gap:18px;align-items:center}
nav .inline{display:inline}
button.link{background:none;border:0;color:var(--dim);cursor:pointer;font:inherit}
button.link:hover{color:var(--ink)}
main{max-width:920px;margin:28px auto;padding:0 18px}
footer{max-width:920px;margin:40px auto;padding:18px;color:var(--dim);
  border-top:1px solid var(--line);font-size:13px}
h1{font-size:26px;margin:.2em 0 .5em}
h2{font-size:15px;text-transform:uppercase;letter-spacing:.6px;color:var(--dim);
  margin:1.4em 0 .6em;border-bottom:1px solid var(--line);padding-bottom:6px}
.lead{color:var(--dim);max-width:62ch}
.hint{color:var(--dim);font-size:13px;margin:.2em 0 .8em}
.card{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:22px;margin:16px 0}
.card.narrow{max-width:380px;margin:40px auto}
.card.center{text-align:center}
.narrow label,.card label{display:block;margin:10px 0}
input,textarea,select{width:100%;padding:10px 12px;background:var(--panel2);
  border:1px solid var(--line);border-radius:8px;color:var(--ink);font:inherit;margin-top:4px}
input[type=checkbox]{width:auto;margin:0 6px 0 0}
.row{display:flex;gap:14px}.row label{flex:1}
.checks{display:flex;flex-wrap:wrap;gap:10px 18px}
.chk{display:flex;align-items:center;margin:0;white-space:nowrap}
.file input{padding:8px}
button{cursor:pointer}
button.primary{background:var(--accent);color:#fff;border:0;border-radius:8px;
  padding:11px 18px;font-weight:700;margin-top:14px}
button.primary:hover{background:var(--accent2)}
button.danger{background:transparent;color:var(--danger);border:1px solid var(--danger);
  border-radius:8px;padding:8px 14px}
button.danger:hover{background:rgba(248,113,113,.1)}
button.small{padding:5px 10px;font-size:13px}
.flash{padding:10px 14px;border-radius:8px;margin:8px 0;font-size:14px}
.flash.error{background:rgba(248,113,113,.12);border:1px solid var(--danger);color:#fecaca}
.flash.ok{background:rgba(52,211,153,.12);border:1px solid var(--ok);color:#bbf7d0}
.tabs{display:flex;gap:8px;margin:10px 0 18px}
.tabs a{padding:6px 12px;border:1px solid var(--line);border-radius:999px;color:var(--dim)}
.tabs a.on{background:var(--accent);color:#fff;border-color:var(--accent)}
table.grid{width:100%;border-collapse:collapse;background:var(--panel);
  border:1px solid var(--line);border-radius:12px;overflow:hidden}
.grid th,.grid td{padding:11px 14px;text-align:left;border-bottom:1px solid var(--line)}
.grid th{color:var(--dim);font-size:12px;text-transform:uppercase;letter-spacing:.5px}
.grid tbody tr{cursor:pointer}
.grid tbody tr:hover{background:var(--panel2)}
.badge{display:inline-block;padding:2px 9px;border-radius:999px;font-size:12px;font-weight:600;text-transform:uppercase}
.badge.pending{background:rgba(251,191,36,.15);color:var(--warn)}
.badge.approved,.badge.activated{background:rgba(52,211,153,.15);color:var(--ok)}
.badge.rejected,.badge.revoked{background:rgba(248,113,113,.15);color:var(--danger)}
.badge.pending_download,.badge.downloaded{background:rgba(45,212,191,.15);color:var(--accent)}
.dim{color:var(--dim)}.center{text-align:center}.mt{margin-top:12px}.small{font-size:13px}
.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}
.cols{display:grid;grid-template-columns:1fr 1fr;gap:16px}
dl{display:grid;grid-template-columns:140px 1fr;gap:6px 14px;margin:0}
dl dt{color:var(--dim)}
ul.docs{list-style:none;padding:0}ul.docs li{padding:6px 0;border-bottom:1px solid var(--line)}
.enr{border:1px solid var(--line);border-radius:8px;padding:10px;margin:8px 0}
.back{display:inline-block;margin-bottom:8px;color:var(--dim)}
@media(max-width:720px){.cols{grid-template-columns:1fr}.row{flex-direction:column;gap:0}dl{grid-template-columns:1fr}}
