body[data-session-locked]>.sidebar,body[data-session-locked]>.shell,body[data-session-locked]>dialog:not(#accessGate){visibility:hidden}
#accessGate{position:fixed;inset:0;z-index:10000;width:100%;height:100%;max-width:none;max-height:none;margin:0;border:0;display:grid;place-items:center;padding:24px;background:radial-gradient(ellipse at 20% 10%,#d1eee7 0,transparent 50%),#eff6f4;border-radius:0;overflow:auto}
#accessGate::backdrop{background:#eff6f4}
#accessGate[hidden]{display:none}
#accessGate>.panel,#accessGate>.auth-card{width:min(100%,540px)}
#accessGate h1{font-size:clamp(1.65rem,4vw,2.1rem);letter-spacing:-.04em;line-height:1.2;margin:12px 0}
#accessGate p{line-height:1.65}
.auth-card{padding:36px;background:white;border:1px solid #d5e6e1;border-radius:24px;box-shadow:0 16px 60px #103f4312}
.auth-brand{display:grid;place-items:center;width:54px;height:54px;border-radius:16px;background:#0c3c43;color:#b0eee0;font-weight:800;font-size:24px;margin-bottom:24px}
.auth-primary{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;margin:22px 0 12px;min-height:48px}
.auth-primary>span{background:white;color:#264e58;border-radius:50%;width:24px;height:24px;font-weight:800;display:grid;place-items:center}
.auth-hint,.auth-footer{font-size:12px;color:#57716f}
.auth-footer{padding-top:20px;margin-top:24px;border-top:1px solid #e4eeeb;text-align:center}
.auth-account{overflow-wrap:anywhere;font-weight:600;color:#0c5656;background:#eff8f5;border-radius:10px;padding:10px 12px}
.auth-qr{display:flex;justify-content:center;margin:18px 0;background:white}
.auth-qr img{width:220px;height:220px;max-width:100%;object-fit:contain}
.auth-manual{font-size:12px;margin:14px 0}.auth-manual code{display:block;overflow-wrap:anywhere;padding:12px;background:#f1f6f5;user-select:all}
#mfaForm{display:grid;gap:8px;margin-top:18px}#mfaForm label{font-size:13px;font-weight:650}#mfaForm label[hidden]{display:none}
#mfaForm input,#mfaForm select{width:100%;padding:13px;border:1px solid #aac9bf;border-radius:10px;font:inherit}
#mfaCode{font-size:24px!important;letter-spacing:.28em;text-align:center;font-variant-numeric:tabular-nums}
.auth-error{color:#9d3128;font-size:13px;margin:0}.auth-cancel{display:block;margin:14px auto}.auth-concealed #mfaQR,.auth-concealed #mfaSecret{visibility:hidden}
@media(max-width:520px){#accessGate{padding:16px}.auth-card{padding:24px;border-radius:18px}}
