header{align-items:center;flex-wrap:wrap}
main{max-width:920px}
.login-dialog{width:min(520px,calc(100vw - 32px));max-width:520px;max-height:min(88dvh,720px);overflow:auto;margin:auto;padding:24px;border:1px solid #c5d3da;border-radius:16px;background:#fff;color:#263e49;box-shadow:0 18px 60px #102c3b38}
.login-dialog::backdrop{background:#102c3b88;backdrop-filter:blur(2px)}
#login{padding:0}
#login h2{margin:0 0 8px}
#login>p{margin:8px 0 16px}
#email,#code{box-sizing:border-box;width:100%;max-width:100%}
#code{max-width:220px;letter-spacing:.28em;font-size:22px}
#verify button{margin:0 8px 8px 0}
.booking-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.booking-heading h2{margin:0}
.badge{padding:6px 10px;border-radius:6px;background:#edf2f5;color:#334e5a;font-size:14px}
.booking-card[data-state=confirmed]{border-left:4px solid #398364}
.booking-card[data-state=selected],.booking-card[data-state=offered]{border-left:4px solid #2e639a}
.booking-card[data-state=cancelled],.booking-card[data-state=declined]{border-left:4px solid #a36565}
.booking-card p{margin:10px 0;overflow-wrap:anywhere}
.help{text-align:center;margin-top:28px}
#status:empty{min-height:0;margin:0}
#email-help{margin-top:-4px;font-size:15px}
header.workspace-footer{justify-content:center;margin-top:20px;padding:12px 16px;background:#f3f6f8;color:#465e6c;font-size:14px;gap:8px 18px}
header.workspace-footer strong{letter-spacing:.08em}
@media(max-width:600px){header{padding:16px}.login-dialog{width:calc(100vw - 24px);max-height:calc(100dvh - 24px);padding:20px;border-radius:14px}#email-form button,#verify button{min-height:44px}.booking-card button{width:100%}}
@media(prefers-reduced-motion:no-preference){.login-dialog[open]{animation:login-appear .14s ease-out}@keyframes login-appear{from{opacity:0;transform:translateY(6px) scale(.99)}to{opacity:1;transform:translateY(0) scale(1)}}}
