.booking-page{padding:48px 0 64px;word-break:keep-all}.booking-page h1{font-size:clamp(32px,5vw,54px);letter-spacing:-.04em}.booking-page h2{font-size:24px;margin:24px 0 12px}.booking-warning{background:#fff5dc;border:1px solid #e7cf91;border-radius:16px;padding:20px;margin:24px 0;font-size:15px;line-height:1.7}.booking-controls{display:flex;align-items:end;flex-wrap:wrap;gap:16px;justify-content:space-between}.booking-page button,#booking-dialog button{border:1px solid #c8cbd0;border-radius:10px;padding:10px 14px;min-height:44px;background:white;color:#1d1d1f;font:inherit;cursor:pointer}.booking-page button:hover{background:#edf5ff}.booking-page label,#booking-dialog label{display:grid;gap:6px;font-size:15px}.booking-page select,#booking-dialog input{font:inherit;padding:10px;border:1px solid #bbb;border-radius:8px;min-height:44px;min-width:0;width:100%;box-sizing:border-box}.booking-page #new-booking,#booking-dialog button[type=submit]{background:#0071e3;color:#fff;border-color:#0071e3}.booking-note{font-size:14px;color:#666}.booking-calendar{overflow:auto;border:1px solid #ddd;border-radius:16px;margin-top:18px}.booking-calendar table{width:100%;min-width:880px;border-collapse:collapse;table-layout:fixed}.booking-calendar th{background:#f5f5f7;padding:12px 6px;font-size:14px}.booking-calendar th:first-child{width:72px}.booking-calendar td{border:1px solid #e9e9ee;padding:3px;height:42px}.booking-calendar td button{width:100%;border:0;font-size:12px;min-height:34px;padding:4px;overflow-wrap:anywhere}.booking-calendar td button.occupied{background:#dcecff;color:#174577}.booking-calendar td button:disabled{background:#f5f5f7;cursor:default;color:#aaa}.booking-list-item{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:18px 0;border-bottom:1px solid #ddd}.booking-list-item p{margin:4px 0;font-size:15px;overflow-wrap:anywhere}#booking-dialog{width:min(480px,calc(100% - 32px));max-height:calc(100dvh - 32px);overflow:auto;border:0;border-radius:20px;padding:28px;box-sizing:border-box}#booking-dialog::backdrop{background:#0008}#booking-dialog label{margin:16px 0}.booking-times{display:grid;grid-template-columns:1fr 1fr;gap:12px}.booking-dialog-actions{display:flex;gap:12px;justify-content:flex-end}#booking-error{color:#b3261e;font-size:14px}.booking-page button:focus-visible,#booking-dialog button:focus-visible{outline:3px solid #0071e3;outline-offset:2px}@media(max-width:600px){.booking-controls>div{display:flex;gap:4px}.booking-controls button{font-size:14px}.booking-list-item{align-items:start}.booking-page{padding-top:28px}}
