.mfa-card { width:min(460px,calc(100vw - 32px)); }
.mfa-card h2,.mfa-setup-card h1 { margin:4px 0 6px; }
.mfa-lead { margin:0 0 18px; color:var(--text-secondary); font-size:13px; }
.mfa-form { margin-top:16px; }
.mfa-field { display:grid; gap:6px; }
.mfa-field label { color:var(--text-secondary); font-size:11px; font-weight:650; }
.mfa-field small,.field-error { font-size:10px; }
.mfa-field small { color:var(--text-secondary); }
.field-error { color:var(--danger); }
.mfa-actions { display:flex; justify-content:flex-end; gap:8px; margin-top:6px; }
.mfa-backup-action { margin-top:10px; padding-top:12px; border-top:1px solid var(--border); }
.mfa-setup-card { width:min(680px,100%); margin:0 auto; padding:24px; }
.mfa-setup-card>p { color:var(--text-secondary); line-height:1.55; }
.mfa-info-box,.mfa-warning-box { display:grid; gap:4px; margin:18px 0; padding:13px 15px; border-radius:8px; }
.mfa-info-box { color:#28516f; background:#edf6fd; border:1px solid #c9e2f4; }
.mfa-warning-box { color:#654d00; background:var(--warning-soft); border:1px solid #ead588; }
.mfa-info-box span,.mfa-warning-box span { font-size:12px; line-height:1.45; }
.mfa-qr-wrap { display:grid; width:230px; height:230px; margin:18px auto; place-items:center; padding:14px; background:#fff; border:1px solid var(--border); border-radius:10px; }
.mfa-qr-wrap img { width:100%; height:100%; }
.mfa-manual-key { margin:14px 0; padding:10px 12px; background:var(--surface-secondary); border-radius:7px; }
.mfa-manual-key summary { cursor:pointer; font-size:11px; font-weight:650; }
.mfa-manual-key code { display:block; margin-top:9px; overflow-wrap:anywhere; font-size:12px; user-select:all; }
.recovery-code-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; margin:18px 0; padding:0; list-style:none; counter-reset:recovery; }
.recovery-code-grid li { display:flex; align-items:center; gap:8px; padding:10px 12px; background:var(--surface-secondary); border:1px solid var(--border); border-radius:7px; counter-increment:recovery; }
.recovery-code-grid li::before { color:var(--text-secondary); content:counter(recovery) "."; font-size:10px; }
.recovery-code-grid code { font-size:13px; font-weight:700; letter-spacing:.04em; user-select:all; }
.mfa-profile-card { width:min(760px,100%); margin:0 auto; padding:22px; }
.mfa-state { display:flex; align-items:center; gap:12px; margin-bottom:18px; padding:14px; border-radius:8px; }
.mfa-state>span { display:grid; width:34px; height:34px; flex:0 0 auto; place-items:center; border-radius:50%; font-weight:800; }
.mfa-state>div { display:grid; gap:2px; }
.mfa-state small { color:var(--text-secondary); }
.mfa-state.is-active { background:var(--success-soft); }
.mfa-state.is-active>span { color:#fff; background:var(--success); }
.mfa-state.is-pending { background:var(--warning-soft); }
.mfa-state.is-pending>span { color:#fff; background:var(--warning); }
.mfa-summary { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); margin:0 0 18px; border:1px solid var(--border); border-radius:8px; }
.mfa-summary>div { display:grid; gap:4px; padding:13px 15px; }
.mfa-summary>div+div { border-left:1px solid var(--border); }
.mfa-summary dt { color:var(--text-secondary); font-size:10px; }
.mfa-summary dd { margin:0; font-size:13px; font-weight:700; }
.mfa-status-row { display:flex; align-items:center; justify-content:space-between; margin:16px 0; padding:13px 15px; background:var(--surface-secondary); border-radius:8px; }
.mfa-status-row strong { font-size:22px; }
@media (max-width:640px) {
  .mfa-setup-card,.mfa-profile-card { padding:18px; }
  .recovery-code-grid,.mfa-summary { grid-template-columns:1fr; }
  .mfa-summary>div+div { border-top:1px solid var(--border); border-left:0; }
}
@media print {
  .recovery-code-grid { grid-template-columns:repeat(2,1fr); }
  .sidebar,.topbar,.back-link,.mfa-actions,.message-stack { display:none!important; }
  .app-workspace,.main-content { margin:0!important; padding:0!important; }
  .mfa-setup-card { border:0; box-shadow:none; }
}
