.access-page { min-height: 100svh; display: grid; place-items: center; padding: 28px 24px; }
.access-panel { width: min(100%, 400px); }
.access-back { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; margin-bottom: 56px; color: var(--text-muted); font-size: 14px; text-decoration: none; }
.access-back:hover { color: var(--heading); }
.access-icon { width: 32px; height: 32px; margin-bottom: 24px; color: var(--text-muted); }
.access-eyebrow { color: var(--text-muted); font-size: 13px; margin-bottom: 12px; }
.access-title { color: var(--heading); font-size: 40px; line-height: 1.12; font-weight: 500; margin-bottom: 16px; }
.access-description { color: var(--text-muted); font-size: 15px; line-height: 24px; margin-bottom: 32px; }
.access-label { display: block; color: var(--text); font-size: 14px; margin-bottom: 8px; }
.access-input { width: 100%; min-height: 48px; padding: 12px 14px; border: 1px solid var(--border); border-radius: 8px; color: var(--text); background: var(--bg); font: inherit; font-size: 16px; letter-spacing: 0; }
.access-input:focus-visible { outline: 2px solid var(--text-muted); outline-offset: 3px; }
.access-submit { width: 100%; min-height: 48px; margin-top: 16px; padding: 12px 16px; border: 0; border-radius: 8px; background: var(--heading); color: var(--bg); cursor: pointer; transition: opacity .2s var(--ease-cloud), scale .2s var(--ease-cloud); }
.access-submit:hover { opacity: .86; }
.access-submit:active { scale: .96; }
.access-error { color: var(--text); font-size: 14px; line-height: 22px; margin: 12px 0 0; }
.access-lock { margin: 24px 0 48px; }
.access-lock button { border: 0; padding: 10px 0; min-height: 44px; background: none; color: var(--text-muted); text-decoration: underline; text-underline-offset: 4px; cursor: pointer; }
@media (max-width: 560px) { .access-title { font-size: 34px; } .access-back { margin-bottom: 40px; } }
