
:root{--bg:#0b1c2c;--card:#12263a;--b:#264155;--txt:#fff;--muted:#cbd5e1;--ok:#16a34a;--bad:#b91c1c}
html,body{height:100%}
body{margin:0;background:var(--bg);color:var(--txt);font:16px/1.5 system-ui,Segoe UI,Roboto,Ubuntu,sans-serif;display:grid;place-items:center}
.container{width:min(520px,92vw)}
.card{background:var(--card);border:1px solid var(--b);border-radius:14px;padding:18px;box-shadow:0 10px 28px rgba(0,0,0,.28)}
.title{margin:0 0 12px 0;text-align:center;font-weight:700}
.field{display:flex;flex-direction:column;gap:6px;margin:10px 0}
.field input[type=text], .field input[type=password], .field select{
  background:#0f2135;color:#fff;border:1px solid #334155;border-radius:10px;padding:10px 12px;width:100%;
}
.field small.error{color:#fecaca}
.muted{color:var(--muted)}
.actions{display:flex;justify-content:center;margin-top:14px}
.btn{padding:.7rem 1.1rem;border-radius:12px;border:1px solid transparent;color:#fff;cursor:pointer}
.btn.primary{background:var(--ok);border-color:#15803d}
.btn.primary.disabled{background:var(--bad);border-color:#7f1d1d;opacity:.95;cursor:not-allowed}
.alert{padding:.6rem .8rem;border:1px solid #7f1d1d;background:#451a1a;color:#ffe4e6;border-radius:.6rem;margin-bottom:10px}
.searchbox{margin-bottom:8px}
.help{font-size:.9rem}
