/* EVO TrustGuard — page-login.css
 *
 * Owned by:    login.html
 * Category:    auth / pre-onboarding page
 * Cascade:     tokens → base → utilities → components → shared → page (light-only by design)
 * Edit policy: rules unique to this page only. Anything used by 5+
 *              pages should be promoted to /css/components.css or
 *              /css/portal-chrome.css with a /css/AGENTS.md update.
 *
 * Extracted:   2 <style> block(s), 56 lines.
 * Method:      verbatim move — no token substitution applied yet.
 *              See C56 audit Section 10.A for the deferred token
 *              normalization sprint plan.
 */

/* ── extracted <style> block 1 of 2 ── */

  body { font-family: var(--font-sans); background: var(--bg); color: var(--dark); line-height: var(--leading-loose); min-height: 100vh; display: flex; flex-direction: column; }

  /* NAV */
  .auth-nav { background: var(--white); border-bottom: 1px solid var(--border); padding: 1rem 2rem; display: flex; justify-content: space-between; align-items: center; }
  .auth-nav-brand { font-family: var(--font-serif); font-size: var(--text-3xl); color: var(--dark); letter-spacing: var(--tracking-tighter); text-decoration: none; }
  .auth-nav-brand span { color: var(--red); }
  .auth-nav-link { font-size: var(--text-base); color: var(--light); text-decoration: none; font-weight: var(--weight-medium); transition: color 0.15s; }
  .auth-nav-link:hover { color: var(--dark); }

  /* AUTH LAYOUT */
  .auth-wrap { flex: 1; display: flex; align-items: center; justify-content: center; padding: var(--space-10) var(--space-4); }
  .auth-card { background: var(--white); border: 1px solid var(--border); border-radius: var(--radius-xl); padding: var(--space-10) var(--space-8); width: 100%; max-width: 420px; }
  .auth-card h1 { font-family: var(--font-serif); font-size: var(--text-display-sm); color: var(--dark); margin-bottom: var(--space-1-5); letter-spacing: var(--tracking-tighter); }
  .auth-card .auth-subtitle { font-size: var(--text-base); color: var(--light); font-weight: var(--weight-light); margin-bottom: var(--space-7); }

  /* FORM */
  .auth-field { margin-bottom: var(--space-4); }
  .auth-field label { display: block; font-size: var(--text-sm); font-weight: var(--weight-semibold); color: var(--mid); margin-bottom: 5px; letter-spacing: var(--tracking-wide); text-transform: uppercase; }
  .auth-field input { width: 100%; padding: 11px 14px; border: 1.5px solid var(--border); border-radius: var(--radius-md); font-family: var(--font-sans); font-size: var(--text-lg); color: var(--dark); background: var(--white); outline: none; transition: border-color 0.15s; }
  .auth-field input:focus { border-color: var(--red); }
  .auth-field-pw { position: relative; }
  .auth-field-pw input { padding-right: 44px; }
  .pw-toggle { position: absolute; right: var(--space-2-5); top: 26px; background: none; border: none; cursor: pointer; padding: var(--space-1); color: var(--light); display: flex; align-items: center; justify-content: center; }
  .pw-toggle:hover { color: var(--mid); }
  .pw-toggle svg { width: 20px; height: 20px; }
  .pw-toggle .eye-closed { display: none; }
  .auth-error { color: var(--red); font-size: var(--text-md); margin-bottom: var(--space-3); display: none; }
  .auth-btn { display: block; width: 100%; background: var(--red); color: var(--white); border: none; padding: 13px 20px; border-radius: 100px; font-family: var(--font-sans); font-size: var(--text-lg); font-weight: var(--weight-semibold); cursor: pointer; transition: background 0.2s; }
  .auth-btn:hover { background: var(--red-hover); }
  .auth-btn:disabled { background: var(--border-strong); cursor: not-allowed; }

  /* LINKS */
  .auth-links { margin-top: var(--space-5); text-align: center; font-size: var(--text-base); color: var(--light); }
  .auth-links a { color: var(--red); text-decoration: none; font-weight: var(--weight-medium); }
  .auth-links a:hover { text-decoration: underline; }
  .auth-forgot { display: block; text-align: right; margin-bottom: var(--space-4); }
  .auth-forgot a { font-size: var(--text-md); color: var(--light); text-decoration: none; }
  .auth-forgot a:hover { color: var(--red); }

  /* FOOTER */
  .auth-footer { background: var(--dark); padding: 30px 2rem; text-align: center; }
  .auth-footer-brand { font-family: var(--font-serif); font-size: var(--text-xl); color: var(--white); margin-bottom: var(--space-1-5); }
  .auth-footer-brand span { color: var(--red); }
  .auth-footer p { font-size: var(--text-sm); color: var(--text-muted); font-weight: var(--weight-light); }
  .auth-footer a { color: var(--text-faint); text-decoration: none; font-size: var(--text-sm); margin: 0 var(--space-2); transition: color 0.15s; }
  .auth-footer a:hover { color: var(--white); }
  .auth-footer-links { margin-top: var(--space-3); }

  /* MOBILE */
  @media (max-width: 600px) {
    .auth-nav { padding: 0.75rem 1rem; }
    .auth-nav .auth-nav-brand img { height: 40px !important; width: auto !important; }
    .auth-card { padding: var(--space-8) var(--space-5); }
    .auth-wrap { padding: var(--space-6) var(--space-4); }
  }

/* ── extracted <style> block 2 of 2 ── */

.nav-brand img, .dash-nav-brand img { height: 48px !important; width: auto !important; min-height: 48px !important; max-height: none !important; }
