/* Sign-in and installer pages */
:root{--bg:#17111f;--card:#ffffff;--fg:#1b1625;--muted:#6a6377;--line:#d3cedb;--accent:#c8102e;--accent-soft:#fde8ec;--ok:#0e9f6e;--ok-soft:#e1f6ee;--bad:#e0452f;--bad-soft:#fdebe8;
  --f-display:"Outfit","Segoe UI",system-ui,sans-serif;--f-body:"Inter","Segoe UI",system-ui,Roboto,Arial,sans-serif}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%}
body.auth{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:32px 16px;
  background:radial-gradient(ellipse at 80% 0%,rgba(200,16,46,.45),transparent 55%),radial-gradient(ellipse at 10% 100%,rgba(110,11,44,.55),transparent 60%),linear-gradient(180deg,#251a30,#0f0b15);color:var(--fg);font:15px/1.45 var(--f-body)}
.auth-card{background:var(--card);width:min(400px,100%);border-radius:14px;padding:28px 26px;box-shadow:0 24px 60px rgba(0,0,0,.35);display:grid;gap:14px}
.auth-card.wide{width:min(620px,100%)}
.auth-logo{width:100%;height:auto;border-radius:6px;display:block}
h1{font-family:var(--f-display);font-size:1.6rem;margin:4px 0 0;letter-spacing:.01em}
form{display:grid;gap:14px}
label{display:grid;gap:5px;font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}
input,select,textarea{font:inherit;font-size:1rem;text-transform:none;letter-spacing:0;color:var(--fg);background:#fff;border:1px solid var(--line);border-radius:8px;padding:10px 12px;width:100%}
input:focus,select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}
fieldset{border:1px solid #d9e1e0;border-radius:10px;padding:12px 14px 14px;display:grid;gap:12px;margin:0}
legend{font-family:var(--f-display);font-weight:700;font-size:1.05rem;padding:0 6px}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.grid2 .span2{grid-column:1/-1}
.grid2[hidden]{display:none}
.btn{display:inline-flex;justify-content:center;align-items:center;border:1px solid var(--line);background:#fff;color:var(--fg);padding:11px 16px;border-radius:8px;font:inherit;font-weight:700;cursor:pointer;text-decoration:none}
.btn.primary{background:linear-gradient(135deg,#d7193b,#6e0b2c);border-color:transparent;color:#fff;box-shadow:0 8px 20px -10px rgba(200,16,46,.6)}
.btn.primary:hover{filter:brightness(1.08)}
.btn.block{width:100%;font-size:1.05rem}
.btn:focus-visible{outline:2px solid var(--fg);outline-offset:2px}
.err{background:var(--bad-soft);color:var(--bad);border-radius:8px;padding:9px 12px;margin:0;font-weight:600}
.ok{background:var(--ok-soft);color:var(--ok);border-radius:8px;padding:9px 12px;margin:0;font-weight:600}
.muted{color:var(--muted);margin:0}
.small{font-size:.85rem}
.code{font-family:ui-monospace,Consolas,monospace;font-size:.82rem}
@media (max-width:480px){.grid2{grid-template-columns:1fr}}
