.auth-layout { align-items: center; padding-bottom: 64px; }
.auth-intro, .auth-card { min-width: 0; }
.auth-intro p { max-width: 38em; }
.auth-benefits { padding-left: 1.25em; line-height: 2; color: #506773; }
.auth-card { overflow-wrap: anywhere; }
.auth-card h1 { font-size: clamp(24px, 4vw, 32px); margin: 0 0 18px; }
.auth-card h2 { margin-top: 0; }
.auth-card .field { margin: 24px 0 20px; }
.auth-card .field small { display: block; margin-top: 8px; color: #617582; }
.auth-card input { min-width: 0; max-width: 100%; }
.auth-card .auth-submit { width: 100%; min-height: 48px; white-space: normal; }
.auth-card .auth-consent { align-items: flex-start; margin: 20px 0; gap: 10px; }
.auth-consent input[type=checkbox] { flex: 0 0 20px; width: 20px; height: 20px; margin-top: 4px; }
.auth-error { background: #fff0ed; border: 1px solid #e0a59e; border-radius: 10px; padding: 12px 14px; color: #832e28; }
.auth-email { overflow-wrap: anywhere; }
.auth-code-input { font-size: 24px !important; letter-spacing: .3em; font-variant-numeric: tabular-nums; }
.auth-expiry { color: #617582; font-size: 14px; }
.auth-secondary { margin: 24px 0 0; font-size: 14px; text-align: center; }
.auth-secondary a, .auth-resend > a { display: inline-flex; align-items: center; min-height: 44px; }
.auth-resend { display: grid; gap: 12px; margin-top: 20px; text-align: center; justify-items: stretch; }
.auth-resend form { margin: 0; }
.auth-resend > a { justify-content: center; }
.auth-help, .auth-demo-note { border-top: 1px solid #dce4e8; padding-top: 16px; margin-top: 20px; font-size: 14px; }
.auth-help summary, .auth-demo-note summary { cursor: pointer; min-height: 44px; align-content: center; font-weight: 600; }
.auth-help ul { padding-left: 20px; }
.auth-page { padding-top: 40px; padding-bottom: 64px; }
.auth-card button:disabled, .auth-card input[type=submit]:disabled { opacity: .6; cursor: not-allowed; }
.auth-card svg { max-width: 100%; height: auto; }
@media (max-width: 800px) {
  .login-layout.auth-layout { gap: 20px; padding-top: 28px; padding-bottom: 32px; }
  .auth-intro h1 { margin-top: 12px; }
  .auth-intro .auth-benefits { display: none; }
  .auth-desktop-break { display: none; }
  .auth-intro p:last-of-type { margin-bottom: 0; }
  .auth-page { padding-top: 24px; padding-bottom: 32px; }
  .auth-card { padding: 22px 20px; }
  .auth-card .field input { font-size: 16px; }
}
