:root {
  color-scheme: dark;
  --auth-bg: #07111d;
  --auth-panel: #0d1d2d;
  --auth-line: rgba(161, 190, 216, 0.18);
  --auth-text: #eef6fb;
  --auth-muted: #91a9bc;
  --auth-accent: #27c8cb;
  --auth-danger: #ff7272;
}
* { box-sizing: border-box; }
html, body { min-height: 100%; }
body.auth-page {
  margin: 0;
  min-height: 100vh;
  display: grid;
  place-items: center;
  padding: 24px;
  color: var(--auth-text);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  background:
    radial-gradient(circle at 15% 15%, rgba(39, 200, 203, 0.16), transparent 30%),
    radial-gradient(circle at 85% 85%, rgba(43, 107, 180, 0.18), transparent 34%),
    linear-gradient(145deg, #050b12, var(--auth-bg));
}
.auth-card {
  width: min(100%, 460px);
  padding: 34px;
  border: 1px solid var(--auth-line);
  border-radius: 22px;
  background: rgba(13, 29, 45, 0.94);
  box-shadow: 0 30px 90px rgba(0, 0, 0, 0.46);
  backdrop-filter: blur(16px);
}
.auth-brand { display: flex; align-items: center; gap: 14px; margin-bottom: 30px; }
.auth-mark { width: 44px; height: 44px; border-radius: 13px; display: grid; place-items: center; font-weight: 900; color: #031214; background: var(--auth-accent); box-shadow: 0 8px 28px rgba(39, 200, 203, 0.28); }
.auth-brand strong { display: block; letter-spacing: .11em; font-size: .82rem; }
.auth-brand span { display: block; margin-top: 4px; color: var(--auth-muted); font-size: .76rem; letter-spacing: .08em; }
.auth-kicker { margin: 0 0 8px; color: var(--auth-accent); font-size: .72rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.auth-card h1 { margin: 0; font-size: clamp(1.8rem, 5vw, 2.45rem); line-height: 1.08; }
.auth-intro { margin: 12px 0 26px; color: var(--auth-muted); line-height: 1.6; }
.auth-form { display: grid; gap: 17px; }
.auth-field { display: grid; gap: 7px; }
.auth-field span { font-size: .82rem; font-weight: 700; color: #c9d8e4; }
.auth-field input {
  width: 100%;
  padding: 14px 15px;
  border: 1px solid var(--auth-line);
  border-radius: 11px;
  outline: none;
  background: rgba(2, 10, 18, 0.55);
  color: var(--auth-text);
  font: inherit;
}
.auth-field input:focus { border-color: var(--auth-accent); box-shadow: 0 0 0 3px rgba(39, 200, 203, 0.12); }
.auth-button {
  min-height: 48px;
  border: 0;
  border-radius: 11px;
  cursor: pointer;
  font: inherit;
  font-weight: 850;
  color: #031214;
  background: var(--auth-accent);
}
.auth-button:disabled { opacity: .62; cursor: wait; }
.auth-error, .auth-success { min-height: 22px; margin: 0; font-size: .84rem; line-height: 1.45; }
.auth-error { color: var(--auth-danger); }
.auth-success { color: #6be3a4; }
.auth-help { margin: 22px 0 0; padding-top: 18px; border-top: 1px solid var(--auth-line); color: var(--auth-muted); font-size: .78rem; line-height: 1.55; }
.auth-link { color: var(--auth-accent); text-decoration: none; font-weight: 750; }
.auth-password-rules { margin: 0; padding-left: 20px; color: var(--auth-muted); font-size: .8rem; line-height: 1.55; }
@media (max-width: 520px) { .auth-card { padding: 26px 22px; border-radius: 17px; } }
