#booking{max-height:90dvh;overflow-y:auto}#booking.calendar-dialog{max-width:900px}#booking h2{margin-bottom:16px}#booking label{display:block;font-size:14px;font-weight:700;margin:16px 0 8px}#booking input,#booking select{width:100%;min-height:48px;border:1px solid var(--line);border-radius:4px;padding:12px;font:inherit;background:white;color:var(--ink)}#booking form .button{width:100%;margin-top:8px}.auth-modes{display:flex;border-bottom:1px solid var(--line);margin-top:24px}.auth-modes button{flex:1;background:none;border:0;padding:13px;color:var(--muted);border-bottom:2px solid transparent}.auth-modes button[aria-pressed=true]{color:var(--rose);border-color:var(--rose);font-weight:700}#booking .demo-note{font-size:13px;color:var(--muted);background:var(--soft);padding:12px;border-radius:4px}.google-disabled{width:100%;margin-top:12px;padding:12px;border:1px solid var(--line);background:#f7f5f5;color:#777;border-radius:4px}.session-row{display:flex;align-items:center;justify-content:space-between;gap:16px}.session-row span{overflow-wrap:anywhere}.logout{border:0;background:none;color:var(--rose);text-decoration:underline;padding:8px}.hours-note{font-size:13px}.calendar-layout{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:24px}.month-navigation{display:flex;align-items:center;justify-content:space-between;gap:12px}.month-navigation h3{font-size:17px;margin:0;text-transform:capitalize}.month-navigation button{width:40px;height:40px;border:1px solid var(--line);background:white;border-radius:4px;font-size:26px;color:var(--rose)}.week-labels,.calendar-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.week-labels{margin:18px 0 8px;font-size:13px;text-align:center;color:var(--muted)}.calendar-days button{height:40px;min-width:0;border:1px solid transparent;background:var(--soft);color:var(--ink);border-radius:4px;font:inherit;font-size:14px}.calendar-days button[aria-pressed=true]{background:var(--rose);color:white}.calendar-days button:disabled{background:#fafafa;color:#aaa;cursor:default}.calendar-legend{font-size:12px}.slots-panel h3{font-size:17px;line-height:1.5;text-transform:capitalize}#availability{font-size:14px}.time-slots{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.time-slots button{display:grid;gap:3px;padding:9px 4px;border:1px solid var(--line);border-radius:4px;background:#f5f2f3;color:#82767b;cursor:not-allowed;font:inherit;font-size:14px}.time-slots button span{font-size:12px}.time-slots button strong{font-weight:400}@media(max-width:650px){.calendar-layout{grid-template-columns:1fr;gap:24px}#booking.calendar-dialog{padding:32px 20px}.time-slots{grid-template-columns:repeat(4,minmax(0,1fr))}.calendar-days button{height:42px}}
#booking.calendar-dialog{max-width:960px;padding:36px;border:0;box-shadow:0 24px 100px #30222840}#booking.calendar-dialog h2{font-size:30px;margin-bottom:12px}.booking-heading .eyebrow{margin-bottom:8px}.session-row{font-size:14px}.booking-progress{display:flex;align-items:center;gap:14px;margin:26px 0;color:var(--muted);font-size:14px}.booking-progress>span:not(.progress-line){display:flex;align-items:center;gap:9px;white-space:nowrap}.booking-progress b{display:grid;place-items:center;width:28px;height:28px;border:1px solid var(--line);border-radius:50%;font-weight:400}.booking-progress .active{font-weight:700;color:var(--rose)}.booking-progress .active b{background:var(--rose);color:white;border-color:var(--rose)}.progress-line{height:1px;flex:1;background:var(--line)}.calendar-layout{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:28px;margin-top:0;align-items:start}.month-panel{padding:0 22px 0 0;border-right:1px solid var(--line)}.panel-label{font-size:11px;font-weight:700;color:var(--rose);margin:0 0 14px}.month-navigation{margin-top:18px}.calendar-days{gap:6px}.calendar-days button{height:43px;border-radius:6px;border:1px solid var(--line);background:white}.calendar-days button:hover:not(:disabled){background:var(--pink);border-color:var(--rose)}.calendar-days button[aria-pressed=true]{background:var(--rose);box-shadow:0 4px 12px #945e6430;border-color:var(--rose)}.calendar-days button[aria-current=date]:not([aria-pressed=true]){border-color:var(--rose);font-weight:700}.calendar-days button:disabled{border-color:transparent}.calendar-legend{margin-top:18px}.schedule-empty{min-height:300px;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;padding:30px 15px;background:var(--soft);border-radius:6px}.schedule-empty img{width:36px;height:36px;opacity:.5;margin-bottom:20px}.schedule-empty h3{font-size:18px}.schedule-empty p{max-width:240px;font-size:14px;margin:0}.change-day{display:inline-flex;align-items:center;background:none;border:0;color:var(--rose);font-size:14px;padding:6px 0;margin-bottom:18px}.selected-date-summary{display:flex;gap:14px;align-items:center;margin-bottom:20px}.date-tile{flex:0 0 62px;display:grid;place-items:center;background:var(--pink);padding:10px 4px;border-radius:6px;line-height:1.2;color:var(--rose)}.date-tile strong{font-size:27px;font-weight:400}.date-tile span{font-size:12px;margin-top:3px;text-transform:uppercase}.selected-date-summary .panel-label{margin-bottom:5px}.selected-date-summary h3{font-size:16px;margin:0;text-transform:capitalize}.selected-date-summary p:last-child{font-size:12px;margin:4px 0 0}.availability-notice{padding:12px 14px;border-left:3px solid var(--rose);background:var(--soft);font-size:13px;border-radius:0 4px 4px 0}.availability-notice strong{font-weight:700}.availability-notice p{margin:3px 0 0;font-size:13px}.slot-group-title{display:flex;justify-content:space-between;gap:12px;font-size:14px;font-weight:700;margin:20px 0 10px}.slot-group-title span{font-size:12px;font-weight:400;color:var(--muted)}.time-slots{grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.time-slots button{border-color:#e6dfe1;background:#faf8f9;color:#71646a;padding:9px 3px}.time-slots button strong{font-size:14px}.time-slots button span{font-size:10px;color:#7f7378}#booking .demo-note{margin-bottom:0;margin-top:22px;font-size:12px;background:transparent;padding:12px 0 0;border-top:1px solid var(--line)}
@media(max-width:650px){#booking.calendar-dialog{width:calc(100% - 20px);max-height:94dvh;padding:30px 20px 20px}#booking.calendar-dialog h2{font-size:27px}.booking-progress{gap:8px;font-size:12px;margin:22px 0}.booking-progress b{width:25px;height:25px}.calendar-layout{grid-template-columns:1fr;gap:0}.month-panel{padding:0;border-right:0}.calendar-days button{height:44px}.slots-panel{display:none}.viewing-slots .month-panel{display:none}.viewing-slots .slots-panel{display:block}.viewing-slots .calendar-layout{display:block}.time-slots{grid-template-columns:repeat(4,minmax(0,1fr))}.calendar-legend{font-size:12px}.selected-date-summary h3{font-size:15px}.selected-date-summary p:last-child{font-size:12px}.change-day{margin-bottom:14px}.calendar-dialog .session-row{margin-top:0}}
.time-slots button.available{border:1px solid #bdd4c9;background:#edf5f0;color:#315e4d;cursor:pointer}.time-slots button.available span{color:#416c59}.time-slots button.available:hover{background:#dcece3;border-color:#507e68}.time-slots button.available:focus-visible{outline:3px solid #507e68;outline-offset:2px}.demand-trigger[hidden]{display:none}#reservationPreview h2{font-size:28px}#reservationPreview .demo-note{font-size:13px;color:var(--muted)}
.secondary-demand{background:white;color:var(--rose);border:1px solid var(--rose);box-shadow:none;margin-top:5px}.secondary-demand:hover{background:var(--pink)}.demand-hint{margin-top:16px!important}#booking .close{width:40px;height:40px;top:8px;right:8px}.month-navigation button{min-width:44px;min-height:44px}.time-slots button span{font-size:12px}.time-slots button{min-height:50px}#booking .demo-note{font-size:13px}#booking .week-labels{font-size:14px}#booking h2:focus,#reservationTitle:focus,#demandTitle:focus{outline:none}
@media(max-width:380px){.time-slots{grid-template-columns:repeat(3,minmax(0,1fr))}.booking-progress{font-size:11px}.time-slots button span{overflow-wrap:anywhere}}
#booking .calendar-layout[hidden],#booking .booking-progress[hidden],#booking .specialty-prompt[hidden],#booking #areaField[hidden],#booking #treatmentField[hidden]{display:none}.specialty-fields{margin-top:12px;padding-left:16px;border-left:2px solid var(--pink)}.specialty-fields:has(#areaField[hidden]){margin-top:0;padding:0;border:0}#booking .specialty-prompt{font-size:14px;color:var(--muted);margin:16px 0 22px;padding:14px;background:var(--soft);border-radius:4px}#booking select{min-width:0;text-overflow:ellipsis;white-space:nowrap}#booking .selected-date-summary>div:last-child{min-width:0}#booking .selected-date-summary p:last-child{overflow-wrap:anywhere}#booking optgroup{font-weight:700}#booking option{font-weight:400}
