
:root{
  --bg:#0b1020;
  --card:#0e1426;
  --line:#1f2b46;
  --text:#e6e9ef;
  --muted:#9aa6c1;
  --primary:#22c55e;
  --primary-600:#16a34a;
  --danger:#ef4444;
  --ring:#22c55e33;
}
*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  font-family: ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Arial, "Noto Sans", "Helvetica Neue", sans-serif;
  background: radial-gradient(1200px 800px at 15% -10%, #121a33 0, rgba(8,12,24,.6) 55%, rgba(6,9,18,.9) 100%), var(--bg);
  color:var(--text);
  padding:24px;
}
.wrap{width:100%;max-width:980px;margin:0 auto}
.card{
  background:linear-gradient(180deg, rgba(14,20,38,1) 0%, rgba(11,16,31,1) 100%);
  border:1px solid var(--line);
  border-radius:18px;
  box-shadow:0 20px 60px rgba(0,0,0,.45), inset 0 1px 0 rgba(255,255,255,.02);
  overflow:hidden;
}
header{
  padding:28px 24px 0;
  text-align:center;
}
header img{max-height:60px;margin-bottom:12px}
h1{font-size:22px;line-height:1.2;margin:0}
p.lead{color:var(--muted);margin:8px 0 0;font-size:14px}
form{padding:28px;display:grid;gap:22px}
.field{display:grid;gap:10px}
.label{font-weight:600}
.hint{color:var(--muted);font-size:13px;margin-top:-4px}
.options{display:grid;gap:10px;margin-top:6px}
.opt{
  display:flex;align-items:center;gap:12px;
  padding:12px 14px;border:1px solid var(--line);
  background:#0b1220;border-radius:12px;cursor:pointer;
  transition:.18s border-color, .18s transform;
}
.opt:hover{border-color:#2b3f63; transform:translateY(-1px)}
.opt input{accent-color:var(--primary)}
select, input[type="tel"], input[type="text"], input[type="password"], input[type="date"]{
  width:100%; padding:12px 14px;border-radius:12px;border:1px solid var(--line);
  background:#0b1220;color:var(--text); outline:none;
  transition:.18s border-color, .18s box-shadow;
}
select:focus, input:focus{border-color:var(--primary); box-shadow:0 0 0 4px var(--ring)}
.error{color:var(--danger);font-size:13px;display:none}
.req{color:var(--primary)}
.divider{height:1px;background:linear-gradient(90deg, transparent, #1a2642, transparent); margin:4px 0 8px}
.actions{display:flex;justify-content:space-between;align-items:center;gap:12px;padding-top:8px}
.policy{color:var(--muted);font-size:12px}
.btn{appearance:none;border:0;border-radius:12px;padding:12px 18px;font-weight:700;cursor:pointer}
.btn.primary{background:var(--primary);color:#052212}
.btn.primary:hover{background:var(--primary-600)}
footer{color:var(--muted);font-size:12px;padding:0 24px 24px;text-align:center}
/* Admin */
.toolbar{display:flex;gap:12px;flex-wrap:wrap;align-items:end;padding:18px 24px 0}
.table-wrap{overflow:auto;padding:0 24px 24px}
table{width:100%;border-collapse:collapse;margin-top:14px}
th,td{padding:10px 12px;border-bottom:1px solid #1a2542; white-space:nowrap}
th{font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:#b6c3df;text-align:left}
td{font-size:14px;color:#e7ebf3}
.badge{display:inline-block;padding:3px 8px;border-radius:999px;font-size:12px;border:1px solid #29406a;background:#0b1220}
.pager{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:0 24px 22px;color:var(--muted)}
.link{color:#8bd8ff;text-decoration:none}
.link:hover{text-decoration:underline}
.alert{margin:16px 24px;padding:12px 14px;border:1px solid #2e2346;background:#110d1e;border-radius:12px;color:#d6ccff}
.login-card{max-width:420px;margin:0 auto}
