:root{
  --bg:#0b1220;
  --card:#0f172a;
  --muted:#94a3b8;
  --text:#e2e8f0;
  --line:rgba(148,163,184,.18);
  --brand:#0f0fbd;
  --brand2:#4f46e5;
  --good:#16a34a;
  --bad:#ef4444;
  --warn:#f59e0b;
  --shadow: 0 20px 60px rgba(2,6,23,.45);
  --radius: 16px;
}

*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial;
  background:
    radial-gradient(1000px 600px at 12% 0%, rgba(79,70,229,.22), transparent 55%),
    radial-gradient(1000px 600px at 90% 20%, rgba(15,15,189,.18), transparent 55%),
    linear-gradient(180deg, #070b14, #0b1220 50%, #070b14);
  color:var(--text);
}
a{color:inherit;text-decoration:none}
small{color:var(--muted)}
.container{max-width:1100px;margin:0 auto;padding:24px 16px}
.card{
  background:linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.03));
  border:1px solid var(--line);
  border-radius:var(--radius);
  box-shadow:var(--shadow);
}
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  padding:12px 14px;border-radius:12px;border:1px solid var(--line);
  background:rgba(255,255,255,.06); color:var(--text); font-weight:700;
  cursor:pointer; transition:.15s transform,.15s opacity,.15s background;
}
.btn:hover{transform:translateY(-1px);background:rgba(255,255,255,.09)}
.btn.primary{
  background:linear-gradient(135deg, var(--brand), var(--brand2));
  border-color:rgba(99,102,241,.5);
}
.btn.primary:hover{opacity:.95}
.btn.danger{background:rgba(239,68,68,.12);border-color:rgba(239,68,68,.35)}
.badge{
  padding:6px 10px;border-radius:999px;border:1px solid var(--line);
  background:rgba(255,255,255,.06); font-size:12px;color:var(--muted)
}
.grid{display:grid;gap:16px}
.grid.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:900px){.grid.cols-2{grid-template-columns:1fr}}

.topbar{
  position:sticky;top:0;z-index:30;
  backdrop-filter: blur(10px);
  background:rgba(7,11,20,.65);
  border-bottom:1px solid var(--line);
}
.topbar .row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px}
.brand{display:flex;align-items:center;gap:10px}
.brand .logo{
  width:34px;height:34px;border-radius:12px;
  background:linear-gradient(135deg,var(--brand),var(--brand2));
  display:grid;place-items:center;font-weight:900
}
.navlinks{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.navlinks a{padding:10px 12px;border-radius:12px;border:1px solid transparent;color:var(--muted)}
.navlinks a.active,.navlinks a:hover{border-color:var(--line);background:rgba(255,255,255,.06);color:var(--text)}

.table{width:100%;border-collapse:collapse}
.table th,.table td{padding:12px 10px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
.table th{color:#cbd5e1;font-size:12px;letter-spacing:.08em;text-transform:uppercase}
.table td{color:var(--text)}
.kbd{font-size:12px;border:1px solid var(--line);border-bottom-width:2px;padding:2px 6px;border-radius:8px;color:var(--muted)}

.input, textarea{
  width:100%; padding:12px 12px; border-radius:12px;
  border:1px solid var(--line); background:rgba(255,255,255,.04);
  color:var(--text); outline:none;
}
.input:focus, textarea:focus{border-color:rgba(99,102,241,.7)}
label{display:block;font-size:12px;color:#cbd5e1;letter-spacing:.08em;text-transform:uppercase;margin:10px 0 6px}
.row{display:flex;gap:12px}
.row > *{flex:1}
@media(max-width:700px){.row{flex-direction:column}}

.alert{padding:12px 14px;border-radius:14px;border:1px solid var(--line);background:rgba(255,255,255,.06)}
.alert.ok{border-color:rgba(34,197,94,.35);background:rgba(34,197,94,.10)}
.alert.err{border-color:rgba(239,68,68,.35);background:rgba(239,68,68,.10)}
