/* dashboard/css/auth.css — the centred-card layout shared by
 * login.html, signup.html and reset.html (S2-4 §4.1).
 *
 * NEW FILE, but not a new design: it is the app's own glass/token language
 * applied to the three screens that never got it. Phase 0's "first-impression
 * inversion" was that signup — the FIRST screen a customer sees — was the
 * worst-looking page in the product while the dashboard behind it was the
 * best. This file is the fix, and it is deliberately small.
 *
 * Every value is a token. Dark mode works because tokens.css drives it.
 */

body.auth {
  height: auto;
  min-height: 100vh;
  min-height: 100dvh;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 22px;
  padding: 32px 20px 48px;
  /* base.css already sets background: var(--paper) + var(--bg-grad). The auth
     screens deliberately use the SAME background as the app, so signing in
     does not feel like leaving the product. */
}

/* Brand lockup above the card — mounted by shell.mjs's mountAuthShell(). */
.auth-brand {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  text-align: center;
}
.auth-brand .brand-mark {
  width: 46px; height: 46px;
  border-radius: 13px;
  background: var(--accent);
  display: grid; place-items: center;
  color: var(--white); font-weight: 700; font-size: 15px; letter-spacing: .04em;
  box-shadow: 0 2px 8px rgba(45,79,160,.25), 0 1px 0 rgba(255,255,255,.2) inset;
}
.auth-brand .brand-name {
  font-family: 'DM Serif Display', Georgia, serif;
  font-weight: 400; letter-spacing: -.01em;
  font-size: 21px; color: var(--ink);
}
.auth-brand .brand-sub {
  font-size: 13px; color: var(--ink-soft);
}

/* The card itself. */
.auth-card {
  width: 100%;
  max-width: 420px;
  padding: 34px 32px 32px;
  border-radius: var(--r-lg);
  background: var(--glass-bg-2);
  backdrop-filter: blur(40px) saturate(180%);
  -webkit-backdrop-filter: blur(40px) saturate(180%);
  border: 1px solid var(--glass-edge);
  box-shadow: var(--shadow-lg);
}
.auth-card h1 {
  font-family: 'DM Serif Display', Georgia, serif;
  font-weight: 400; letter-spacing: -.01em;
  margin: 0 0 4px; font-size: 26px; line-height: 1.15;
}
.auth-card .page-lede { margin: 0 0 22px; }

/* The submit button is full-width here — the only auth-specific override. */
.auth-card .btn-primary {
  width: 100%;
  margin-top: 22px;
  justify-content: center;
  padding: 13px 20px;
  border-radius: var(--r-md);
  font-size: 15px;
}

.auth-err {
  color: var(--bad); font-size: 13px; margin-top: 14px; min-height: 18px;
}
.auth-ok {
  color: var(--good); font-size: 14px; margin-top: 14px;
}
.auth-alt {
  margin-top: 20px; text-align: center; font-size: 14px; color: var(--ink-soft);
}
.auth-alt a { color: var(--accent); text-decoration: none; font-weight: 600; }
.auth-alt a:hover { text-decoration: underline; }

@media (max-width: 480px) {
  .auth-card { padding: 26px 22px 24px; }
  .auth-card h1 { font-size: 23px; }
}
