.mfa-card { min-width: 0; }
.profile-grid .profile-list { grid-template-columns: minmax(0, 180px) minmax(0, 1fr); }
.profile-grid .profile-list dd { min-width: 0; overflow-wrap: anywhere; }
@media (max-width: 600px) {
  .profile-grid .profile-list { grid-template-columns: minmax(0, 110px) minmax(0, 1fr); }
}
.mfa-card p { line-height: 1.5; margin: 12px 0; }
.mfa-card .form-actions { flex-wrap: wrap; }
.mfa-form { display: grid; gap: 14px; }
.mfa-methods { display: grid; gap: 10px; min-width: 0; }
.mfa-methods select { width: 100%; min-width: 0; }
.mfa-methods button { justify-self: start; }
.mfa-methods [hidden] { display: none; }
.mfa-qr { display: block; max-width: 100%; height: auto; background: white; border-radius: 8px; }
.mfa-secret { display: block; overflow-wrap: anywhere; user-select: all; font-size: 16px; }
.mfa-recovery { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 235px), 1fr)); gap: 10px; padding: 12px 0; }
.mfa-recovery code { font-size: 15px; overflow-wrap: anywhere; }
.mfa-saved { display: flex; align-items: center; gap: 8px; margin: 16px 0; }
.mfa-saved input { width: auto; }
#two-factor-login-form p { line-height: 1.5; }
#two-factor-login-form[hidden], #login-form[hidden] { display: none; }

/* NIPI-140: код из шести ячеек, вставка из буфера, автозапуск проверки */
.mfa-code { display: grid; gap: 6px; }
.mfa-code-label { font-weight: 600; font-size: 13px; }
.mfa-otp { display: flex; gap: 6px; }
.mfa-otp[hidden] { display: none; }
.mfa-otp-cell { width: 42px !important; height: 52px; padding: 0 !important; text-align: center; font-size: 24px; font-weight: 700; font-variant-numeric: tabular-nums;
  border: 1px solid #c9d1dd; border-radius: 10px; caret-color: var(--primary); }
.mfa-otp-cell:focus { outline: 3px solid #26479633; border-color: var(--primary); }
.mfa-otp-cell:nth-child(3) { margin-right: 8px; }
.mfa-switch { justify-self: start; background: none; border: 0; padding: 0; color: var(--primary); font: inherit; font-size: 13px; cursor: pointer; text-decoration: underline; }
.mfa-recovery-field input { font-size: 18px; letter-spacing: 1px; }
@media (max-width: 380px) { .mfa-otp { gap: 5px; } .mfa-otp-cell { width: 38px !important; height: 48px; font-size: 20px; } .mfa-otp-cell:nth-child(3) { margin-right: 4px; } }
