:root{
  --bg:#0f172a; --card:#111827; --text:#e5e7eb; --muted:#9ca3af;
  --accent:#22d3ee; --danger:#ef4444; --ok:#22c55e;
}
*{box-sizing:border-box}
body{
  margin:0; font-family:system-ui,-apple-system,Segoe UI,Roboto,Inter,Ubuntu,Helvetica,Arial;
  background:linear-gradient(180deg,var(--bg),#111827 60%); color:var(--text);
  min-height:100vh; display:flex; align-items:center; justify-content:center; padding:24px;
}
.card{width:min(880px,100%); background:var(--card); border:1px solid #1f2937;
  border-radius:16px; box-shadow:0 10px 30px rgba(0,0,0,.35); padding:24px;}
h1,h2{margin:0 0 12px} .muted{color:var(--muted); font-size:.95rem}
form{display:grid; gap:12px; margin-top:12px}
input,select,button,textarea{
  width:100%; padding:12px 14px; border-radius:12px; border:1px solid #374151;
  background:#0b1220; color:var(--text);
}
input::placeholder{color:#6b7280}
button{cursor:pointer; border:1px solid #0891b2; background:#0e7490; transition:.15s transform ease}
button:hover{transform:translateY(-1px)}
a{color:var(--accent); text-decoration:none}
.row{display:flex; gap:10px; flex-wrap:wrap} .row > *{flex:1 1 200px}
.topbar{display:flex; align-items:center; justify-content:space-between; margin-bottom:16px}
table{width:100%; border-collapse:collapse; margin-top:10px}
th,td{padding:10px; border-bottom:1px solid #1f2937}
th{text-align:left; color:#cbd5e1}
.actions{display:flex; gap:8px}
.btn-danger{background:#7f1d1d; border-color:#b91c1c}
.btn-ok{background:#065f46; border-color:#10b981}
.badge{display:inline-block; padding:4px 8px; border-radius:999px; font-size:.8rem; border:1px solid #334155}
.center{text-align:center}
.alert{padding:10px 12px; border:1px solid #334155; border-radius:12px; margin:8px 0}
.alert.ok{border-color:#14532d; background:#052e16}
.alert.err{border-color:#7f1d1d; background:#1c1917}
footer{margin-top:12px; font-size:.9rem; color:#a1a1aa}
