:root {
  color-scheme: dark;
  --ink: #0b1f28;
  --surface: #132f3b;
  --surface-soft: #173b49;
  --edge: #2d5663;
  --text: #f4f8fa;
  --muted: #b7c7ce;
  --accent: #cdf34f;
  --danger: #ffb4ad;
  --success: #bde879;
}

* { box-sizing: border-box; }
body { margin: 0; font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
.auth-page { min-height: 100vh; display: grid; place-items: center; padding: 28px; color: var(--text); background: radial-gradient(circle at 20% 10%, #204d5b 0%, var(--ink) 42%, #06131a 100%); }
.auth-card { width: min(100%, 470px); padding: 34px; border: 1px solid var(--edge); border-radius: 18px; background: rgba(19, 47, 59, .96); box-shadow: 0 24px 70px rgba(0, 0, 0, .35); }
.auth-logo { display: block; width: min(100%, 260px); height: auto; margin: 0 0 24px; background: transparent; }
.auth-eyebrow { margin: 0 0 8px; color: var(--accent); font-size: .72rem; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
h1 { margin: 0; font-size: clamp(1.7rem, 4vw, 2.1rem); letter-spacing: -.035em; }
.auth-intro, .auth-help { line-height: 1.55; color: var(--muted); }
.auth-intro { margin: 14px 0 24px; }
.auth-help { margin: 20px 0 0; font-size: .88rem; }
.auth-form { display: grid; gap: 9px; }
.auth-form label { margin-top: 8px; font-weight: 700; font-size: .88rem; }
.auth-form input { min-height: 46px; width: 100%; padding: 10px 12px; border: 1px solid var(--edge); border-radius: 8px; color: var(--text); background: #0d2630; font: inherit; }
.auth-form input:focus { outline: 3px solid rgba(205, 243, 79, .35); border-color: var(--accent); }
.auth-form button { min-height: 47px; margin-top: 14px; border: 0; border-radius: 8px; color: #10240a; background: var(--accent); font: inherit; font-weight: 850; cursor: pointer; }
.auth-form button:hover { filter: brightness(1.05); }
.flash { margin: 0 0 16px; padding: 11px 12px; border-radius: 8px; font-size: .9rem; line-height: 1.4; }
.flash-error { color: var(--danger); border: 1px solid #8d4a46; background: #432726; }
.flash-success { color: var(--success); border: 1px solid #5f7e35; background: #24331e; }
@media (max-width: 500px) { .auth-page { padding: 16px; } .auth-card { padding: 25px; } }
