/* EXDEV Account & Security v1.5.0 */
.v15-security-shell { display:grid; gap:22px; width:100%; }
.v15-security-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:18px; padding:4px 2px; }
.v15-security-heading h2 { margin:5px 0 7px; font-size:clamp(27px,3vw,42px); }
.v15-security-heading p { margin:0; color:var(--muted); }
.v15-security-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; align-items:start; }
.v15-security-card { min-width:0; height:100%; }
.v15-sessions-card { grid-column:1/-1; }
.v15-session-list,.v15-event-list { display:grid; gap:11px; max-height:520px; overflow:auto; padding-right:4px; }
.v15-session-card { display:grid; grid-template-columns:auto minmax(0,1fr) auto; gap:14px; align-items:center; padding:15px; border:1px solid rgba(111,161,214,.16); border-radius:17px; background:rgba(8,20,36,.48); }
.v15-session-card.is-current { border-color:rgba(47,242,197,.26); background:linear-gradient(135deg,rgba(47,242,197,.08),rgba(8,20,36,.48)); }
.v15-device-icon { width:42px;height:42px;display:grid;place-items:center;border-radius:13px;background:rgba(39,196,232,.10);border:1px solid rgba(39,196,232,.18);color:#67e6ff;font-size:20px; }
.v15-session-copy,.v15-session-title { min-width:0; }
.v15-session-title { display:flex; align-items:center; gap:9px; flex-wrap:wrap; }
.v15-session-copy small { display:block; color:var(--muted); margin-top:4px; overflow-wrap:anywhere; }
.v15-security-form,.v15-mini-form { display:grid; gap:14px; }
.v15-security-form label,.v15-mini-form label { display:grid; gap:7px; font-weight:800; color:#dbeaff; }
.v15-password-policy { display:flex; gap:7px; flex-wrap:wrap; }
.v15-password-policy span { padding:6px 9px;border-radius:999px;background:rgba(36,136,191,.10);border:1px solid rgba(74,178,221,.15);color:#a8c8de;font-size:11px;font-weight:800; }
.v15-security-status { display:flex; align-items:center; gap:13px; padding:15px; border-radius:17px; border:1px solid rgba(255,183,77,.18); background:rgba(255,183,77,.055); margin-bottom:16px; }
.v15-security-status.enabled { border-color:rgba(47,242,197,.22);background:rgba(47,242,197,.065); }
.v15-security-status>span { width:42px;height:42px;display:grid;place-items:center;border-radius:13px;background:rgba(8,20,36,.55);font-weight:950;color:#66e4ff; }
.v15-security-status b,.v15-security-status small { display:block; }
.v15-security-status small { color:var(--muted);margin-top:3px; }
.v15-security-details { margin-top:14px; border-top:1px solid rgba(148,163,184,.13); padding-top:14px; }
.v15-security-details summary { cursor:pointer;font-weight:900;color:#dcecff;margin-bottom:14px; }
.v15-security-details .danger-zone { margin-top:20px;padding-top:18px;border-top:1px solid rgba(255,82,111,.16); }
.v15-2fa-setup { margin-top:15px;padding:16px;border:1px solid rgba(51,214,255,.18);border-radius:18px;background:rgba(15,31,52,.55); }
.v15-2fa-setup p { margin-top:0; }
.v15-secret { display:block;padding:13px;border-radius:12px;background:#071322;color:#79ebff;overflow-wrap:anywhere;letter-spacing:.08em;margin:10px 0; }
.v15-2fa-setup details code { display:block;overflow-wrap:anywhere;padding:10px;color:#aac9df; }
.v15-recovery-box { margin-top:16px;padding:17px;border-radius:18px;border:1px solid rgba(255,183,77,.22);background:rgba(255,183,77,.055); }
.v15-recovery-box p { margin:4px 0 12px;color:#d1c09c; }
.v15-recovery-grid { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:14px; }
.v15-recovery-grid code { padding:10px;border-radius:10px;background:#071322;color:#fff;text-align:center;letter-spacing:.08em; }
.v15-security-event { display:flex;gap:12px;align-items:center;padding:12px 13px;border-radius:14px;border:1px solid rgba(111,161,214,.13);background:rgba(8,20,36,.42); }
.v15-security-event b,.v15-security-event small { display:block; }
.v15-security-event small { color:var(--muted);margin-top:3px; }
.v15-event-dot { width:10px;height:10px;border-radius:50%;background:#2ff2c5;box-shadow:0 0 12px rgba(47,242,197,.25); }
.v15-event-dot.danger { background:#ff526f;box-shadow:0 0 12px rgba(255,82,111,.22); }
.v15-security-error { border-color:rgba(255,82,111,.22)!important; }
#clientTwoFactorWrap { padding:13px;border:1px solid rgba(51,214,255,.18);border-radius:15px;background:rgba(33,141,194,.06); }
@media (max-width:980px){.v15-security-grid{grid-template-columns:1fr}.v15-sessions-card{grid-column:auto}.v15-security-heading{align-items:flex-start;flex-direction:column}.v15-session-card{grid-template-columns:auto minmax(0,1fr)}.v15-session-card>.btn{grid-column:1/-1;width:100%}}
@media (max-width:560px){.v15-session-card{grid-template-columns:1fr}.v15-device-icon{width:38px;height:38px}.v15-recovery-grid{grid-template-columns:1fr}.v15-security-grid{gap:15px}}
