.login-totp-dialog { position:fixed; inset:0; margin:auto; padding:0; width:min(440px,calc(100vw - 32px)); max-height:calc(100dvh - 32px); overflow:hidden; color:var(--ink); background:var(--panel); border:1px solid #344047; border-radius:16px; box-shadow:0 24px 100px #0008; }
.login-totp-dialog::backdrop { background:#0009; backdrop-filter:blur(3px); }
.login-totp-form { display:flex; flex-direction:column; max-height:calc(100dvh - 34px); min-height:0; }
.login-totp-header { flex:none; padding:24px 26px 18px; border-bottom:1px solid var(--line); }
.login-totp-header h2 { margin:0; font-size:21px; font-weight:600; }
.login-totp-body { min-height:0; padding:20px 26px; overflow-y:auto; overscroll-behavior:contain; }
.login-totp-body p { margin:0 0 20px; color:var(--muted); font-size:14px; line-height:1.7; }
.login-totp-body .form-field { margin-bottom:0; }
.login-totp-body input[name="code"] { text-align:center; font-size:26px; letter-spacing:8px; }
.login-totp-body .form-error { margin:14px 0 0; color:#f28b82; }
.login-totp-actions { flex:none; display:flex; justify-content:flex-end; gap:12px; padding:18px 26px; border-top:1px solid var(--line); }
@media(max-width:480px) { .login-totp-header,.login-totp-body,.login-totp-actions { padding-left:20px; padding-right:20px; } }

.login-trust-choice { display:flex; align-items:flex-start; gap:9px; margin-top:18px; color:var(--ink); font-size:13px; line-height:1.6; cursor:pointer; }
.login-trust-choice input { flex:none; width:16px; height:16px; min-height:0; margin:3px 0 0; padding:0; accent-color:var(--accent); }
