/* ---------- Seguridad (modules/security.js) ---------- */
.sec-card { margin-bottom: 16px; }
.sec-row { display: flex; justify-content: space-between; align-items: flex-start; gap: 24px; flex-wrap: wrap; }
.sec-title { font-size: 15px; font-weight: 600; letter-spacing: -0.01em; display: flex; align-items: center; gap: 10px; }
.sec-note { color: var(--text3); font-size: 13px; margin: 6px 0 0; max-width: 62ch; text-wrap: pretty; }
.sec-actions { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }
.sec-steps { margin: 0; padding: 0; list-style: none; counter-reset: s; display: flex; flex-direction: column; gap: 18px; }
.sec-steps li { counter-increment: s; display: grid; grid-template-columns: 26px 1fr; column-gap: 12px; }
.sec-steps li::before { content: counter(s); grid-row: span 3; width: 24px; height: 24px; border-radius: 50%; display: grid; place-items: center; font-size: 12px; font-weight: 600; background: var(--surface-3); color: var(--text2); }
.sec-steps b { font-weight: 600; }
.sec-steps span { color: var(--text3); font-size: 13px; }
.sec-qr { display: flex; align-items: center; gap: 16px; margin-top: 10px; flex-wrap: wrap; }
.sec-qr svg { width: 148px; height: 148px; background: #fff; border-radius: 10px; box-shadow: 0 0 0 1px var(--border); }
.sec-secret { font-family: var(--font-mono); font-size: 13px; letter-spacing: .04em; padding: 6px 10px; }
.sec-confirm { display: flex; gap: 8px; margin-top: 8px; flex-wrap: wrap; }
.sec-confirm input { width: 150px; font-family: var(--font-mono); letter-spacing: .12em; text-align: center; font-size: 16px; height: 38px; }
.sec-codes { display: grid; grid-template-columns: repeat(auto-fill, minmax(130px, 1fr)); gap: 8px; margin: 14px 0 16px; }
.sec-codes code { font-family: var(--font-mono); font-size: 13.5px; text-align: center; padding: 8px; }
.sec-switch { display: inline-flex; align-items: center; gap: 8px; cursor: pointer; font-size: 13.5px; }
.sec-switch input { width: 16px; height: 16px; accent-color: var(--accent); }
.sec-gate { position: fixed; inset: 0; z-index: 500; background: var(--canvas); display: grid; place-items: center; padding: 24px; overflow-y: auto; }
.sec-gate-card { width: min(560px, 100%); background: var(--surface); border: 1px solid var(--border); border-radius: var(--r-xl); padding: 28px; box-shadow: var(--shadow-lg); position: relative; }
.sec-gate-card h2 { margin: 0; font-size: 22px; font-weight: 600; letter-spacing: -0.025em; }
.sec-gate-card #secGateBody { margin-top: 20px; }
.sec-gate-out { position: absolute; top: 20px; right: 20px; }
