.access-shell{min-height:calc(100vh - 96px);padding:56px 20px 80px;background:var(--color-bg,#f7f7f2)}
.access-card{width:min(100%,560px);margin:auto;background:var(--color-surface,#fff);border:1px solid var(--color-border,#222);border-radius:24px;padding:clamp(24px,5vw,44px);box-sizing:border-box}
.access-card [hidden]{display:none!important}.access-card h1{font-size:clamp(30px,5vw,42px);line-height:1.1;margin:12px 0 18px}.access-card h2{font-size:24px;margin:24px 0 12px}
.access-card p,.access-card li{line-height:1.6}.access-card form{display:grid;gap:14px}.access-card label{font-weight:650}.access-card input{width:100%;min-width:0;box-sizing:border-box;padding:14px;border:1px solid var(--color-border,#444);border-radius:10px;font:inherit;background:var(--color-surface,#fff);color:var(--color-text,#111)}
.access-card input[type=checkbox]{width:auto;margin-right:8px}.access-card .btn{max-width:100%;white-space:normal;justify-content:center}.access-actions{display:flex;gap:10px;flex-wrap:wrap;margin:14px 0}.access-actions>*{flex:1 1 auto}
.access-progress{display:flex;list-style:none;padding:0;gap:10px;font-size:13px;flex-wrap:wrap}.access-progress li{color:var(--color-text-muted,#666);padding:5px 0;border-bottom:2px solid transparent}.access-progress [aria-current=step]{color:var(--color-text,#111);font-weight:700;border-color:currentColor}
.access-status{min-height:24px;margin:16px 0;overflow-wrap:anywhere}.access-status.error{color:var(--color-danger,#a01818)}.access-card :focus-visible{outline:3px solid var(--color-text,#111);outline-offset:4px}.access-card details{margin:20px 0;padding:16px 0;border-top:1px solid var(--color-border,#ccc)}.access-card summary{cursor:pointer;font-weight:650;line-height:1.5}
.access-help{font-size:14px;color:var(--color-text-muted,#555)}.access-help a{overflow-wrap:anywhere}.access-qr{padding:16px;background:#fff;border:1px solid #ddd;border-radius:12px;width:max-content;max-width:100%;box-sizing:border-box;margin:20px auto}.access-qr svg{display:block;width:min(224px,100%);height:auto;max-width:100%}
.access-codes{background:var(--color-bg,#f4f4f0);padding:18px;border-radius:12px;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.8;font-family:ui-monospace,monospace}.access-sessions{list-style:none;padding:0}.access-sessions li{padding:16px 0;border-top:1px solid var(--color-border,#ddd);overflow-wrap:anywhere}.access-sessions button{margin-top:8px}.access-rule{border:0;border-top:1px solid var(--color-border,#ddd);margin:28px 0}
@media(max-width:430px){.access-shell{padding:28px 14px 50px}.access-card{border-radius:18px;padding:24px 20px}.access-actions{flex-direction:column}.access-actions>*{width:100%;box-sizing:border-box}}
@media(prefers-reduced-motion:reduce){.access-card *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

#sign-out{display:flex;margin:28px 0 16px}#sign-out+a{display:block}
