#two-factor-modal{position:fixed;z-index:2147483000;inset:0;font-family:inherit;color:#1f2937}.twofa-backdrop{position:absolute;inset:0;background:rgba(15,23,42,.56)}.twofa-card{position:relative;box-sizing:border-box;width:min(430px,calc(100vw - 32px));max-height:calc(100vh - 32px);overflow:auto;margin:8vh auto;padding:28px;border-radius:16px;background:#fff;box-shadow:0 24px 60px rgba(0,0,0,.25)}.twofa-card h2{margin:0 0 12px;font-size:21px}.twofa-card p{line-height:1.65;color:#4b5563}.twofa-card input{box-sizing:border-box;width:100%;margin:12px 0;padding:12px;border:1px solid #d1d5db;border-radius:9px;font-size:16px}.twofa-card button{width:100%;margin-top:10px;padding:11px;border:0;border-radius:9px;background:#374151;color:#fff;font-weight:600;cursor:pointer}.twofa-card .twofa-secondary{background:#f3f4f6;color:#374151}.twofa-error{min-height:22px;margin:0!important;color:#dc2626!important;font-size:13px}.twofa-qr{display:flex;justify-content:center;margin:14px 0}.twofa-qr img{max-width:190px;height:auto}.twofa-secret{display:block;overflow-wrap:anywhere;padding:9px;border-radius:8px;background:#f3f4f6;text-align:center;font-size:13px}.twofa-codes{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin:16px 0;padding:0;list-style:none}.twofa-codes li{padding:7px;border-radius:7px;background:#f3f4f6;text-align:center;font-size:12px}@media (prefers-color-scheme:dark){.twofa-card{background:#1f2937;color:#f9fafb}.twofa-card p{color:#d1d5db}.twofa-card input{background:#111827;color:#f9fafb;border-color:#4b5563}.twofa-secret,.twofa-codes li{background:#111827}.twofa-card .twofa-secondary{background:#374151;color:#fff}}.twofa-profile-card{margin-bottom:16px}.twofa-profile-row{display:flex;align-items:center;justify-content:space-between;gap:16px}.twofa-profile-row p{margin:6px 0 0;color:#6b7280;font-size:13px;line-height:1.5}.twofa-profile-row .btn{white-space:nowrap}

/* Keep the profile two-factor action aligned with the compact save button. */
.twofa-profile-row .btn[data-twofa-profile-bind],
.twofa-profile-row .btn[data-twofa-profile-disable]{width:auto;min-width:0;min-height:38px;padding:7px 12px;border-radius:4px;font-size:14px;line-height:20px}
@media(max-width:575px){.twofa-profile-row .btn[data-twofa-profile-bind],.twofa-profile-row .btn[data-twofa-profile-disable]{width:auto}}@media(max-width:575px){.twofa-profile-row{align-items:flex-start;flex-direction:column}.twofa-profile-row .btn{width:100%}}
/* On the account-security page, the bind action intentionally matches the native Save button footprint. */
.twofa-profile-row .btn[data-twofa-profile-bind]{width:64px!important;min-width:64px!important;max-width:64px!important;flex:0 0 64px;height:38px;min-height:38px;padding:0;font-size:12px;line-height:38px;text-align:center;white-space:nowrap}
/* Mobile: make only the immediate-bind action shorter and visually closer to the status text. */
@media(max-width:575px){
  .twofa-profile-row [data-twofa-profile-action]{margin-left:18px}
  .twofa-profile-row .btn[data-twofa-profile-bind]{height:32px!important;min-height:32px!important;line-height:32px!important;margin-top:-4px}
}

/* The unbound action mirrors the native profile Save control: a compact, left-aligned button with equal visual breathing room. */
.twofa-profile-card.twofa-profile-bind-pending .twofa-profile-row{display:block}
.twofa-profile-card.twofa-profile-bind-pending .block-content{padding-bottom:22px!important}
.twofa-profile-card.twofa-profile-bind-pending [data-twofa-profile-action]{display:block;margin-top:20px!important}
.twofa-profile-card.twofa-profile-bind-pending .btn[data-twofa-profile-bind]{display:block;width:70px!important;min-width:70px!important;max-width:70px!important;height:35px!important;min-height:35px!important;padding:0!important;font-size:14px!important;line-height:35px!important;text-align:center}
