/* Двухфакторная аутентификация */
.totp-code { font-size: 22px; letter-spacing: 4px; text-align: center; font-variant-numeric: tabular-nums; }
.totp-setup, .totp-login { display: flex; flex-direction: column; gap: 12px; }
.totp-steps { margin: 0; padding-left: 20px; display: flex; flex-direction: column; gap: 6px; }
.totp-qr { align-self: center; background: #fff; padding: 6px; border-radius: 10px; width: 200px; height: 200px; }
.totp-manual summary { cursor: pointer; font-size: 13px; color: var(--muted); }
.totp-manual code, .totp-codes code { font-family: ui-monospace, SFMono-Regular, Menlo, monospace; user-select: all; }
.totp-recovery { background: var(--surface-2); border: 1px solid var(--border); border-radius: 10px; padding: 12px; display: flex; flex-direction: column; gap: 10px; }
.totp-codes { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px 16px; font-size: 15px; }
.totp-actions { display: flex; gap: 8px; }
.totp-ok { color: var(--ok); font-weight: 600; }
.login .btn.ghost.small { align-self: flex-start; padding-left: 0; color: var(--muted); }
.login.wide { max-width: 440px; }
.btn:disabled { opacity: .45; cursor: not-allowed; }
