/* Segurança v1.19.2 — somente componentes novos; não altera o layout aprovado. */
.twofactor-card{align-self:stretch}
.security-status{display:flex;align-items:center;gap:12px;padding:14px;border:1px solid #dceae6;border-radius:16px;background:#f8fcfb;margin-bottom:15px}
.security-status>span{display:grid;place-items:center;width:38px;height:38px;min-width:38px;border-radius:12px;font-weight:900;background:#e6f5f2;color:#0f766e}
.security-status strong{display:block;color:#14383b}.security-status small{display:block;margin-top:2px;color:#6a807c;line-height:1.35}
.security-status.enabled{border-color:#b9e5dc;background:#f0fbf8}.security-status.enabled>span{background:#119487;color:#fff}
.security-status.pending{border-color:#c8dff0;background:#f5faff}.security-status.pending>span{background:#e6f1fa;color:#266589}
.totp-setup-key{display:grid;gap:7px;margin:14px 0;padding:14px;border-radius:14px;background:#0f2f33;color:#fff}.totp-setup-key span{font-size:.75rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:#b8d7d2}.totp-setup-key code{font-size:1.05rem;font-weight:900;letter-spacing:.12em;overflow-wrap:anywhere}
.totp-uri-details,.security-action-details{margin:10px 0 14px}.totp-uri-details summary,.security-action-details summary{cursor:pointer;color:#0f766e;font-weight:850}.totp-uri-details code{display:block;margin-top:9px;padding:10px;border-radius:10px;background:#f5f9f8;overflow-wrap:anywhere;font-size:.72rem}
.recovery-codes-box{margin:14px 0;padding:15px;border-radius:16px;border:1px solid #f0dba3;background:#fffaf0}.recovery-codes-box strong{color:#684c0d}.recovery-codes-box p{margin:5px 0 12px;color:#7d6a3d;font-size:.85rem}.recovery-code-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.recovery-code-grid code{padding:9px 10px;border-radius:10px;background:#fff;border:1px solid #eedcab;text-align:center;font-weight:900;letter-spacing:.06em;color:#5d4918}
.twofactor-manage-grid{display:grid;grid-template-columns:1fr;gap:12px;margin-top:12px}.compact-security-form{padding:13px;border:1px solid #e2ece9;border-radius:14px;background:#fbfdfd}.security-button-row{display:flex;gap:10px;flex-wrap:wrap}.twofactor-login-help{display:block;margin:-4px 0 2px;color:#6b817d;line-height:1.4}.twofactor-login-form input{text-align:center;letter-spacing:.18em;font-size:1.15rem;font-weight:900}
@media(max-width:640px){.recovery-code-grid{grid-template-columns:1fr}.security-button-row>*{width:100%}}

/* QR Code local para ativação do 2FA — v1.19.3 */
.totp-qr-setup{display:flex;align-items:center;gap:18px;margin:14px 0;padding:16px;border:1px solid #dceae6;border-radius:16px;background:#fbfefd}
.totp-qr-frame{display:grid;place-items:center;width:190px;min-width:190px;padding:10px;border:1px solid #d8e6e3;border-radius:16px;background:#fff;box-shadow:0 8px 24px rgba(17,74,70,.08)}
.totp-qr-svg{display:block;width:100%;height:auto;aspect-ratio:1/1}
.totp-qr-copy{display:grid;gap:5px;min-width:0}.totp-qr-copy strong{color:#14383b;font-size:1rem}.totp-qr-copy small{color:#687f7b;line-height:1.5}
.totp-manual-details{margin:10px 0 14px;padding:0}.totp-manual-details>summary{cursor:pointer;color:#0f766e;font-weight:850;list-style-position:outside;margin-left:18px}.totp-manual-details[open]>summary{margin-bottom:10px}
@media(max-width:640px){.totp-qr-setup{display:grid;justify-items:center;text-align:center}.totp-qr-frame{width:min(220px,100%);min-width:0}.totp-qr-copy{max-width:360px}}
