:root{
  --bg:#0f172a;
  --panel:#111c33;
  --panel2:#0b1226;
  --text:#e5e7eb;
  --muted:#aab3c5;
  --line:#243255;
  --accent:#60a5fa;
  --ok:#22c55e;
  --warn:#f59e0b;
  --bad:#ef4444;
}
*{box-sizing:border-box}
body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,"Helvetica Neue",Arial;
  background:linear-gradient(180deg,var(--bg),#0b1020); color:var(--text)}
a{color:inherit;text-decoration:none}
.topbar{display:flex;justify-content:space-between;align-items:center;padding:14px 18px;
  border-bottom:1px solid var(--line); background:rgba(10,16,35,.7); position:sticky; top:0; backdrop-filter: blur(10px)}
.brand{font-weight:700; letter-spacing:.3px}
.topbar-right{display:flex;gap:10px;align-items:center}
.userchip{padding:6px 10px;background:rgba(96,165,250,.12);border:1px solid rgba(96,165,250,.25);border-radius:999px;color:var(--muted);font-size:12px}
.layout{display:grid;grid-template-columns:260px 1fr; min-height:calc(100vh - 56px)}
.sidebar{border-right:1px solid var(--line); padding:14px; background:rgba(11,18,38,.55)}
.sidebar a{display:block; padding:10px 10px; border-radius:10px; color:var(--muted)}
.sidebar a:hover{background:rgba(96,165,250,.12); color:var(--text)}
.sidebar hr{border:0;border-top:1px solid var(--line); margin:12px 0}
.content{padding:18px; max-width:1100px}
.card{background:rgba(17,28,51,.75); border:1px solid var(--line); border-radius:16px; padding:16px; box-shadow: 0 10px 30px rgba(0,0,0,.25)}
.grid{display:grid;gap:14px}
.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:980px){.layout{grid-template-columns:1fr}.sidebar{display:none}.grid-2,.grid-3{grid-template-columns:1fr}}
h1{font-size:22px;margin:0 0 12px}
h2{font-size:16px;margin:0 0 10px;color:var(--muted);font-weight:600}
.table{width:100%;border-collapse:collapse}
.table th,.table td{padding:10px 8px;border-bottom:1px solid var(--line);vertical-align:top}
.table th{color:var(--muted);text-align:left;font-weight:600}
.badge{display:inline-block;padding:3px 8px;border-radius:999px;font-size:12px;border:1px solid var(--line);color:var(--muted)}
.badge.ok{border-color:rgba(34,197,94,.35); color:rgba(34,197,94,.95); background:rgba(34,197,94,.08)}
.badge.warn{border-color:rgba(245,158,11,.35); color:rgba(245,158,11,.95); background:rgba(245,158,11,.08)}
.badge.bad{border-color:rgba(239,68,68,.35); color:rgba(239,68,68,.95); background:rgba(239,68,68,.08)}
.form-row{display:grid;gap:10px;grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:700px){.form-row{grid-template-columns:1fr}}
label{display:block;font-size:12px;color:var(--muted);margin-bottom:6px}
input,select,textarea{width:100%;padding:10px 10px;border-radius:12px;border:1px solid var(--line);
  background:rgba(11,18,38,.65); color:var(--text); outline:none}
textarea{min-height:90px;resize:vertical}
.btn{display:inline-block;padding:10px 12px;border-radius:12px;border:1px solid var(--line);
  background:rgba(96,165,250,.14); color:var(--text); cursor:pointer}
.btn:hover{background:rgba(96,165,250,.22)}
.btn-ghost{background:transparent}
.flash{padding:10px 12px;border-radius:12px;border:1px solid var(--line);margin:0 0 12px}
.flash.success{border-color:rgba(34,197,94,.35); background:rgba(34,197,94,.08)}
.flash.error{border-color:rgba(239,68,68,.35); background:rgba(239,68,68,.08)}
.footer{padding:14px 18px;color:var(--muted);border-top:1px solid var(--line);background:rgba(10,16,35,.55)}
.small{color:var(--muted);font-size:12px}
