/* Public authentication pages share the home tokens and refresh.css surfaces. */
.auth-page {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  z-index: 1;
}
.auth-card { width: 100%; max-width: 480px; min-width: 0; }
.auth-card h1 { font-weight: var(--weight-heading); }
.auth-card > h1, .reset-card .reset-password-entry h1 { margin-block-end: var(--space-6); }
.auth-card .auth-subtitle { color: var(--text-secondary); font-size: var(--text-base); }
.auth-card .auth-footer { color: var(--text-secondary); }
.otp-section { display: none; }
.otp-section.active { display: block; }
.auth-forgot-password { display: flex; justify-content: flex-end; margin-block-start: var(--space-2); }
.auth-forgot-password a, .auth-help a { display: inline-flex; align-items: center; min-height: 44px; font-size: var(--text-sm); text-decoration: underline; text-underline-offset: var(--space-1); color: var(--text-primary); }
.auth-forgot-password a:hover, .auth-help a:hover { color: var(--brand-hover); }
.reset-card section > p { color: var(--text-secondary); line-height: var(--leading-relaxed); }
.reset-card .auth-footer a { display: inline-flex; align-items: center; min-height: 44px; }
.reset-card .auth-help { margin-block-start: var(--space-4); text-align: center; }
.reset-card .auth-help a { justify-content: center; }
.reset-card .auth-error { color: var(--error-700); font-size: var(--text-sm); margin-block-end: var(--space-4); overflow-wrap: anywhere; }
.reset-card .auth-error:empty { display: none; }
.reset-card .auth-state-action { margin-block-start: var(--space-6); }
.reset-card .form-hint { margin-block-start: var(--space-2); color: var(--text-secondary); font-size: var(--text-sm); }
.reset-card h1:focus { outline: none; }
.reset-state-icon { width: var(--space-12); height: var(--space-12); margin-block-end: var(--space-6); color: var(--brand-hover); }
.reset-card .input { font-size: var(--text-base); }
.reset-card .password-visibility-toggle { width: 44px; height: 44px; }
.reset-card .btn { white-space: normal; overflow-wrap: anywhere; min-height: 44px; }
.auth-noscript { max-width: 480px; margin: var(--space-6) auto; padding: var(--space-4); }
