.security-login{max-width:620px;width:100%;margin:clamp(18px,7vh,80px) auto;padding:32px;background:var(--surface);border:1px solid var(--line);border-radius:20px;box-shadow:0 18px 60px #18263509}
.security-login #login{padding:0;border:0;background:none;box-shadow:none;max-width:none}.security-login h1{font-size:1.7rem;letter-spacing:-.045em;margin-bottom:12px}.security-login .login-brand{justify-content:flex-start;margin-bottom:30px;font-size:.95rem}.security-login p.muted{font-size:.875rem;margin-bottom:24px}.security-login form{display:grid;gap:4px}.security-login .button.primary{min-height:44px}.security-login [role=alert]{color:var(--red);font-size:.8125rem;line-height:1.6;margin-top:12px}.security-eyebrow{font-size:.625rem;font-weight:650;letter-spacing:.13em;color:var(--accent);margin-bottom:8px}.security-symbol{display:grid;place-items:center;width:46px;height:46px;border-radius:13px;background:var(--accent-soft);color:var(--accent);flex-shrink:0}.security-symbol svg{width:25px;height:25px}.security-footer{font-size:.75rem;color:var(--muted);border-top:1px solid var(--line);margin-top:22px;padding-top:18px}
.authenticator-setup{display:grid;grid-template-columns:180px minmax(0,1fr);gap:24px;align-items:center;margin-bottom:26px}.security-qr{width:180px;height:180px;border:1px solid var(--line);border-radius:12px;background:white}.authenticator-setup strong{font-size:.875rem}.authenticator-setup p{margin:6px 0 14px!important}.security-key{display:block;padding:14px;background:var(--surface-soft);border:1px solid var(--line);border-radius:8px;overflow-wrap:anywhere;font-size:.875rem;user-select:all;margin:12px 0}.recovery-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:22px 0}.recovery-grid code{padding:12px 8px;border:1px solid var(--line);background:var(--surface-soft);border-radius:7px;text-align:center;font-size:.8rem;user-select:all}.security-saved{display:flex;align-items:center;gap:10px;font-size:.8125rem;margin:24px 0 16px}.security-codes-dialog{padding:10px}.security-codes-dialog>.security-symbol{margin-bottom:20px}.security-codes-dialog p{font-size:.875rem;line-height:1.65}.security-codes-dialog [role=status]{font-size:.75rem;color:var(--muted);margin-top:10px}
.security-settings{max-width:1060px;display:grid;grid-template-columns:1fr 1fr;gap:20px}.security-settings .panel{margin:0;padding:28px}.security-settings h2{margin:20px 0 8px}.security-settings p{font-size:.875rem;max-width:42ch;margin-bottom:24px}.security-settings .security-session{grid-column:1/-1}.security-session h2{margin-top:0}.security-session p{max-width:none;margin-bottom:0}.security-number{display:block;font-size:2rem;line-height:46px;letter-spacing:-.04em;color:var(--accent);font-variant-numeric:tabular-nums}.security-state{display:inline-flex;padding:5px 9px;border-radius:6px;font-size:.75rem;background:var(--surface-soft);border:1px solid var(--line);color:var(--muted);white-space:nowrap}.security-state.enabled{background:var(--accent-soft);color:var(--accent);border-color:transparent}
#session-warning{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);width:max-content;max-width:calc(100% - 32px);padding:14px 20px;border:1px solid #dbb666;background:var(--surface);color:var(--ink);border-radius:10px;box-shadow:0 6px 28px #0002;font-size:.8125rem;z-index:90}
@media(max-width:640px){.security-login{padding:24px 20px;margin:12px auto;border-radius:14px}.authenticator-setup{grid-template-columns:1fr;gap:18px}.security-qr{justify-self:center}.security-settings{grid-template-columns:1fr;gap:14px}.security-settings .panel{padding:22px}.recovery-grid{gap:8px}.recovery-grid code{font-size:.7rem;padding:10px 5px}.security-login h1{font-size:1.5rem}#session-warning{bottom:80px}}

.security-settings>section:not(.security-session){display:flex;flex-direction:column;align-items:flex-start}.security-settings>section:not(.security-session)>.button{margin-top:auto}
.security-state.off,.security-state.temporary_off{background:#fff4d8;color:#805311;border-color:#e9d6a8}.security-until{display:block;margin-top:6px;font-size:.75rem;line-height:1.5;color:var(--muted)}.user-security-controls{border-top:1px solid var(--line);padding-top:20px;margin-top:20px;display:grid;gap:16px}.user-security-controls h3{margin:0 0 10px}.user-security-controls .actions{display:flex;flex-wrap:wrap;gap:8px}.security-policy-dialog{max-width:520px;margin:auto}.security-policy-dialog>.security-symbol{margin-bottom:18px}.security-policy-dialog h2{margin:0 0 8px}.security-policy-current{margin:18px 0 24px}.security-policy-dialog .field select{width:100%;min-height:46px}.security-policy-note{padding:14px 16px;border:1px solid var(--line);border-radius:10px;background:var(--surface-soft);font-size:.8125rem;line-height:1.65;margin:14px 0}.security-policy-verify{border-top:1px solid var(--line);padding-top:20px;margin-top:24px}.security-policy-verify h3{font-size:.875rem;margin:0 0 16px}@media(max-width:640px){.user-security-controls .actions>.button{flex:1 1 150px}.security-policy-dialog{min-width:0}}
@media(max-width:640px){#modal:has(.security-policy-dialog) .dialog-actions{position:sticky;bottom:-20px;background:var(--surface);padding:14px 0 6px;z-index:1}.security-policy-dialog>.security-symbol{display:none}.security-policy-current{margin:14px 0 18px}.security-policy-verify{margin-top:18px;padding-top:16px}}

.remember-device{align-items:flex-start!important;margin:12px 0 4px!important}.remember-device input{margin-top:3px;flex:none}
.signed-in-devices{margin-top:24px}.device-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.device-heading h2{margin-bottom:8px}.device-heading p{margin-bottom:18px}.device-row{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 0;border-top:1px solid var(--line)}.device-row p{margin:7px 0 0;line-height:1.65}.device-row .button{flex-shrink:0}.device-row strong{overflow-wrap:anywhere}.security-verify-dialog{width:min(520px,calc(100vw - 32px));max-height:calc(100dvh - 32px);overflow:auto;padding:28px;border:1px solid var(--line);border-radius:18px;background:var(--surface);color:var(--text)}.security-verify-dialog::backdrop{background:#13253580}.security-verify-dialog h2{margin:18px 0 12px}.security-verify-dialog [role=alert]{color:var(--red)}.security-verify-dialog .dialog-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:20px}@media(max-width:640px){.device-heading{flex-direction:column;gap:4px}.device-heading .button{margin-bottom:18px}.device-row{align-items:flex-start;gap:12px}.device-row .badge{display:inline-block;margin-top:6px}.security-verify-dialog{padding:22px}}
