/* Initial HTML is locked before JavaScript or cached personal data can load. */
body[data-access-state=locked] .app-frame{filter:blur(10px);pointer-events:none;user-select:none}
body[data-access-state=locked]>.skip-link{display:none}
body[data-access-state=locked][data-workspace-loaded] .app-frame{visibility:hidden}
body[data-access-state=locked] #toastRegion{display:none}
.access-boot{position:fixed;inset:0;z-index:1000;display:grid;place-content:center;padding:24px;text-align:center;color:var(--text);background:var(--bg)}
.access-boot[hidden]{display:none}
.access-gate{width:min(460px,calc(100% - 32px));max-height:calc(100dvh - 32px);padding:30px;border:1px solid var(--stroke);border-radius:18px;background:var(--panel);color:var(--text);box-shadow:0 20px 80px #0004;overflow:auto}
.access-gate:modal{overscroll-behavior:contain}
.access-gate::backdrop{background:#15130f88;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);overflow:hidden;overscroll-behavior:contain}
.access-gate h1{font-size:32px;margin:12px 0;font-weight:500;line-height:1.2}
.access-gate #accessIntro,.access-note{font-size:13px;color:var(--muted);line-height:1.6}
.access-form{display:grid;gap:9px;margin:22px 0 0}
.access-form label{font-size:13px;color:var(--muted)}
.access-form input{width:100%;min-width:0;padding:12px;border:1px solid var(--stroke);border-radius:9px;background:var(--bg);color:var(--text);font:inherit;font-size:16px}
.access-form input:focus-visible,.access-gate button:focus-visible{outline:2px solid var(--cyan);outline-offset:3px}
.access-form #accessShowPassword{justify-self:start;font-size:12px;padding:7px 10px;margin-bottom:6px}
.access-gate .btn{min-height:40px;white-space:normal;overflow-wrap:anywhere}
.access-gate .btn:disabled{opacity:.6;cursor:wait}
.access-actions{display:flex;gap:8px;flex-wrap:wrap}
.access-actions .btn{font-size:12px;padding:8px 10px}
.access-status{min-height:44px;margin:16px 0;font-size:13px;line-height:1.6;color:var(--muted);overflow-wrap:anywhere}
.access-status.error{color:var(--red)}
.access-note{margin:18px 0 0;font-size:12px}
@media(max-width:460px){.access-gate{padding:22px}.access-actions{display:grid;grid-template-columns:1fr}}
@media print{body[data-access-state=locked] .app-frame,body[data-access-state=locked] #toastRegion{display:none!important}}
