/* Security panels share the settings palette and stay readable at narrow widths. */
.security-center { margin-top:24px; }
.security-summary { display:flex;align-items:center;gap:15px;padding:18px;border:1px solid #395466;border-radius:12px;background:#102839; }
.security-summary strong { color:#c6f4f9;font-size:.95rem; }
.security-summary p { margin:6px 0 0; }
.security-shield { width:42px;height:42px;border:1px solid #75c9d5;border-radius:14px;display:grid;place-items:center;color:#a5eff4;font-size:1.8rem;flex-shrink:0; }
.security-summary[data-required=true] { border-color:#ba9b57;background:#2b271c; }
.security-summary[data-required=true] strong { color:#ffe4a7; }
.security-method-card { display:flex;flex-wrap:wrap;align-items:flex-start;gap:14px 18px;padding:24px 0;border-bottom:1px solid #2c3d51; }
.security-method-card > div { flex:1 1 270px; }
.security-method-card h3,.security-task h3,.security-password-heading h3 { font-size:1rem;margin:4px 0 9px;color:#e4effb; }
.security-method-card p { font-size:.8rem;color:#a8bdd2;line-height:1.65;margin:5px 0; }
.security-tag { color:#94e3d9;font-size:.58rem;letter-spacing:.13em;font-weight:700; }
.management-page .security-method-card > button { flex-shrink:0;margin-top:6px; }
.security-center button,.security-session-list button { min-height:42px;padding:10px 14px;cursor:pointer;border:1px solid #6195aa;border-radius:9px;color:#e3faff;background:#20485c;font:inherit;font-size:.78rem; }
.security-center button:hover,.security-session-list button:hover { background:#2b5b70; }
.security-center button:disabled,.security-session-list button:disabled { opacity:.48;cursor:not-allowed; }
.security-center .security-secondary,.security-session-list button { background:#142437;border-color:#3c556e;color:#c7d9eb; }
.security-center button:focus-visible,.security-center summary:focus-visible,.security-session-list button:focus-visible,.mfa-card button:focus-visible { outline:2px solid #a8f3ff;outline-offset:4px; }
.security-method-list,.security-session-list { list-style:none;padding:0;margin:0;width:100%; }
.security-method-list li,.security-session-list li { display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 0;border-top:1px solid #293b51; }
.security-method-list li > div,.security-session-list li > div { min-width:0; }
.security-method-list strong,.security-session-list strong { display:block;font-size:.85rem;color:#dfecf9;overflow-wrap:anywhere; }
.security-method-list small,.security-session-list small { display:block;font-size:.72rem;color:#9fb7cf;line-height:1.7;margin-top:4px; }
.security-method-list button,.security-session-list button { flex-shrink:0; }
.security-session-current { display:inline-block;color:#9be3cf;font-size:.65rem;border:1px solid #31594b;background:#16352e;border-radius:20px;padding:2px 8px;margin-top:7px; }
.security-notice { padding:20px 0; }
.security-notice strong { font-size:.82rem;color:#d0e2f5; }
.security-notice p { font-size:.75rem;line-height:1.65;color:#a4bbd2;margin:6px 0 0; }
.security-task { border:1px solid #52718b;padding:22px;border-radius:13px;background:#0a1728;scroll-margin-top:24px; }
.security-task > header { display:flex;align-items:center;justify-content:space-between;gap:16px; }
.management-page .security-task form { margin:12px 0 0; }
.security-task p { font-size:.82rem;line-height:1.7;color:#b6c9dd; }
.security-form label { display:block;margin:18px 0 8px; }
.security-form input,.security-form select { width:100%;min-width:0;box-sizing:border-box;border:1px solid #4a617b;border-radius:8px;padding:12px;background:#081321;color:#edf8ff;font:inherit; }
.security-form button[type=submit] { margin-top:18px; }
.security-form details { margin-top:16px; }
.security-form summary { cursor:pointer;color:#a4e8f4;font-size:.8rem;padding:8px 0; }
.security-qr { width:204px;max-width:100%;height:auto;display:block;background:#fff;border:12px solid #fff;border-radius:10px;margin:20px auto;box-sizing:border-box; }
#security-totp-secret { font-family:monospace;font-size:.85rem;letter-spacing:.08em; }
.security-recovery-codes { display:grid;grid-template-columns:1fr 1fr;gap:10px;list-style:none;padding:0;margin:20px 0; }
.security-recovery-codes li { font-family:monospace;font-size:.9rem;text-align:center;border:1px solid #385069;padding:11px 8px;border-radius:8px;background:#060f1d;color:#dbf4ff;overflow-wrap:anywhere; }
.security-task .account-consent { display:flex;align-items:flex-start;gap:10px;font-size:.8rem;line-height:1.6;margin:20px 0; }
.security-task .account-consent input { margin-top:5px; }
.security-password-heading { border-top:1px solid #34465b;padding-top:24px;margin-top:28px; }
#security-totp-code,.mfa-code { font-variant-numeric:tabular-nums;font-size:1.5rem;letter-spacing:.3em;max-width:300px; }
.mfa-layout { max-width:960px;margin:30px auto 90px;padding:0 6%;display:grid;grid-template-columns:1fr; }
.mfa-card { width:100%;max-width:580px;margin:auto;padding:34px;border:1px solid #36516b;border-radius:20px;background:linear-gradient(145deg,#12243a,#0a1423); }
.mfa-card h1 { font-size:clamp(1.8rem,5vw,2.5rem);letter-spacing:-.04em;line-height:1.18;margin:18px 0; }
.mfa-card > p { color:#b2c9df;font-size:.9rem;line-height:1.7; }
.mfa-card .security-shield { width:52px;height:52px; }
.mfa-card button { cursor:pointer;min-height:44px;border:1px solid #46758a;border-radius:9px;padding:12px 16px;background:#20495e;color:#e5f8ff;font:inherit;font-size:.85rem; }
.mfa-card button:disabled { opacity:.5;cursor:not-allowed; }
.mfa-card label { display:block;font-size:.85rem;margin:18px 0 8px; }
.mfa-card input { width:100%;border:1px solid #536b83;border-radius:9px;padding:14px;background:#071421;color:#eef9ff;box-sizing:border-box; }
.mfa-card form button { display:block;margin:18px 0; }
.mfa-card .mfa-alternatives { border-top:1px solid #2d425a;display:flex;flex-wrap:wrap;gap:12px;margin-top:28px;padding-top:22px; }
.mfa-card .mfa-alternatives button { border:0;background:transparent;color:#a3ddf1;padding:6px 0;text-align:left; }
.mfa-card .mfa-alternatives button + button { margin-left:auto; }
.mfa-card .account-error { color:#ffc2c5; }
#mfa-passkey { width:fit-content;margin:16px 0 4px; }
#mfa-recovery-code { font-family:monospace;font-size:1.15rem;letter-spacing:.08em; }
#mfa-cancel { color:#9eb9d3; }
@media(max-width:600px) {
 .security-method-card > div { flex-basis:100%; }
 .security-task { padding:17px 13px; }
 .security-recovery-codes { gap:7px; }
 .security-recovery-codes li { font-size:.76rem;padding:11px 3px; }
 .security-session-list li { align-items:flex-start;gap:10px; }
 .security-session-list button { padding:9px 10px;font-size:.71rem; }
 .mfa-layout { margin:10px auto 50px;padding:0 5%; }
 .mfa-card { padding:25px 18px;box-sizing:border-box; }
}

#recovery-method { display:block;width:100%;border:1px solid #3a526d;border-radius:8px;padding:12px;background:#0a1727;color:#ddecff;font:inherit;font-size:.85rem; }
#security-backup-code { font-variant-numeric:tabular-nums;font-size:1.5rem;letter-spacing:.3em;max-width:300px; }

.security-method-card p,.security-notice p { overflow-wrap:anywhere; }
