Default · code entry (auto-advance, paste-aware)
Enter your code

Enter the 6-digit code from your authenticator app.

Verifying · in-flight (button disabled, no double-submit)
Enter your code

Enter the 6-digit code from your authenticator app.

Error · wrong or expired code (fail-closed — stays on screen, no navigation)
Enter your code

That didn't work. Enter the current 6-digit code.

Wrong or expired code.
Too many attempts · 429 RATE_LIMITED (fail-closed, Retry-After countdown)
Enter your code

Wait = 429 Retry-After (seconds), shown as a live m:ss countdown; “Try again” disabled until it hits zero. Header missing/invalid → “Wait a few minutes, then try again.”, button enabled. Code kept, not marked red.

Code sent (email/SMS) · expiry countdown + resend cooldown
Enter your code

We sent a code to •••• •• 4471.

Expires in 04:52
Resend code in 0:28
Error · couldn't deliver the code (fail-closed, offer other factors)
Enter your code

We couldn't send your code

The text didn't go through. Try again, or use your authenticator app, email, or a recovery code instead.

Frame 02 / 04 · Enter code · /login/mfa — 375px (Android TWA)

Review · mfa-stepup-mobile approve or reject each flow ↓
mfa-stepup-mobileapproved · izzywdev
confirm-contact-phoneapproved · izzywdev
security-status-mobileapproved · izzywdev