.booking-schedule,.booking-patient-form{padding-top:8px}.booking-patient-form .booking-review-heading{margin-bottom:0}.booking-patient-form .app-field:has(input:required,textarea:required)>label:after{content:" *";color:var(--app-red)}.booking-schedule .app-slot-picker{border-top:0;margin-top:0;padding-top:0}.booking-week-heading{align-items:center;gap:8px;display:flex}.app-ui .booking-week-heading h2{text-align:center;text-transform:capitalize;flex:1;margin:0;font-size:18px}.booking-calendar-button{border:1px solid var(--app-border,#eadce1);width:44px;height:44px;color:inherit;cursor:pointer;background:#fff;border-radius:50%;flex:0 0 44px;justify-content:center;align-items:center;display:inline-flex}.booking-calendar-button:disabled{opacity:.35;cursor:default}.booking-week{scroll-snap-type:x proximity;scrollbar-width:none;grid-template-columns:repeat(7,minmax(44px,1fr));gap:2px;margin:16px 0 28px;display:grid;overflow-x:auto}.booking-week::-webkit-scrollbar{display:none}.booking-week.is-dragging{scroll-snap-type:none}@media (hover:hover) and (pointer:fine){.booking-week{cursor:grab;-webkit-user-select:none;user-select:none}.booking-week button:not(:disabled){cursor:inherit}.booking-week.is-dragging,.booking-week.is-dragging button{cursor:grabbing}}.booking-week button{scroll-snap-align:start;cursor:pointer;color:#352932;background:0 0;border:0;flex-direction:column;align-items:center;gap:8px;min-width:0;padding:6px 0;display:flex}.booking-week button span{color:#867782;text-transform:capitalize;font-size:13px}.booking-week button strong{border-radius:50%;place-items:center;width:42px;height:42px;font-size:18px;display:grid}.booking-week button.selected strong{color:#fff;background:#b02443}.booking-week button:disabled{cursor:default;color:#aaa4a8}.booking-week button:disabled strong{background:#f5f3f4}.booking-week button:disabled span{color:#aaa4a8}.booking-week button:focus-visible,.booking-calendar-button:focus-visible{outline-offset:2px;outline:2px solid #b02443}.booking-slots-heading{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:4px 16px;margin-bottom:16px;display:flex}.booking-slots-heading small{color:#867782}.booking-doctor-filter{border-top:1px solid #eadce1;margin-top:28px;padding-top:18px}.booking-doctor-filter summary{cursor:pointer;align-items:center;gap:8px;min-height:44px;font-weight:600;display:flex}.booking-doctor-filter summary:after{content:"+";margin-left:auto;font-size:20px}.booking-doctor-filter[open] summary:after{content:"−"}.booking-doctors{scroll-snap-type:x proximity;scrollbar-width:thin;gap:16px;margin:12px 0 0;padding:6px 4px;list-style:none;display:flex;overflow-x:auto}.booking-doctor-option{scroll-snap-align:start;flex-direction:column;flex:0 0 112px;align-items:center;min-width:0;display:flex}.booking-doctor-choice{width:100%;color:inherit;font:inherit;text-align:center;overflow-wrap:anywhere;cursor:pointer;background:0 0;border:0;flex-direction:column;align-items:center;gap:10px;padding:4px 2px;font-size:14px;font-weight:600;line-height:1.4;display:flex}.booking-doctor-portrait{color:#896b77;background:#f5e8ec;border:3px solid #0000;border-radius:50%;place-items:center;width:76px;height:76px;transition:border-color .15s,background-color .15s;display:grid;position:relative}.booking-doctor-portrait img{object-fit:cover;border-radius:50%;width:100%;height:100%;display:block}.booking-doctor-choice[aria-pressed=true]{color:var(--app-red)}.booking-doctor-choice[aria-pressed=true] .booking-doctor-portrait{border-color:var(--app-red);color:var(--app-red);background:#fff0f3}.booking-doctor-choice[aria-pressed=false]:hover .booking-doctor-portrait{border-color:#cf8798}.booking-doctor-portrait .booking-doctor-check{background:var(--app-red);color:#fff;border-radius:50%;padding:3px;position:absolute;bottom:-2px;right:-2px}.booking-doctor-profile{min-height:44px;color:var(--app-red);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;gap:3px;margin-top:auto;padding:6px;font-family:inherit;font-size:13px;font-weight:650;display:inline-flex}.booking-doctor-choice:focus-visible,.booking-doctor-profile:focus-visible{outline:2px solid var(--app-red);outline-offset:2px;border-radius:8px}.booking-profile-overlay{z-index:80;background:#27151eb3;position:fixed;inset:0}.booking-profile-dialog{z-index:81;overscroll-behavior:contain;background:#fff;border-radius:20px;width:min(720px,100% - 24px);max-height:calc(100dvh - 24px);padding:0 20px 20px;position:fixed;inset:50% auto auto 50%;overflow-y:auto;transform:translate(-50%,-50%);box-shadow:0 24px 80px #24111e33}.booking-profile-header{z-index:1;background:#fff;justify-content:space-between;align-items:center;gap:12px;padding-block:12px;display:flex;position:sticky;top:0}.app-ui .booking-profile-header h2{margin:0;font-size:18px}.booking-profile-close{width:44px;height:44px;color:var(--app-red);cursor:pointer;background:#f9eef1;border:0;border-radius:50%;flex-shrink:0;place-items:center;display:grid}.booking-continue{margin-top:24px}.booking-continue .app-button{width:100%;min-height:52px}.booking-fields{border:0;gap:16px;min-width:0;margin:4px 0 0;padding:0;display:grid}.booking-fields legend{align-items:center;gap:8px;margin-bottom:16px;font-weight:700;display:flex}.booking-two-fields{grid-template-columns:1fr 1fr;gap:16px;display:grid}.booking-address-region{grid-template-columns:85px minmax(0,1fr);gap:16px;display:grid}.booking-state-select{position:relative}.app-ui .booking-state-select select{appearance:none;padding-right:34px}.booking-state-select>svg{pointer-events:none;color:#7b6571;position:absolute;top:50%;right:12px;transform:translateY(-50%)}.booking-address-results{border:1px solid #eadce1;border-radius:12px;max-height:240px;overflow-y:auto}.booking-address-results button{text-align:left;cursor:pointer;width:100%;color:inherit;background:#fff;border:0;border-bottom:1px solid #eadce1;gap:4px;padding:12px;display:grid}.booking-address-results button:hover{background:#fff4f6}.booking-address-results span{color:#867782;font-size:13px}.booking-patient-form textarea{resize:none;min-height:100px;max-height:240px;overflow-y:auto}.booking-patient-summary{margin-top:18px}.booking-patient-summary summary{cursor:pointer;padding-block:12px;font-weight:600}.booking-patient-summary p,.patient-clinical-reason{white-space:pre-wrap;overflow-wrap:anywhere}.app-table .patient-reason-summary{white-space:normal;max-width:260px;margin-top:4px;font-size:13px}@media (max-width:520px){.booking-week-heading{gap:4px}.app-ui .booking-week-heading h2{font-size:16px}.booking-two-fields{grid-template-columns:1fr}.booking-week button strong{width:38px;height:38px}}.booking-week.is-loading button strong{color:#0000;opacity:1;background:#f3e7eb;animation:1.2s ease-in-out infinite alternate booking-loading}@keyframes booking-loading{to{opacity:.45}}@media (prefers-reduced-motion:reduce){.booking-week.is-loading button strong{animation:none}}
