/* Voltex Authority — licence control panel.
   Ink-and-brass: a quiet working surface where the only warm colour is the seal. */
:root{
  --bg:#0d1117;--bg-glow:#16202e;--panel:#141b25;--panel-2:#19222e;--line:#243040;--line-soft:#1d2733;
  --text:#e6ebf2;--muted:#8d9bb0;--faint:#667489;
  --seal:#d6a24a;--seal-ink:#1a1305;--seal-soft:#d6a24a1f;
  --ok:#5fd6a0;--ok-bg:#12352a;--bad:#ff9a96;--bad-bg:#431f24;--info:#8db4ff;--info-bg:#17294a;
  --field:#0b1119;--radius:14px;
  --mono:ui-monospace,SFMono-Regular,Menlo,Consolas,"Liberation Mono",monospace;
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  color:var(--text);background:var(--bg);font-size:15px;line-height:1.5;color-scheme:dark
}
@media(prefers-color-scheme:light){:root{
  --bg:#f4f1ea;--bg-glow:#fbf8f1;--panel:#fffdf8;--panel-2:#f6f2e8;--line:#ddd5c4;--line-soft:#ebe5d6;
  --text:#1c2230;--muted:#5d6879;--faint:#8a93a2;
  --seal:#9a6b12;--seal-ink:#fffaf0;--seal-soft:#9a6b121a;
  --ok:#17744d;--ok-bg:#dff3e8;--bad:#a3282f;--bad-bg:#f9e0e0;--info:#2a56b8;--info-bg:#e1eafb;--field:#fff;color-scheme:light}}
*{box-sizing:border-box}
body{margin:0;min-height:100vh;background:radial-gradient(900px 420px at 85% -8%,var(--bg-glow),transparent 70%),var(--bg)}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer}
a{color:inherit}
code{font-family:var(--mono);font-size:.92em}
.shell{max-width:1180px;margin:auto;padding:0 28px 90px}

/* header + navigation */
header{display:flex;align-items:center;gap:28px;min-height:76px;border-bottom:1px solid var(--line)}
.brand{display:flex;align-items:center;gap:12px;margin-right:auto}
.brand strong{display:block;font-size:15px;letter-spacing:.01em}
.brand small{display:block;color:var(--muted);font-size:12px;margin-top:1px}
.brand-mark{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--seal);color:var(--seal-ink);font-weight:800;font-size:17px;box-shadow:0 0 0 4px var(--seal-soft),inset 0 0 0 2px #0002}
.nav{display:flex;gap:4px}
.nav a{padding:8px 14px;border-radius:9px;color:var(--muted);text-decoration:none;font-weight:600;font-size:14px}
.nav a:hover{color:var(--text);background:var(--panel)}
.nav a[aria-current="page"]{color:var(--text);background:var(--panel-2);box-shadow:inset 0 -2px 0 var(--seal)}
header form{margin:0}

/* page intro */
.intro{padding:46px 0 22px;max-width:70ch}
.intro h1{font-size:clamp(28px,3.6vw,40px);letter-spacing:-.03em;line-height:1.1;margin:6px 0 12px}
.intro p{color:var(--muted);margin:0}
.eyebrow{margin:0;color:var(--seal);font-size:12px;font-weight:700;letter-spacing:.04em}

/* summary figures */
.metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:10px 0 22px}
.metrics article{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:20px 22px}
.metrics span{display:block;color:var(--muted);font-size:13px}
.metrics strong{display:block;font-size:34px;line-height:1;margin-top:12px;font-variant-numeric:tabular-nums;letter-spacing:-.02em}
.metrics article:nth-child(2) strong{color:var(--ok)}
.metrics article:nth-child(3) strong{color:var(--bad)}

/* cards */
.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:26px;margin:18px 0}
.card p{color:var(--muted)}
.section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;border-bottom:1px solid var(--line-soft);padding-bottom:14px;margin-bottom:20px}
.section-head h2{margin:2px 0 0;font-size:19px;letter-spacing:-.01em}

/* forms */
label{display:block;font-weight:600;font-size:13px;color:var(--text)}
input,select,textarea{display:block;width:100%;margin-top:8px;padding:12px 14px;border-radius:10px;border:1px solid var(--line);background:var(--field);outline:none;font-weight:400}
textarea{resize:vertical;min-height:84px}
input::placeholder,textarea::placeholder{color:var(--faint)}
input:focus,select:focus,textarea:focus{border-color:var(--seal);box-shadow:0 0 0 3px var(--seal-soft)}
form label+label,form label+button{margin-top:16px}
.create{display:flex;align-items:flex-end;gap:14px}
.create label{flex:1}
.create .primary{margin-top:0}

/* buttons */
button{background:var(--panel-2);border:1px solid var(--line);border-radius:9px;padding:9px 13px;font-weight:600;font-size:13px;line-height:1.2;transition:background .15s,border-color .15s}
button:hover{border-color:var(--faint)}
button:focus-visible,a:focus-visible{outline:2px solid var(--seal);outline-offset:2px}
.primary{background:var(--seal);border-color:var(--seal);color:var(--seal-ink);padding:13px 20px;font-size:14px;font-weight:700}
.primary:hover{filter:brightness(1.08);border-color:var(--seal)}
.quiet{background:transparent}

