.access-blocked{overflow:hidden}
.access-overlay{position:fixed;inset:0;z-index:2147483646;display:grid;place-items:center;box-sizing:border-box;padding:24px 16px;overflow:auto;background:var(--paper,#edf4f9);color:var(--ink,#16354a);font-family:inherit}
.access-card{box-sizing:border-box;width:min(100%,640px);padding:clamp(20px,5vw,40px);border:1px solid var(--line,#b9cbd8);border-radius:18px;background:var(--panel,#fff);text-align:center}
.access-card h1{margin:0 0 20px;font-size:clamp(24px,4vw,32px);line-height:1.25;overflow-wrap:break-word}
.access-card p{line-height:1.7;font-size:18px;overflow-wrap:break-word}
.access-until{font-size:16px}
.access-tools{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:16px;margin-top:24px}
.access-tools button{min-width:44px;min-height:44px}
.access-logout{padding:10px 20px;border:1px solid currentColor;border-radius:8px;background:transparent;color:inherit;font:inherit;cursor:pointer}
.access-logout:focus-visible{outline:3px solid currentColor;outline-offset:3px}
.access-banner{box-sizing:border-box;width:100%;padding:12px 20px;background:#8e2330;color:#fff;font-size:16px;line-height:1.5;overflow-wrap:break-word}
html[data-crew-mode=accessible] .access-overlay,html[data-crew-mode=accessible] .access-card,html[data-crew-mode=accessible] .access-banner{background:#fff;color:#000;border:2px solid #000;border-radius:0;font-size:20px}
