/* Booking dialogs use shared theme colours and stay compact at every width. */
html:root #modal:has(.booking-dialog){width:min(760px,calc(100vw - 32px));max-width:760px}
.booking-dialog{display:flex;flex-direction:column;gap:16px;color:var(--ink)}
.booking-dialog p{margin:0;line-height:1.5}
.booking-dialog-lead{font-size:13px;color:var(--muted)}
.booking-review-card{padding:18px;border:1px solid var(--line);border-radius:16px;background:var(--surface);display:flex;flex-direction:column;gap:16px}
.booking-review-identity,.booking-session-summary{display:flex;align-items:center;gap:12px;min-width:0}
.booking-review-avatar,.booking-summary-icon{display:flex;align-items:center;justify-content:center;width:44px;height:44px;flex:0 0 44px;border-radius:12px;background:var(--surface-soft);color:var(--accent);font-weight:650}
.booking-summary-icon .spotter-icon{width:24px;height:24px}
.booking-review-identity h3,.booking-session-summary h3{margin:0 0 4px;font-size:17px;overflow-wrap:anywhere}
.booking-review-identity p,.booking-session-summary p{font-size:13px;color:var(--muted)}
.booking-review-details{display:grid;grid-template-columns:1fr 1fr;gap:12px;background:var(--surface-soft);padding:14px;border-radius:12px}
.booking-review-details span,.booking-package-types>span{display:block;font-size:11px;color:var(--muted);margin-bottom:5px}
.booking-review-details strong{font-size:13px;font-weight:550;overflow-wrap:anywhere}
.booking-dialog .booking-request-note,.booking-policy-note{padding:12px 14px;background:var(--surface-soft);border:1px solid var(--line);border-radius:12px;font-size:12px;color:var(--muted)}
.booking-dialog .booking-request-note{border-left:3px solid var(--accent)}
html:root .booking-dialog-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:0;padding-top:14px;border-top:1px solid var(--line)}
html:root .booking-dialog-actions .button{width:100%;min-width:0;min-height:44px;white-space:normal;justify-content:center}
.booking-session-summary{padding:16px;background:var(--surface-soft);border:1px solid var(--line);border-radius:14px}
.booking-package-types{padding:12px 0}
.booking-package-chips{display:flex;flex-wrap:wrap;gap:6px}
.booking-package-chips span{font-size:11px;padding:5px 9px;border:1px solid var(--line);border-radius:8px;background:var(--surface-soft);line-height:1.4}
html:root .booking-dialog .form-stack{gap:16px;margin:0}
html:root .booking-dialog .modal-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:4px 0 0;padding:16px 0 0;border-top:1px solid var(--line)}
html:root .booking-dialog .modal-actions .button{width:100%;min-width:0;min-height:44px;white-space:normal;justify-content:center}
html:root .booking-dialog .booking-slot-calendar{max-height:300px;overflow-y:auto}
@media(max-width:700px){html:root #modal:has(.booking-dialog){width:100%;max-width:100%;margin-inline:0}.booking-review-card{padding:14px}.booking-review-details{gap:10px;padding:12px}.booking-dialog-actions .button,.booking-dialog .modal-actions .button{font-size:12px}.booking-dialog .action-icon-tile{width:30px;height:30px;flex-basis:30px}.booking-session-summary{padding:12px}}
