/* Sign-in steps (password, authenticator set-up, recovery codes). Builds on the .login-* card in site.css. */
.auth-step { align-self: flex-start; padding: 4px 10px; border-radius: 999px; background: var(--brand-50); color: var(--brand-600, var(--text-2)); font-size: 12px; font-weight: 700; letter-spacing: .02em; }
.auth-steps { margin: 0; padding-left: 20px; display: flex; flex-direction: column; gap: 6px; font-size: 14px; color: var(--text-2); }
.auth-qr { align-self: center; width: 200px; height: 200px; padding: 8px; border-radius: 16px; background: #fff; border: 1px solid var(--border); }
.auth-qr svg { display: block; width: 100%; height: 100%; }
.auth-secret { display: block; padding: 12px; border-radius: 12px; background: var(--brand-50); font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 15px; letter-spacing: .06em; word-break: break-all; user-select: all; }
.auth-otp { font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 22px; letter-spacing: .3em; text-align: center; }
.auth-code { font-family: ui-monospace, SFMono-Regular, Menlo, monospace; letter-spacing: .08em; }
.auth-recovery { font-size: 14px; }
.auth-recovery summary { cursor: pointer; color: var(--brand-500); font-weight: 600; }
.auth-recovery[open] summary { margin-bottom: 12px; }
.auth-back { align-self: center; font-size: 13px; color: var(--text-3); }
.auth-codes { list-style: none; margin: 0; padding: 16px; display: grid; grid-template-columns: repeat(2, 1fr); gap: 8px 16px; border-radius: 16px; background: var(--brand-50); border: 1px dashed var(--brand-100); }
.auth-codes code { font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 15px; letter-spacing: .04em; }
.auth-actions { display: flex; gap: 8px; }
.auth-confirm { font-weight: 600; }
.btn.is-disabled { opacity: .45; pointer-events: auto; cursor: not-allowed; }

@media print {
  .login-brand, .login-notice, .auth-actions, .auth-confirm, #continue { display: none !important; }
  .login-card { box-shadow: none; border: 0; }
}
.auth-page { max-width: 560px; }
