.access-strip{display:flex;align-items:center;justify-content:center;text-align:center;gap:12px;flex-wrap:wrap;padding:12px 24px;background:var(--soft);border-bottom:1px solid var(--line);color:var(--ink);font-size:13px}
.access-badge{font-weight:700;color:var(--green);white-space:nowrap}
.access-strip p{margin:0;min-width:160px}
.access-strip button{font:inherit;background:var(--paper);color:var(--ink);border:1px solid var(--line);border-radius:9px;padding:8px 12px;cursor:pointer}
.access-strip [hidden]{display:none!important}
.admin-dialog{width:min(440px,calc(100vw - 32px));max-height:calc(100dvh - 32px);box-sizing:border-box;padding:28px;border:1px solid var(--line);border-radius:22px;background:var(--paper);color:var(--ink);box-shadow:0 24px 90px #0003}
.admin-dialog::backdrop{background:#191329a6;backdrop-filter:blur(5px)}
.admin-dialog h2{font-size:26px;margin:12px 0}
.admin-dialog p{font-size:14px;color:var(--muted)}
.admin-dialog label{display:block;font-size:14px;font-weight:700;margin:22px 0 8px}
.admin-dialog input{box-sizing:border-box;width:100%;padding:13px 14px;border:1px solid var(--line);border-radius:10px;font:inherit;background:var(--bg);color:var(--ink)}
.admin-dialog input:focus{outline:2px solid var(--green);outline-offset:3px}
.admin-dialog .button{width:100%;margin-top:8px;cursor:pointer}
.admin-dialog .dialog-close{display:block;margin-left:auto;border:1px solid var(--line);background:var(--bg);color:var(--ink);border-radius:9px;padding:6px 12px;cursor:pointer}
.admin-dialog .login-error{min-height:24px;color:var(--ink);font-weight:600}
.short-answer{padding:16px 20px;background:var(--soft);border-left:3px solid var(--green);border-radius:0 12px 12px 0;margin:16px 0;overflow-x:auto}
.short-answer p{margin:0}
.brand-mark{touch-action:manipulation;user-select:none}
@media(max-width:480px){.access-strip{padding:10px 16px;gap:6px 12px}.access-strip p{font-size:12px}.admin-dialog{padding:22px}}
@media print{.access-strip,.admin-dialog{display:none!important}}
.availability-strip{position:static;padding:12px 24px;background:var(--paper);border-bottom:1px solid var(--line);color:var(--muted);font-size:12px;line-height:1.7}
.availability-summary{display:flex;justify-content:center;align-items:baseline;flex-wrap:wrap;gap:4px 18px}
.availability-summary strong{font-weight:600;color:var(--ink);font-variant-numeric:tabular-nums}
.availability-strip p{max-width:1050px;margin:5px auto 0;text-align:center;font-size:12px}
.availability-closed{max-width:660px;margin:64px auto;padding:0 24px;line-height:1.9}
.availability-closed h1{font-size:clamp(26px,5vw,38px);line-height:1.5}
.availability-closed p{color:var(--muted)}
.schedule-dialog{width:min(500px,calc(100vw - 32px))}
.schedule-dialog input{min-width:0;max-width:100%}
@media(max-width:480px){.availability-strip{padding:10px 16px}.availability-summary{justify-content:flex-start}.availability-strip p{text-align:left}.availability-closed{margin-top:36px}}
@media print{.availability-strip{display:none!important}}
