:root{
  --c-bg:#050608; --c-panel:#0f1015; --c-panel-2:#14151b; --c-border:rgba(255,255,255,0.09);
  --c-text:#f4f1ea; --c-text-dim:#9a97a3;
  --c-gold:#fbd35a; --c-flame:#e6802b; --c-ember:#91291e; --c-ocean:#24407a;
  --c-green:#3fd67a; --c-red:#ff6b6b;
  --radius:14px;
}
*{ box-sizing:border-box; }
body{
  margin:0; background:var(--c-bg); color:var(--c-text);
  font-family:'Segoe UI', Inter, system-ui, sans-serif; line-height:1.5;
}
a{ color:inherit; }
.admin-shell{ max-width:1100px; margin:0 auto; padding:32px 20px 80px; }
.admin-topbar{ display:flex; align-items:center; justify-content:space-between; margin-bottom:28px; flex-wrap:wrap; gap:12px; }
.admin-topbar h1{ font-size:1.3rem; margin:0; }
.admin-topbar .brand{ display:flex; align-items:center; gap:10px; }
.admin-topbar .brand .dot{ width:10px; height:10px; border-radius:50%; background:linear-gradient(135deg,var(--c-gold),var(--c-flame)); }
.btn{ display:inline-flex; align-items:center; gap:6px; padding:9px 16px; border-radius:999px; border:1px solid var(--c-border); background:var(--c-panel-2); color:var(--c-text); font-size:0.86rem; cursor:pointer; text-decoration:none; }
.btn:hover{ background:#1a1c24; }
.btn-primary{ background:linear-gradient(135deg,var(--c-gold),var(--c-flame)); border:none; color:#1a0e00; font-weight:600; }
.btn-danger{ background:rgba(255,107,107,0.12); border-color:rgba(255,107,107,0.4); color:var(--c-red); }
.card{ background:var(--c-panel); border:1px solid var(--c-border); border-radius:var(--radius); padding:22px; margin-bottom:24px; }
.card h2{ margin-top:0; font-size:1.05rem; }
table{ width:100%; border-collapse:collapse; font-size:0.86rem; }
th, td{ text-align:left; padding:10px 8px; border-bottom:1px solid var(--c-border); vertical-align:top; }
th{ color:var(--c-text-dim); font-weight:600; font-size:0.75rem; text-transform:uppercase; letter-spacing:.04em; }
tr:hover td{ background:rgba(255,255,255,0.02); }
.pill{ display:inline-block; padding:3px 10px; border-radius:999px; font-size:0.72rem; font-weight:600; }
.pill.on{ background:rgba(63,214,122,0.14); color:var(--c-green); }
.pill.off{ background:rgba(255,107,107,0.14); color:var(--c-red); }
form.inline{ display:flex; gap:8px; flex-wrap:wrap; align-items:flex-end; }
.field{ display:flex; flex-direction:column; gap:5px; }
.field label{ font-size:0.72rem; color:var(--c-text-dim); text-transform:uppercase; letter-spacing:.03em; }
input, select, textarea{
  background:var(--c-panel-2); border:1px solid var(--c-border); color:var(--c-text);
  border-radius:8px; padding:9px 11px; font-size:0.86rem; font-family:inherit;
}
input:focus, select:focus, textarea:focus{ outline:1px solid var(--c-flame); }
.login-shell{ min-height:100vh; display:flex; align-items:center; justify-content:center; padding:20px; }
.login-card{ width:100%; max-width:360px; background:var(--c-panel); border:1px solid var(--c-border); border-radius:18px; padding:32px; }
.login-card h1{ font-size:1.2rem; margin:0 0 4px; }
.login-card p.sub{ color:var(--c-text-dim); font-size:0.85rem; margin:0 0 22px; }
.login-card .field{ margin-bottom:14px; }
.login-card input{ width:100%; }
.error-msg{ background:rgba(255,107,107,0.12); border:1px solid rgba(255,107,107,0.35); color:var(--c-red); padding:10px 12px; border-radius:8px; font-size:0.82rem; margin-bottom:16px; }
.success-msg{ background:rgba(63,214,122,0.12); border:1px solid rgba(63,214,122,0.35); color:var(--c-green); padding:10px 12px; border-radius:8px; font-size:0.82rem; margin-bottom:16px; }
.empty-state{ color:var(--c-text-dim); font-size:0.86rem; padding:20px 0; text-align:center; }
