#spa-booking-dialog{width:min(760px,94vw);max-height:90vh;max-height:90dvh;margin:auto;padding:28px;border:1px solid rgba(255,255,255,.2);border-radius:18px;background:#0c1a24;color:#f2f6fb;overflow:auto;font-family:'DM Sans',sans-serif}
#spa-booking-dialog::backdrop{background:rgba(3,10,15,.78)}
#spa-booking-dialog .spa-close{position:absolute;top:12px;right:16px;background:transparent;color:#f2f6fb;border:0;font-size:30px;cursor:pointer;line-height:1;padding:4px}
#spa-booking-dialog .svc-btn{background:#12bd9b;color:#06100d;cursor:pointer;font:inherit;font-weight:700}
#spa-booking-dialog h3{padding-right:30px}
#spa-booking{width:100%;min-width:0}
#spa-booking-open{margin-top:18px}
#spa-booking h3{margin-bottom:12px;font-size:1.15rem}
#spa-booking select,#spa-booking input:not([type=checkbox]),#spa-booking textarea{width:100%;min-width:0;padding:11px 12px;border:1px solid rgba(255,255,255,.2);border-radius:8px;background:#11222e;color:#f2f6fb;font:inherit;color-scheme:dark}
#spa-booking label{font-size:.9rem}
.spa-services{max-height:240px;overflow:auto;margin:12px 0;border:1px solid rgba(255,255,255,.12);border-radius:10px}
.spa-services label{display:grid;grid-template-columns:18px minmax(0,1fr) auto;align-items:center;gap:10px;padding:12px;cursor:pointer;border-bottom:1px solid rgba(255,255,255,.07)}
.spa-services input{accent-color:#12d0a4;width:16px;height:16px}
.spa-services strong{white-space:nowrap;font-size:.88rem}
.spa-summary{font-size:.9rem;line-height:1.6;margin:12px 0;color:#46dfb8}
.spa-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:12px 0}
.spa-fields label{display:grid;gap:6px}
#spa-booking textarea{margin:6px 0 12px;resize:vertical}
.spa-status{margin-top:12px;font-size:.9rem;line-height:1.5}
.spa-email{color:#46dfb8}
#spa-booking button:disabled{opacity:.6;cursor:wait}
#spa-booking :focus-visible{outline:2px solid #46dfb8;outline-offset:3px}
@media(max-width:480px){.spa-fields{grid-template-columns:1fr}#spa-booking-dialog{padding:22px 16px}}