/* tables */
.table-card{padding:26px 0 8px}
.table-card .section-head{margin:0 26px 4px}
.table-wrap{overflow-x:auto}
table{border-collapse:collapse;width:100%;min-width:860px;text-align:left}
th{font-size:12px;font-weight:600;color:var(--muted);padding:12px 26px;white-space:nowrap}
td{border-top:1px solid var(--line-soft);padding:16px 26px;font-size:14px;vertical-align:middle}
tbody tr:hover{background:var(--panel-2)}
td strong,td small{display:block}
td small{color:var(--muted);margin-top:3px;font-size:12px;font-family:var(--mono)}
td code{background:var(--field);border:1px solid var(--line);border-radius:6px;padding:3px 7px}
td.actions{display:flex;gap:8px;flex-wrap:wrap}
td.actions form{margin:0}
.empty,.muted{color:var(--muted)}
td.empty{text-align:center;padding:38px}

/* status */
.badge{display:inline-block;border-radius:99px;padding:4px 11px;font-size:12px;font-weight:700}
.badge.active{background:var(--ok-bg);color:var(--ok)}
.badge.suspended{background:var(--bad-bg);color:var(--bad)}

/* notices */
.notice,p.error{margin:14px 0;padding:12px 16px;border-radius:10px;background:var(--info-bg);color:var(--info);border:1px solid #0000;font-weight:600;font-size:14px}
.error{color:var(--bad)!important}
p.error{background:var(--bad-bg)}

/* one-time key */
.reveal{background:var(--panel);border:1px solid var(--seal);border-radius:var(--radius);padding:24px;margin:18px 0;box-shadow:0 0 0 5px var(--seal-soft)}
.reveal h2{margin:6px 0 4px}
.reveal p{color:var(--muted);margin:0 0 14px}
.reveal code{display:block;background:var(--field);border:1px dashed var(--seal);padding:16px;border-radius:10px;word-break:break-all;font-size:16px;letter-spacing:.02em;user-select:all}
.reveal small{display:block;margin-top:10px;color:var(--muted)}

/* sign-in */
.narrow{max-width:440px;margin:80px auto;padding:34px}
.narrow h1{margin:4px 0 6px;font-size:28px;letter-spacing:-.02em}
.narrow>p{color:var(--muted);margin:0 0 6px}
.narrow label{margin-top:20px}
.narrow .primary{width:100%;margin-top:24px}

@media(max-width:760px){
  .shell{padding:0 16px 60px}
  header{flex-wrap:wrap;gap:6px 16px;padding:14px 0}
  .nav{order:3;width:100%}
  .metrics{grid-template-columns:1fr 1fr}
  .metrics article:last-child{grid-column:span 2}
  .create{display:block}.create .primary{margin-top:14px;width:100%}
  .intro{padding-top:30px}.card{padding:20px}
  th,td{padding-left:18px;padding-right:18px}.table-card .section-head{margin-inline:18px}
}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}

/* delete license */
.btn{display:inline-block;background:var(--panel-2);border:1px solid var(--line);border-radius:9px;padding:9px 13px;font-weight:600;font-size:13px;line-height:1.2;text-decoration:none;transition:background .15s,border-color .15s}
.btn:hover{border-color:var(--faint)}
.btn.danger{color:var(--bad);background:transparent}
.btn.danger:hover{background:var(--bad-bg);border-color:var(--bad)}
.card.confirm{max-width:560px;margin:56px auto}
.confirm h1{margin:4px 0 16px;font-size:26px;letter-spacing:-.02em}
.facts{display:grid;grid-template-columns:repeat(3,auto);justify-content:start;gap:8px 32px;margin:0 0 18px;padding:16px 18px;border:1px solid var(--line-soft);border-radius:10px;background:var(--field)}
.facts dt{color:var(--muted);font-size:12px;margin-bottom:4px}.facts dd{margin:0}
.confirm form{margin-top:20px}
.confirm label code{background:var(--field);border:1px solid var(--line);border-radius:6px;padding:2px 7px}
.row{display:flex;align-items:center;gap:12px;margin-top:20px}
.primary.danger-solid{background:var(--bad);border-color:var(--bad);color:#2a0507}
@media(prefers-color-scheme:light){.primary.danger-solid{color:#fff}}
@media(max-width:760px){.facts{grid-template-columns:1fr}.card.confirm{margin:28px auto}}

/* health and audit */
.badge.warn{background:#3a2e12;color:#f2c14e}
@media(prefers-color-scheme:light){.badge.warn{background:#fbefcf;color:#7a5600}}

/* release channels and update support */
.badge.channel-stable{background:#e6f4ea;color:#17643a}.badge.channel-test{background:#fff4d6;color:#7a5600}.badge.channel-emergency{background:#fde7e7;color:#9b1c1c}
.updates-cell small{display:block;margin-top:4px}.error-text{color:#9b1c1c;font-weight:600}
.updates-edit{margin-top:6px}.updates-edit summary{cursor:pointer;font-size:12px;color:#335}
.updates-edit form,.inline-channel{display:flex;flex-wrap:wrap;gap:6px;align-items:flex-end;margin-top:6px}
.updates-edit label{font-size:12px}.inline-channel{margin-top:6px}.inline-channel select{width:auto}
