:root { color-scheme: dark; font-family: Inter, ui-sans-serif, system-ui, sans-serif; background:#101114; color:#f3f4f6; }
* { box-sizing:border-box; }
body { margin:0; background:#101114; }
.container { max-width:1400px; margin:0 auto; padding:28px; }
header,.section-title { display:flex; align-items:center; justify-content:space-between; gap:16px; }
h1,h2,p { margin-top:0; }
header p { color:#9ca3af; }
.card { background:#181a1f; border:1px solid #2a2d35; border-radius:14px; padding:20px; margin:18px 0; }
.narrow { max-width:520px; margin:80px auto; }
.form-grid { display:grid; grid-template-columns:repeat(4,minmax(150px,1fr)); gap:14px; margin-bottom:14px; }
.form-grid .wide { grid-column:span 2; }
label { display:flex; flex-direction:column; gap:7px; color:#c5c8d0; font-size:13px; }
input,select { width:100%; padding:10px 12px; border-radius:8px; border:1px solid #383c47; background:#111318; color:#fff; }
button { border:0; border-radius:8px; padding:10px 14px; background:#f3f4f6; color:#111318; font-weight:700; cursor:pointer; }
button.secondary { background:#2a2d35; color:#f3f4f6; }
button.danger { background:#5e2028; color:#fff; }
button.warn { background:#614717; color:#fff; }
button.small { padding:7px 9px; font-size:12px; margin:2px; }
.hidden { display:none !important; }
.error { color:#ff9090; margin-top:12px; }
.ok { color:#8de2a5; }
.stats { display:grid; grid-template-columns:repeat(5,1fr); gap:12px; }
.stat { padding:16px; background:#181a1f; border:1px solid #2a2d35; border-radius:12px; }
.stat b { display:block; font-size:28px; }
.stat span { color:#9ca3af; }
.table-wrap { overflow:auto; }
table { width:100%; border-collapse:collapse; font-size:13px; }
th,td { border-bottom:1px solid #2a2d35; padding:11px 9px; text-align:left; vertical-align:top; white-space:nowrap; }
th { color:#9ca3af; font-weight:600; }
.key { font-family:ui-monospace,SFMono-Regular,Menlo,monospace; }
.badge { display:inline-block; border-radius:999px; padding:4px 8px; background:#2a2d35; }
.badge.active { background:#183d29; color:#9de8b4; }
.badge.suspended { background:#574116; color:#ffd783; }
.badge.revoked,.badge.expired { background:#58212a; color:#ff9da9; }
@media (max-width:900px) { .form-grid,.stats { grid-template-columns:1fr 1fr; } .form-grid .wide{grid-column:span 2;} }
@media (max-width:560px) { .container{padding:14px;} .form-grid,.stats{grid-template-columns:1fr;} .form-grid .wide{grid-column:span 1;} }
