.booking-view{--booking-border:#dce7f1;--booking-subtle:#f1f7fc;--booking-green:#287567;max-width:1240px;margin:0 auto;color:var(--ink)}
.booking-view button,.booking-view input,.booking-view select,.booking-view a{font:inherit}.booking-view button{min-height:44px}.booking-view button:disabled{cursor:default}.booking-back{display:inline-flex;align-items:center;gap:6px;padding:0;color:var(--muted);font-size:12px!important;margin-bottom:16px}.booking-back .icon{width:17px;height:17px}.booking-heading-row{display:flex;align-items:flex-start;justify-content:space-between;gap:22px;margin-bottom:30px}.booking-eyebrow{font-size:9px;letter-spacing:1.3px;font-weight:700;color:var(--brand-blue)}.booking-heading-row h1{font-size:32px!important;letter-spacing:-1.2px!important;line-height:1.25!important;margin:9px 0 12px!important;font-weight:650}.booking-heading-row p{margin:0!important;color:var(--muted);font-size:13px!important;line-height:1.8}.booking-live-label{display:inline-flex;align-items:center;gap:8px;padding:10px 13px;border:1px solid #d9e8e3;background:#f0f7f4;border-radius:99px;color:#35725e;font-size:10px;white-space:nowrap;margin-top:22px}.booking-live-label i,.booking-freshness i{width:6px;height:6px;border-radius:50%;background:#539680;flex:0 0 6px}
.booking-filters{display:grid;grid-template-columns:minmax(180px,1.05fr) minmax(170px,.85fr) minmax(230px,1.1fr);gap:17px;border:1px solid var(--booking-border);border-radius:18px;background:#fff;padding:20px 22px;margin-bottom:25px}.booking-filters label{display:flex;flex-direction:column;gap:9px;min-width:0}.booking-filters label>span:first-child{font-size:10px;font-weight:650;color:var(--muted)}.booking-field{display:flex;align-items:center;position:relative;min-width:0;border:1px solid var(--booking-border);border-radius:10px;background:var(--surface);height:47px}.booking-field:focus-within{border-color:var(--brand-blue);box-shadow:0 0 0 3px #1a72b90a}.booking-field>.icon{position:absolute;left:12px;width:17px;height:17px;color:var(--brand-blue);pointer-events:none}.booking-field select,.booking-field input{height:100%;width:100%;min-width:0;padding:0 11px 0 37px!important;font-size:12px!important;border:0!important;outline:0;background:transparent!important;color:var(--ink);border-radius:10px;box-shadow:none!important}.booking-field input::placeholder{color:#8798a9}
.booking-layout{display:grid;grid-template-columns:minmax(270px,.83fr) minmax(390px,1.17fr);align-items:start;gap:24px}.booking-section-heading{display:flex;align-items:center;justify-content:space-between;margin:0 0 15px;padding:0 2px;gap:10px;min-height:32px}.booking-section-heading h2{font-size:15px;font-weight:650;margin:0;display:flex;align-items:center;gap:9px}.booking-section-heading h2>span{display:grid;place-items:center;min-width:23px;height:23px;border-radius:8px;background:#e6eef7;font-size:11px;color:var(--brand-deep)}.booking-section-heading>span{font-size:9px;color:var(--muted)}.booking-doctors{display:flex;flex-direction:column;gap:12px}.booking-doctor{display:flex;align-items:flex-start;width:100%;gap:16px;text-align:left;padding:21px 18px;border:1px solid var(--booking-border);background:#fff;border-radius:16px;transition:border-color .18s,box-shadow .18s}.booking-doctor:hover{border-color:#9ec9ea;box-shadow:0 7px 25px #1a72b907}.booking-doctor.is-selected{border:1.5px solid var(--brand-blue);padding:20.5px 17.5px;background:linear-gradient(115deg,#f6fbff,#fff);box-shadow:0 5px 18px #1a72b908}.booking-avatar{display:grid;place-items:center;position:relative;flex:0 0 66px;width:66px;height:74px;border-radius:14px;background:linear-gradient(135deg,#dcecf7,#f0f6fa);color:#658aaa;font-size:19px;font-weight:550;overflow:hidden}.booking-avatar img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 23%}.booking-avatar-small{flex-basis:47px;width:47px;height:53px;border-radius:12px;font-size:15px}.booking-doctor-content{display:flex;flex-direction:column;min-width:0;flex:1;gap:7px}.booking-doctor-content>strong{font-size:14px;font-weight:650;line-height:1.5}.booking-doctor-content>span:not(.booking-doctor-action){font-size:10px;line-height:1.7;color:var(--brand-blue)}.booking-doctor-content>small{font-size:10px;line-height:1.7;color:var(--muted);display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;white-space:pre-line}.booking-doctor-action{display:flex;align-items:center;gap:7px;font-size:10px;font-weight:650;color:var(--brand-deep);margin-top:8px}.booking-doctor-action .icon{width:14px;height:14px}.booking-doctor-action>.icon:last-child{margin-left:auto}.booking-doctor.is-selected .booking-doctor-action>.icon{margin-left:0}.booking-show-more{padding:8px;display:flex;align-items:center;justify-content:center;gap:7px;color:var(--brand-blue);font-size:11px!important}.booking-show-more .icon{height:16px;width:16px}
.booking-schedule{background:#fff;border:1px solid var(--booking-border);border-radius:19px;padding:25px 25px 22px;min-width:0}.booking-schedule-unselected{margin-top:47px;min-height:423px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:linear-gradient(145deg,#fff,#f7fbff)}.booking-schedule-doctor{display:flex;align-items:center;gap:13px;margin-bottom:17px}.booking-schedule-doctor h2{font-size:16px!important;line-height:1.55;margin:0 0 6px;font-weight:650}.booking-schedule-doctor p{font-size:10px!important;line-height:1.7!important;margin:0!important;color:var(--muted)}.booking-biography{margin:0 0 19px;border-bottom:1px solid #edf2f7;padding-bottom:15px}.booking-biography summary{display:flex;align-items:center;gap:7px;width:max-content;font-size:10px;line-height:1.6;color:var(--brand-blue);cursor:pointer;list-style:none}.booking-biography summary::-webkit-details-marker{display:none}.booking-biography summary .icon{width:13px;height:13px}.booking-biography[open] summary .icon{transform:rotate(180deg)}.booking-biography>div{font-size:12px;line-height:1.85;color:var(--text);white-space:pre-line;padding:15px 0 0;max-height:290px;overflow:auto}
.booking-calendar-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:15px}.booking-calendar-heading h3{font-size:12px;font-weight:650;margin:0;text-transform:capitalize}.booking-calendar-tools{display:flex;align-items:center;gap:5px}.booking-round{width:31px;height:31px;min-height:31px!important;display:grid;place-items:center;border:1px solid var(--booking-border);border-radius:9px;background:#fff;color:var(--brand-blue)}.booking-round .icon{width:15px;height:15px}.booking-round:hover{background:var(--booking-subtle)}.booking-round:disabled{opacity:.35}.booking-date-picker{position:relative;display:inline-flex;align-items:center;gap:5px;overflow:hidden;min-height:32px;font-size:9px;color:var(--muted);cursor:pointer;margin-right:5px}.booking-date-picker>.icon{width:14px;height:14px}.booking-date-picker input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}.booking-date-picker input::-webkit-calendar-picker-indicator{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}.booking-date-picker:focus-within{outline:2px solid var(--brand-blue);outline-offset:3px;border-radius:3px}.booking-week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;margin-bottom:25px}.booking-week>button{display:flex;align-items:center;flex-direction:column;gap:7px;padding:12px 1px 10px;background:#f7fafd;border:1px solid #e9f0f7;border-radius:11px;color:var(--ink);min-width:0;transition:background .15s}.booking-week>button>span{font-size:8px;line-height:1.5;text-transform:capitalize}.booking-week>button>strong{font-size:19px;font-weight:600;line-height:1.3}.booking-week>button>small{font-size:7px;line-height:1.5;white-space:nowrap;color:var(--muted)}.booking-week>button:hover{background:#edf5fc;border-color:#bed8ed}.booking-week>button.is-selected{background:var(--brand-deep);border-color:var(--brand-deep);color:#fff;box-shadow:0 4px 10px #003f9315}.booking-week>button.is-selected>small{color:#d7e7f8}.booking-slots-heading{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:0 0 19px}.booking-slots-heading h3{font-size:13px;margin:0 0 7px;text-transform:capitalize;font-weight:650}.booking-slots-heading p{font-size:9px!important;margin:0!important;color:var(--muted);line-height:1.6}.booking-refresh{font-size:9px!important;color:var(--brand-blue);display:flex;align-items:center;gap:6px;padding:6px 0 6px 10px;min-height:35px!important}.booking-refresh .icon{width:14px;height:14px;transform:rotate(-35deg)}
.booking-time-group{margin:0 0 20px}.booking-time-group h4{display:flex;align-items:center;gap:7px;font-size:10px;font-weight:600;color:var(--muted);margin:0 0 11px}.booking-time-group h4>span{font-size:8px;background:var(--booking-subtle);padding:2px 5px;border-radius:4px}.booking-time-group>div{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.booking-slot{display:flex;align-items:center;justify-content:center;gap:5px;min-height:43px!important;padding:9px 4px;background:#eef6fc;border:1px solid #dbeaf6;border-radius:9px;color:var(--brand-deep);font-size:12px!important;font-weight:600!important;font-variant-numeric:tabular-nums;transition:background .15s,border-color .15s}.booking-slot:hover{background:#dfedf9;border-color:#8bbce0}.booking-slot.is-selected{color:#fff;background:var(--brand-blue);border-color:var(--brand-blue)}.booking-slot .icon{width:12px;height:12px}.booking-freshness{display:flex;align-items:center;gap:6px;font-size:8px;line-height:1.7;color:var(--muted);margin:2px 0 18px}.booking-freshness i{width:5px;height:5px;flex-basis:5px}.booking-freshness.is-expired{color:#8d7449}.booking-freshness.is-expired i{background:#ba9c6d}.booking-selection-hint{display:flex;align-items:flex-start;gap:7px;font-size:9px!important;line-height:1.8!important;color:var(--muted);border-top:1px solid #edf2f7;padding-top:17px;margin:0!important}.booking-selection-hint .icon{width:14px;height:14px;margin-top:1px}.booking-selection{border:1px solid #cae0f2;background:linear-gradient(130deg,#f0f7fd,#f8fbfe);padding:19px;border-radius:13px;margin-top:18px}.booking-selection-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:14px}.booking-selection-heading>span:first-child{font-size:8px;letter-spacing:1px;color:var(--brand-blue);font-weight:650}.booking-not-booked{font-size:8px;padding:4px 7px;border-radius:5px;background:#fff;color:var(--muted);border:1px solid #dce8f3}.booking-selection h3{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;font-size:16px;line-height:1.6;margin:0 0 5px;font-weight:650}.booking-selection h3>span{color:var(--brand-deep);font-variant-numeric:tabular-nums}.booking-selection>p{font-size:10px!important;line-height:1.75!important;margin:0 0 12px!important;color:var(--text)}.booking-window-duration{display:block;color:var(--muted);margin-top:4px}.booking-selection-address{display:flex;align-items:flex-start;gap:7px;color:var(--muted);font-size:10px;line-height:1.8;margin:12px 0}.booking-selection-address>.icon{height:15px;width:15px;margin-top:2px}.booking-selection .booking-selection-note{font-size:9px!important;line-height:1.85!important;color:var(--muted);border-top:1px solid #dce8f2;padding-top:13px;margin-top:14px!important}.booking-selection-actions{display:grid;grid-template-columns:1.2fr .9fr;gap:8px;margin-top:17px}
.booking-primary,.booking-secondary{min-height:42px;display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:11px 12px;border-radius:9px;font-size:10px!important;font-weight:650!important;text-decoration:none;line-height:1.5;text-align:center}.booking-primary{color:#fff;background:var(--brand-deep);border:1px solid var(--brand-deep)}.booking-primary:hover{background:#0853a5}.booking-secondary{color:var(--brand-deep);background:#fff;border:1px solid #cddfed}.booking-secondary:hover{background:#eef6fc}.booking-primary .icon,.booking-secondary .icon{width:15px;height:15px}.booking-text-link{display:flex;align-items:center;justify-content:center;gap:7px;padding:6px 0;color:var(--brand-blue);font-size:11px!important}.booking-text-link .icon{width:15px;height:15px}.booking-state{text-align:center;padding:36px 20px;display:flex;align-items:center;flex-direction:column}.booking-state-icon{display:grid;place-items:center;width:60px;height:60px;border:1px solid #dce9f5;border-radius:20px;background:#eff6fc;margin:0 0 19px;color:#80a9cd}.booking-state-icon .icon{width:29px;height:29px;stroke-width:1.2}.booking-state h3{font-size:15px;font-weight:600;line-height:1.6;margin:0 0 9px}.booking-state p{max-width:290px;font-size:11px!important;line-height:1.85!important;color:var(--muted);margin:0!important}.booking-state .booking-secondary{margin-top:20px}.booking-unselected-note{display:flex;align-items:center;gap:6px;max-width:250px;text-align:center;font-size:8px;line-height:1.8;color:var(--muted);margin:4px 0 25px}.booking-unselected-note>.icon{width:14px;height:14px}.booking-no-slots{text-align:center;padding-bottom:18px}.booking-no-slots>.booking-state{padding:26px 12px 12px}.booking-no-slots .booking-state-icon{width:47px;height:47px;border-radius:15px;margin-bottom:14px}.booking-no-slots .booking-text-link{margin:3px auto 0}.booking-change-notice{display:flex;align-items:flex-start;gap:8px;padding:12px 13px;font-size:10px!important;line-height:1.8!important;background:#faf5eb;color:#82704d;border:1px solid #eee3cd;border-radius:9px;margin:0 0 18px!important}.booking-change-notice>.icon{width:16px;height:16px;margin-top:2px}.booking-page-note{display:flex;align-items:flex-start;gap:8px;color:var(--muted);font-size:9px!important;line-height:1.8!important;margin:25px 0 0!important}.booking-page-note .icon{width:14px;height:14px;margin-top:1px}.booking-unavailable{border:1px solid var(--booking-border);border-radius:18px;background:#fff;display:flex;align-items:center;flex-direction:column;padding:15px 20px 28px}.booking-unavailable .booking-state{padding-bottom:23px}.booking-unavailable>.booking-primary{min-width:220px}.booking-unavailable>.booking-text-link{margin-top:10px}.booking-initial-loading{background:#fff;border:1px solid var(--booking-border);border-radius:18px;padding:35px;min-height:350px}.booking-skeleton{padding:9px 0 16px}.booking-skeleton>span{display:block;background:linear-gradient(90deg,#eef3f8,#f7fafc,#eef3f8);background-size:200% 100%;height:11px;border-radius:6px;margin-bottom:13px;animation:booking-shimmer 1.8s ease infinite}.booking-skeleton>span:first-child{width:47%;height:15px}.booking-skeleton>span:nth-child(2){width:70%}.booking-skeleton>span:nth-child(3){width:34%;margin-bottom:27px}.booking-skeleton>div{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.booking-skeleton i{height:42px;background:#f0f5fa;border-radius:9px;animation:booking-shimmer 1.8s ease infinite}.booking-skeleton p{font-size:10px!important;line-height:1.8!important;color:var(--muted);margin:22px 0 0!important}.booking-initial-loading>.booking-skeleton{max-width:620px}.booking-directory .booking-state{border:1px dashed var(--booking-border);border-radius:16px;background:#fff}
@keyframes booking-shimmer{to{background-position:-200% 0}}
@media(min-width:1400px){.booking-layout{grid-template-columns:minmax(330px,.88fr) minmax(440px,1.12fr)}.booking-schedule{padding:29px}.booking-week{gap:7px}.booking-week>button{padding:14px 3px}.booking-week>button>span{font-size:9px}.booking-week>button>small{font-size:8px}.booking-doctor{padding:23px}.booking-doctor.is-selected{padding:22.5px}.booking-doctor-content>strong{font-size:15px}.booking-doctor-content>span:not(.booking-doctor-action){font-size:11px}.booking-schedule-doctor h2{font-size:18px!important}.booking-slot{font-size:13px!important}}
@media(max-width:1100px){.booking-layout{grid-template-columns:minmax(250px,.8fr) minmax(340px,1.2fr);gap:17px}.booking-filters{padding:17px;gap:12px;grid-template-columns:1fr 1fr}.booking-search{grid-column:1/-1}.booking-schedule{padding:21px 18px}.booking-doctor{gap:12px;padding:18px 14px}.booking-doctor.is-selected{padding:17.5px 13.5px}.booking-avatar{width:52px;height:62px;flex-basis:52px;font-size:17px}.booking-avatar-small{width:42px;height:49px;flex-basis:42px;font-size:13px}.booking-doctor-content>strong{font-size:12px}.booking-section-heading>span{display:none}.booking-heading-row h1{font-size:29px!important}.booking-live-label{font-size:8px;padding:9px 10px}.booking-week{gap:4px}.booking-week>button>span{font-size:7px}.booking-week>button>strong{font-size:17px}.booking-week>button>small{font-size:6px}.booking-selection-actions{grid-template-columns:1fr}.booking-time-group>div{gap:6px}}
@media(max-width:900px){.booking-layout{grid-template-columns:minmax(0,1fr)}.booking-schedule-unselected{margin-top:0;min-height:280px}.booking-doctors{display:grid;grid-template-columns:1fr 1fr;gap:10px}.booking-doctor{padding:18px 15px}.booking-doctor.is-selected{padding:17.5px 14.5px}.booking-doctor-content>strong{font-size:13px}.booking-doctor-content>small{display:none}.booking-show-more{grid-column:1/-1}.booking-section-heading>span{display:inline}.booking-schedule{padding:25px}.booking-week>button>span{font-size:10px}.booking-week>button>strong{font-size:22px}.booking-week>button>small{font-size:9px}.booking-selection-actions{grid-template-columns:1.2fr 1fr}.booking-heading-row{margin-bottom:24px}.booking-live-label{margin-top:17px}.booking-schedule-doctor h2{font-size:17px!important}.booking-slot{min-height:46px!important;font-size:13px!important}}
@media(max-width:580px){.booking-back{font-size:11px!important;margin-bottom:9px}.booking-heading-row{display:block;margin-bottom:22px}.booking-heading-row h1{font-size:27px!important;letter-spacing:-.9px!important;margin-top:8px!important}.booking-heading-row p{font-size:12px!important;line-height:1.8}.booking-eyebrow{font-size:8px;letter-spacing:.9px}.booking-live-label{font-size:9px;margin-top:16px;padding:8px 10px}.booking-filters{grid-template-columns:1fr;padding:17px 16px;border-radius:15px;gap:15px;margin-bottom:22px}.booking-filters label>span:first-child{font-size:11px}.booking-field{height:48px}.booking-field select,.booking-field input{font-size:13px!important}.booking-search{grid-column:auto}.booking-section-heading h2{font-size:16px}.booking-section-heading>span{font-size:9px}.booking-doctors{grid-template-columns:1fr}.booking-doctor{padding:18px;gap:15px;border-radius:14px}.booking-doctor.is-selected{padding:17.5px}.booking-avatar{width:60px;height:70px;flex-basis:60px;font-size:18px}.booking-doctor-content>strong{font-size:14px}.booking-doctor-content>span:not(.booking-doctor-action){font-size:11px}.booking-doctor-action{font-size:11px;margin-top:5px}.booking-doctor-content>small{display:-webkit-box;font-size:11px}.booking-layout{gap:22px}.booking-schedule{padding:21px 16px;border-radius:15px}.booking-schedule-doctor h2{font-size:15px!important}.booking-schedule-doctor p{font-size:11px!important}.booking-avatar-small{width:45px;height:52px;flex-basis:45px;font-size:14px}.booking-biography summary{font-size:11px;min-height:28px}.booking-calendar-heading h3{font-size:11px;line-height:1.6}.booking-date-picker{font-size:9px;margin-right:2px}.booking-date-picker>.icon{display:none}.booking-round{width:30px;height:34px;min-height:34px!important}.booking-week{gap:4px;margin-bottom:24px}.booking-week>button{padding:11px 1px;border-radius:9px;gap:6px}.booking-week>button>span{font-size:8px}.booking-week>button>strong{font-size:19px}.booking-week>button>small{font-size:7px}.booking-slots-heading h3{font-size:12px;line-height:1.7}.booking-slots-heading p{font-size:9px!important}.booking-refresh{font-size:10px!important}.booking-time-group h4{font-size:11px}.booking-time-group>div{gap:7px}.booking-slot{font-size:13px!important;min-height:45px!important}.booking-freshness{font-size:9px;margin-top:4px}.booking-selection-hint{font-size:10px!important;line-height:1.8!important}.booking-selection{padding:17px 14px}.booking-selection-heading>span:first-child{font-size:8px}.booking-not-booked{font-size:9px}.booking-selection h3{font-size:17px}.booking-selection>p{font-size:11px!important}.booking-selection-address{font-size:11px}.booking-selection .booking-selection-note{font-size:10px!important}.booking-selection-actions{grid-template-columns:1fr}.booking-primary,.booking-secondary{font-size:12px!important;min-height:46px!important}.booking-state{padding:33px 13px}.booking-state h3{font-size:15px}.booking-state p{font-size:12px!important}.booking-change-notice{font-size:11px!important}.booking-page-note{font-size:10px!important;line-height:1.9!important}.booking-unselected-note{font-size:10px}.booking-text-link{font-size:12px!important}.booking-initial-loading{padding:25px}}
html.vision-mode .booking-view{font-size:18px}html.vision-mode .booking-layout,html.vision-mode .booking-filters,html.vision-mode .booking-doctors{grid-template-columns:1fr}html.vision-mode .booking-heading-row{display:block}html.vision-mode .booking-heading-row h1{font-size:34px!important}html.vision-mode .booking-view p,html.vision-mode .booking-view label,html.vision-mode .booking-view select,html.vision-mode .booking-view input,html.vision-mode .booking-view button,html.vision-mode .booking-view a,html.vision-mode .booking-doctor-content>strong,html.vision-mode .booking-doctor-content>span,html.vision-mode .booking-doctor-content>small,html.vision-mode .booking-view h2,html.vision-mode .booking-view h3,html.vision-mode .booking-view h4{font-size:18px!important;line-height:1.8!important}html.vision-mode .booking-view small,html.vision-mode .booking-view summary,html.vision-mode .booking-view span,html.vision-mode .booking-freshness{font-size:16px!important;line-height:1.7!important}html.vision-mode .booking-week{grid-template-columns:repeat(4,minmax(0,1fr))}html.vision-mode .booking-time-group>div{grid-template-columns:repeat(3,minmax(0,1fr))}html.vision-mode .booking-live-label{margin-top:15px}html.vision-mode .booking-selection-actions{grid-template-columns:1fr}html.vision-mode .booking-section-heading>span{display:none}html.vision-mode .booking-calendar-heading{flex-wrap:wrap}
@media(prefers-reduced-motion:reduce){.booking-skeleton>span,.booking-skeleton i{animation:none}}

.booking-schedule{scroll-margin-top:90px}

/* Scoped clinic selection and searchable directions. */
.booking-filters{grid-template-columns:minmax(205px,1.1fr) minmax(190px,1fr) minmax(200px,1.05fr);align-items:stretch}
.booking-filter-group{display:flex;flex-direction:column;gap:9px;min-width:0}
.booking-filter-label{font-size:10px;font-weight:650;color:var(--muted)}
.booking-branch-trigger,.booking-specialty-trigger{display:flex;align-items:center;gap:11px;width:100%;height:100%;min-height:83px!important;padding:13px 14px;border:1px solid var(--booking-border);border-radius:12px;background:#f9fcff;text-align:left;color:var(--ink)}
.booking-branch-trigger:hover,.booking-specialty-trigger:hover{border-color:#9ec6e3;background:#f2f8fd;box-shadow:none}
.booking-branch-trigger>.icon:first-child,.booking-specialty-trigger>.icon:first-child{width:20px;height:20px;flex:0 0 20px;color:var(--brand-blue)}
.booking-branch-trigger>.icon:last-child,.booking-specialty-trigger>.icon:last-child{width:14px;height:14px;flex:0 0 14px;margin-left:auto;color:#7b97b0}
.booking-branch-trigger>span,.booking-specialty-trigger>span{display:flex;flex-direction:column;gap:4px;min-width:0;flex:1}
.booking-branch-trigger strong,.booking-specialty-trigger strong{font-size:12px;font-weight:650;line-height:1.55;white-space:normal;max-width:none;overflow-wrap:anywhere}
.booking-branch-trigger>span>span{font-size:10px;line-height:1.6;color:var(--text)}
.booking-branch-trigger small,.booking-specialty-trigger small{font-size:9px;line-height:1.65;color:var(--muted);white-space:normal;max-width:none}
.booking-search .booking-field{height:100%;min-height:83px}
.booking-search .booking-field input{font-size:12px!important;padding-right:10px!important}
.booking-branch-error{margin:-10px 0 20px!important;padding:10px 13px;border-radius:9px;background:#fff5ef;color:#9b5942;font-size:11px!important;line-height:1.8!important}
.booking-calendar-heading>div:first-child{min-width:0}
.booking-calendar-legend{display:flex;align-items:center;gap:5px;font-size:8px;line-height:1.7;color:var(--muted);margin-top:5px}
.booking-calendar-legend i{height:5px;width:5px;flex:0 0 5px;border-radius:50%;background:#45977c}
.booking-date-picker{border:1px solid var(--booking-border);border-radius:8px;padding:6px 8px;min-height:33px!important;background:#fff;overflow:visible}
.booking-week>button{position:relative;min-height:94px;padding-bottom:15px}
.booking-week>button>small{white-space:normal;overflow-wrap:anywhere;text-align:center;padding:0 1px}
.booking-week>button.has-windows{background:#edf8f1;border-color:#d0e7d9;color:#286a51}
.booking-week>button.has-windows>small{color:#4a8069}
.booking-week>button.has-windows:hover{background:#e0f2e7;border-color:#7eb89a}
.booking-week>button.is-selected{background:#27705a;border-color:#27705a;color:#fff;box-shadow:0 4px 12px #28756715}
.booking-week>button.is-selected>small{color:#e0f3e7}
.booking-day-dot{position:absolute;bottom:6px;width:4px;height:4px;border-radius:50%;background:#6cae8b}
.booking-week>button.is-selected .booking-day-dot{background:#d8efe2}
.booking-week>button.is-unavailable,.booking-week>button.is-unavailable:hover{background:#f0f3f5;border-color:#e5eaee;color:#87939d;box-shadow:none;opacity:1}
.booking-week>button.is-unavailable>small{color:#909ba4}
.booking-week>button:focus-visible,.booking-filter-group>button:focus-visible,.booking-picker button:focus-visible{outline:3px solid #0c6ab5;outline-offset:3px}

/* Native modal dialogs retain focus and contain their own scroll. */
body.booking-picker-open{overflow:hidden}
.booking-picker{--booking-border:#dce7f1;width:610px;max-width:calc(100vw - 36px);max-height:calc(100dvh - 48px);padding:0;border:1px solid #d7e5f1;border-radius:25px;background:#fff;color:var(--ink);box-shadow:0 30px 120px #06396b36;overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable}
.booking-picker::backdrop{background:#132f4e55;backdrop-filter:blur(5px)}
.booking-picker button,.booking-picker input{font:inherit}
.booking-picker button{min-height:44px;cursor:pointer}.booking-picker button:disabled{cursor:default}
.booking-picker-header{position:relative;padding:29px 31px 24px;border-bottom:1px solid #e8eff6;background:radial-gradient(ellipse at 100% 0,#dceffb75,transparent 65%),#f9fcff}
.booking-picker-eyebrow{display:flex;align-items:center;gap:8px;padding-right:35px;font-size:9px;letter-spacing:1.3px;color:var(--brand-blue);font-weight:650;line-height:1.7}
.booking-picker-eyebrow .icon{height:17px;width:17px;flex-shrink:0}
.booking-picker-close{position:absolute;right:19px;top:20px;width:35px;min-height:35px!important;display:grid;place-items:center;border:1px solid #dce8f2;border-radius:50%;background:#fff;color:#6b859c;padding:6px}
.booking-picker-close>.icon{height:17px;width:17px}
.booking-picker h2{font-size:29px;line-height:1.35;letter-spacing:-.9px;font-weight:600;margin:18px 0 8px;outline:none}
.booking-picker-header>p{font-size:12px;line-height:1.85;color:var(--muted);margin:0}
.booking-picker-body{padding:24px 31px 27px}
.booking-picker-search{display:flex;align-items:center;gap:10px;border:1px solid #dce7f1;background:#fbfdff;border-radius:11px;padding:0 14px;margin-bottom:18px}
.booking-picker-search:focus-within{border-color:#67a6d2;box-shadow:0 0 0 3px #1a72b909}
.booking-picker-search>.icon{width:18px;height:18px;flex-shrink:0;color:#7e9db7}
.booking-picker-search>input{height:47px;min-width:0;width:100%;border:0;background:none;outline:0;padding:9px 0;color:var(--ink);font-size:13px;box-shadow:none}
.booking-picker-results{display:flex;flex-direction:column;gap:8px}
.booking-specialty-option{display:flex;align-items:center;gap:12px;width:100%;padding:13px 14px;border:1px solid #e3ebf3;border-radius:12px;text-align:left;background:#fff;color:var(--ink);min-width:0}
.booking-specialty-option:hover{background:#f5faff;border-color:#99c2e3}
.booking-specialty-option.is-selected{background:#eef7fd;border-color:#91bddf}
.booking-specialty-symbol{width:35px;height:35px;display:grid;place-items:center;flex:0 0 35px;background:#f0f5fa;color:#7e9db7;border-radius:10px}
.booking-specialty-symbol>.icon{height:18px;width:18px}
.booking-specialty-option>span:nth-child(2){display:flex;flex-direction:column;gap:5px;min-width:0;flex:1}
.booking-specialty-option strong{font-size:13px;font-weight:600;line-height:1.65;overflow-wrap:anywhere}
.booking-specialty-option small,.booking-specialty-option>span:nth-child(2)>span{font-size:10px;color:var(--muted);line-height:1.7}
.booking-picker-check{height:23px;width:23px;flex:0 0 23px;display:grid;place-items:center;color:#91a8ba;border-radius:50%;margin-left:auto}
.booking-picker-check .icon{height:14px;width:14px}
.booking-specialty-option.is-selected .booking-picker-check{background:var(--brand-blue);color:#fff}
.booking-picker-empty{display:flex;flex-direction:column;align-items:center;text-align:center;padding:28px 15px 35px;gap:11px;color:var(--muted)}
.booking-picker-empty>.icon{height:32px;width:32px;color:#87a8c2}.booking-picker-empty>strong{font-size:14px;color:var(--ink);line-height:1.6}.booking-picker-empty>p{font-size:12px;line-height:1.8;margin:0}
.booking-picker-footer{display:flex;align-items:center;justify-content:space-between;gap:15px;position:sticky;bottom:0;background:#fff;border-top:1px solid #e2ebf3;padding:16px 31px;box-shadow:0 -8px 20px #143e6503}
.booking-picker-footer>span{font-size:10px;color:var(--muted);line-height:1.7;min-width:0;overflow-wrap:anywhere}
.booking-picker-clear{font-size:11px!important;line-height:1.7;color:var(--brand-blue);padding:5px 0;text-align:right}
.booking-month-toolbar{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:0 0 22px}.booking-month-toolbar>h3{font-size:17px;line-height:1.5;text-transform:capitalize;margin:0;text-align:center}
.booking-month-weekdays,.booking-month-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}
.booking-month-weekdays{margin-bottom:10px}.booking-month-weekdays>span{text-align:center;color:var(--muted);font-size:11px;line-height:1.5}
.booking-month-grid>button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;border:1px solid #dce7f1;border-radius:10px;min-width:0;min-height:72px;background:#fff;color:var(--ink);padding:7px 1px}
.booking-month-grid>button>strong{font-size:18px;font-weight:600;line-height:1.4}.booking-month-grid>button>small{font-size:8px;line-height:1.5;color:var(--muted);overflow-wrap:anywhere}
.booking-month-grid>button.has-windows{background:#edf8f1;border-color:#c3e0d0;color:#286a51}.booking-month-grid>button.has-windows>small{color:#4a8069}
.booking-month-grid>button.is-unchecked:hover{border-color:#8bb7d8;background:#f0f7fc}
.booking-month-grid>button.is-unavailable,.booking-month-grid>button:disabled{background:#f0f3f5;border-color:#e8ecef;color:#919ba4;opacity:1}.booking-month-grid>button:disabled>small{color:#919ba4}
.booking-month-grid>button.is-selected{background:#27705a;color:#fff;border-color:#27705a}.booking-month-grid>button.is-selected>small{color:#e0f3e7}
.booking-month-day-name{display:none}
.booking-month-note{display:flex;align-items:flex-start;gap:8px;font-size:11px;line-height:1.85;color:var(--muted);margin:20px 0 0}.booking-month-note>.icon{height:16px;width:16px;flex:0 0 16px;margin-top:3px}
@media(max-width:1150px){.booking-filters{grid-template-columns:1fr 1fr}.booking-search{grid-column:1/-1}.booking-search .booking-field{min-height:48px}}
@media(max-width:580px){.booking-filters{grid-template-columns:1fr}.booking-search{grid-column:auto}.booking-filter-label{font-size:11px}.booking-branch-trigger,.booking-specialty-trigger{min-height:80px!important;padding:14px}.booking-branch-trigger strong,.booking-specialty-trigger strong{font-size:13px}.booking-branch-trigger>span>span{font-size:11px}.booking-branch-trigger small,.booking-specialty-trigger small{font-size:10px}.booking-search .booking-field{min-height:49px}.booking-search .booking-field input{font-size:13px!important}.booking-calendar-heading{align-items:center;gap:7px}.booking-calendar-tools{gap:4px}.booking-calendar-legend{font-size:7px;max-width:100px}.booking-date-picker{font-size:8px;margin:0;padding:5px 6px}.booking-date-picker>.icon{display:block;width:13px;height:13px}.booking-week>button{min-height:95px}.booking-week>button>small{font-size:7px;line-height:1.55}.booking-picker{max-width:100%;width:100%;max-height:94dvh;border-radius:24px 24px 0 0;margin:auto 0 0;bottom:0;top:auto}.booking-picker-header{padding:25px 22px 20px}.booking-picker h2{font-size:27px;margin-top:17px}.booking-picker-header>p{font-size:11px}.booking-picker-body{padding:21px 20px 24px}.booking-picker-footer{padding:14px 22px calc(18px + env(safe-area-inset-bottom,0px));align-items:flex-start}.booking-picker-clear{font-size:10px!important;max-width:145px}.booking-picker-eyebrow{font-size:8px}.booking-picker-search>input{font-size:16px}.booking-specialty-option{padding:13px 11px;gap:10px}.booking-specialty-option strong{font-size:12px}.booking-specialty-symbol{width:31px;height:31px;flex-basis:31px}.booking-month-grid,.booking-month-weekdays{gap:4px}.booking-month-grid>button{min-height:65px;border-radius:8px}.booking-month-grid>button>strong{font-size:17px}.booking-month-grid>button>small{font-size:7px}.booking-month-toolbar>h3{font-size:16px}.booking-month-note{font-size:10px}}
/* High contrast view uses fluid rows and never relies on colour alone. */
html.vision-mode .booking-view,html.vision-mode .booking-picker{--booking-border:#111}
html.vision-mode .booking-heading-row,html.vision-mode .booking-calendar-heading{display:flex;flex-direction:column;align-items:stretch}
html.vision-mode .booking-filters,html.vision-mode .booking-layout,html.vision-mode .booking-doctors{grid-template-columns:minmax(0,1fr)}
html.vision-mode .booking-filters{padding:18px;gap:23px}
html.vision-mode .booking-search{grid-column:auto}
html.vision-mode .booking-filter-label,html.vision-mode .booking-filter-group strong,html.vision-mode .booking-filter-group small,html.vision-mode .booking-filter-group>button>span>span{font-size:18px!important;line-height:1.8!important;white-space:normal!important;max-width:none!important}
html.vision-mode .booking-filter-group>button{height:auto;min-height:90px!important;background:#fff!important;border:2px solid #111!important;gap:14px;padding:14px!important}
html.vision-mode .booking-filter-group>button>span{gap:4px;overflow-wrap:anywhere}
html.vision-mode .booking-filter-group>button>.icon{width:24px;height:24px;flex-basis:24px}
html.vision-mode .booking-field{border:2px solid #111!important;height:auto;min-height:62px!important;background:#fff!important}
html.vision-mode .booking-field>.icon{left:14px;width:22px;height:22px}
html.vision-mode .booking-field>input{padding:14px 12px 14px 49px!important;min-height:60px!important;border:0!important;background:transparent!important;box-shadow:none!important;font-size:18px!important}
html.vision-mode .booking-calendar-tools{justify-content:flex-start;flex-wrap:wrap;gap:10px}
html.vision-mode .booking-calendar-legend{font-size:17px!important;line-height:1.8!important;max-width:none}
html.vision-mode .booking-calendar-legend i{display:none}
html.vision-mode .booking-round{height:48px;min-height:48px!important;width:48px;flex:0 0 48px;border:2px solid #111}
html.vision-mode .booking-date-picker{min-height:48px!important;font-size:18px!important;padding:8px 13px;border:2px solid #111}
html.vision-mode .booking-date-picker>.icon{display:block;height:22px;width:22px}
html.vision-mode .booking-week{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
html.vision-mode .booking-week>button{min-height:130px;padding:13px 6px;border:2px solid #111}
html.vision-mode .booking-week>button>small{white-space:normal;font-size:16px!important;line-height:1.7!important}
html.vision-mode .booking-week>button.is-unavailable,html.vision-mode .booking-month-grid>button:disabled{background:#e5e5e5!important;color:#595959!important;border:2px dashed #777!important}
html.vision-mode .booking-week>button.is-unavailable *,html.vision-mode .booking-month-grid>button:disabled *{color:#595959!important}
html.vision-mode .booking-week>button.has-windows,html.vision-mode .booking-month-grid>button.has-windows{background:#fff!important;border:3px solid #111!important}
html.vision-mode .booking-week>button.is-selected,html.vision-mode .booking-week>button.is-selected *,html.vision-mode .booking-month-grid>button.is-selected,html.vision-mode .booking-month-grid>button.is-selected *,html.vision-mode .booking-slot.is-selected,html.vision-mode .booking-slot.is-selected *,html.vision-mode .booking-primary,html.vision-mode .booking-primary *{background:#111!important;color:#fff!important;fill:none}
html.vision-mode .booking-day-dot{display:none}
html.vision-mode .booking-picker{width:820px;max-width:calc(100vw - 30px);max-height:calc(100dvh - 30px);background:#fff!important;border:2px solid #111!important;box-sizing:border-box;overflow-x:hidden;scrollbar-gutter:auto}
html.vision-mode .booking-picker-header,html.vision-mode .booking-picker-body,html.vision-mode .booking-picker-footer{padding:24px!important;background:#fff!important;color:#111!important}
html.vision-mode .booking-picker-header{padding-top:70px!important}
html.vision-mode .booking-picker-eyebrow{padding:0;font-size:16px!important;letter-spacing:0;white-space:normal}
html.vision-mode .booking-picker h2{font-size:30px!important;line-height:1.5!important;letter-spacing:0;overflow-wrap:anywhere}
html.vision-mode .booking-picker p,html.vision-mode .booking-picker span,html.vision-mode .booking-picker strong,html.vision-mode .booking-picker small,html.vision-mode .booking-picker button{font-size:18px!important;line-height:1.8!important;overflow-wrap:anywhere}
html.vision-mode .booking-picker-close{top:15px;right:20px;width:44px;min-height:44px!important;border:2px solid #111!important}
html.vision-mode .booking-picker-search{border:2px solid #111;padding:0 12px;gap:10px}
html.vision-mode .booking-picker-search>.icon{width:24px;height:24px;flex-basis:24px}
html.vision-mode .booking-picker-search>input{min-height:60px;border:0!important;background:transparent!important;padding:10px 0!important;font-size:18px!important;width:100%;box-shadow:none!important}
html.vision-mode .booking-specialty-option{padding:15px!important;border:2px solid #111!important;gap:12px;background:#fff!important}
html.vision-mode .booking-specialty-option>span:nth-child(2){gap:3px}
html.vision-mode .booking-specialty-symbol{display:none}
html.vision-mode .booking-picker-check{width:29px;height:29px;flex-basis:29px;border:1px solid #111}
html.vision-mode .booking-specialty-option.is-selected .booking-picker-check,html.vision-mode .booking-specialty-option.is-selected .booking-picker-check *{background:#111!important;color:#fff!important}
html.vision-mode .booking-picker-footer{position:static;display:flex;flex-direction:column;align-items:stretch;gap:8px}
html.vision-mode .booking-picker-clear{text-align:left;max-width:none;text-decoration:underline}
html.vision-mode .booking-month-toolbar{gap:10px}.vision-mode .booking-month-toolbar>h3{font-size:20px!important;line-height:1.6!important}
html.vision-mode .booking-month-weekdays,html.vision-mode .booking-month-blank{display:none}
html.vision-mode .booking-month-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
html.vision-mode .booking-month-grid>button{min-height:140px;gap:1px;padding:8px 3px;border:2px solid #111}
html.vision-mode .booking-month-day-name{display:block}
html.vision-mode .booking-month-note{display:block}
@media(max-width:480px){html.vision-mode .booking-week,html.vision-mode .booking-month-grid{grid-template-columns:repeat(2,minmax(0,1fr))}html.vision-mode .booking-picker-header,html.vision-mode .booking-picker-body,html.vision-mode .booking-picker-footer{padding-left:15px!important;padding-right:15px!important}html.vision-mode .booking-picker h2{font-size:26px!important}.booking-picker{scrollbar-gutter:auto}}
@media(prefers-reduced-motion:no-preference){.booking-picker[open]{animation:booking-picker-enter .18s ease both}@keyframes booking-picker-enter{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}}
/* Keep compact calendar controls comfortable to tap. */
.booking-view .booking-round,.booking-picker .booking-round{width:44px;height:44px;min-height:44px!important;flex:0 0 44px}
.booking-view .booking-date-picker{min-height:44px!important}
.booking-picker .booking-picker-close{width:44px;min-height:44px!important}
.booking-view .booking-slot{min-height:44px!important}
@media(max-width:580px){.booking-calendar-heading{flex-wrap:wrap;row-gap:11px}.booking-calendar-tools{flex-wrap:wrap;gap:5px}.booking-view .booking-date-picker{padding-left:8px;padding-right:8px}}
/* Override the global vision input selector without losing icon spacing. */
html.vision-mode .booking-view .booking-search .booking-field>input[type=search]{padding:14px 12px 14px 49px!important;min-height:60px!important;border:0!important;background:transparent!important;box-shadow:none!important;font-size:18px!important}
html.vision-mode .booking-picker .booking-picker-search>input[type=search]{min-height:60px;border:0!important;background:transparent!important;padding:10px 0!important;font-size:18px!important;width:100%;box-shadow:none!important}
html.vision-mode .booking-picker{margin-left:auto;margin-right:auto}
.booking-view .booking-refresh,.booking-view .booking-biography summary{min-height:44px!important}

/* Doctors retain separate controls for choosing time and child reception info. */
.booking-doctor-card{min-width:0;background:#fff;border:1px solid var(--booking-border);border-radius:16px;overflow:hidden;transition:border-color .18s,box-shadow .18s}
.booking-doctor-card:hover{border-color:#9ec9ea;box-shadow:0 7px 25px #1a72b907}
.booking-doctor-card.is-selected{border:1.5px solid var(--brand-blue);background:linear-gradient(115deg,#f6fbff,#fff);box-shadow:0 5px 18px #1a72b908}
.booking-doctor-card>.booking-doctor,.booking-doctor-card>.booking-doctor:hover{border:0;border-radius:0;background:transparent;box-shadow:none;min-width:0}
.booking-doctor-card.is-selected>.booking-doctor{padding:20.5px 17.5px}
.booking-doctor-specialty{display:flex;align-items:flex-start;gap:7px;min-width:0}
.booking-doctor-specialty>.specialty-icon{width:17px;height:17px;flex:0 0 17px;margin-top:1px}
.booking-doctor-specialty>span{min-width:0;overflow-wrap:anywhere}
.booking-doctor-footer{padding:0 18px 13px 100px;margin-top:-5px}
.booking-child-trigger{display:inline-flex;align-items:center;justify-content:flex-start;gap:7px;min-height:44px!important;max-width:100%;padding:5px 0;color:#527e69;font-size:10px!important;line-height:1.7!important;text-align:left}
.booking-child-trigger>.child-icon{width:19px;height:19px;flex:0 0 19px}
.booking-child-trigger>.icon:last-child{width:13px;height:13px;flex:0 0 13px;color:#88a799}
.booking-child-trigger>span{min-width:0;overflow-wrap:anywhere}
.booking-child-trigger:hover>span{text-decoration:underline;text-underline-offset:3px}
.booking-child-trigger:focus-visible{outline:3px solid #0c6ab5;outline-offset:3px;border-radius:4px}
.booking-schedule-doctor>div{min-width:0}
.booking-schedule-doctor .booking-child-trigger{margin-top:4px;font-size:10px!important;min-height:38px!important}
.booking-child-modal{display:flex;flex-direction:column;align-items:flex-start;gap:18px}
.booking-child-modal-icon{width:61px;height:61px;border-radius:18px;display:grid;place-items:center;background:#edf7f0;color:#527e69}
.booking-child-modal-icon>.child-icon{width:34px;height:34px}
.booking-child-specialties{display:flex;flex-wrap:wrap;gap:8px;max-width:100%}
.booking-child-specialties>span{display:inline-flex;align-items:center;gap:7px;padding:7px 10px;border:1px solid #dce9e1;border-radius:8px;font-size:11px;line-height:1.7;color:#4b705d;background:#f4faf6;overflow-wrap:anywhere}
.booking-child-specialties .specialty-icon{width:17px;height:17px;flex:0 0 17px}
.booking-child-modal>p{font-size:13px;line-height:1.95;color:var(--text);margin:0}
.booking-month-progress{display:flex;align-items:center;gap:8px;min-height:22px;margin:-7px 0 15px;font-size:10px;line-height:1.7;color:var(--muted)}
.booking-month-progress>i{width:13px;height:13px;flex:0 0 13px;border:1.5px solid #d0e1ef;border-top-color:#5492bd;border-radius:50%;animation:booking-month-spin 1s linear infinite}
.booking-month-grid>button.is-loading{background:#f7f9fb;border-style:dashed;color:#98a5af}
.booking-month-grid>button.has-error,.booking-month-grid>button.has-error>small{background:#fff6ef;border-color:#eeded2;color:#9d745d}
.booking-month-error{padding:13px;margin-top:16px;border:1px solid #eeded2;background:#fff8f2;border-radius:10px}
.booking-month-error>p{font-size:11px;line-height:1.8;color:#8d654e;margin:0 0 9px}
.booking-month-error>.booking-secondary{font-size:10px!important;min-height:44px}
.booking-month-freshness{display:flex;align-items:flex-start;gap:13px;justify-content:space-between;margin-top:18px;padding-top:15px;border-top:1px solid #e8eff5}
.booking-month-freshness>p{min-width:0;font-size:10px;line-height:1.85;color:var(--muted);margin:0}
.booking-month-freshness>button{font-size:10px!important;flex:0 0 auto;padding-top:0;min-height:44px;max-width:135px;line-height:1.7}
.booking-picker .booking-specialty-symbol>.specialty-icon{width:20px;height:20px}
@keyframes booking-month-spin{to{transform:rotate(360deg)}}
@media(min-width:1400px){.booking-doctor-card.is-selected>.booking-doctor{padding:22.5px}.booking-doctor-footer{padding-left:105px;padding-right:23px}}
@media(max-width:1100px){.booking-doctor-card.is-selected>.booking-doctor{padding:17.5px 13.5px}.booking-doctor-footer{padding-left:78px;padding-right:14px}}
@media(max-width:900px){.booking-doctor-card.is-selected>.booking-doctor{padding:17.5px 14.5px}.booking-doctor-footer{padding-left:79px;padding-right:15px}}
@media(max-width:580px){.booking-doctor-card{border-radius:14px}.booking-doctor-card.is-selected>.booking-doctor{padding:17.5px}.booking-doctor-footer{padding-left:93px;padding-right:18px}.booking-child-trigger{font-size:11px!important}.booking-schedule-doctor .booking-child-trigger{min-height:44px!important;font-size:11px!important}.booking-doctor-specialty>.specialty-icon{width:18px;height:18px;flex-basis:18px}.booking-month-progress{font-size:10px;line-height:1.8;margin-bottom:13px}.booking-month-freshness{display:block}.booking-month-freshness>p{font-size:10px}.booking-month-freshness>button{max-width:none;margin-top:5px}.booking-child-modal>p{font-size:13px}.booking-child-specialties>span{font-size:11px}}
html.vision-mode .booking-doctor-card,html.vision-mode .booking-doctor-card.is-selected{background:#fff!important;border:2px solid #111!important;box-shadow:none}
html.vision-mode .booking-doctor-card.is-selected{border-width:3px!important}
html.vision-mode .booking-doctor-card>.booking-doctor{padding:18px!important;background:#fff!important;border:0!important}
html.vision-mode .booking-doctor-specialty{gap:10px}
html.vision-mode .booking-doctor-specialty>.specialty-icon{height:24px;width:24px;flex-basis:24px;margin-top:5px}
html.vision-mode .booking-doctor-footer{padding:0 18px 15px;margin-top:0}
html.vision-mode .booking-child-trigger,html.vision-mode .booking-schedule-doctor .booking-child-trigger{font-size:18px!important;line-height:1.8!important;min-height:48px!important;gap:10px;white-space:normal}
html.vision-mode .booking-child-trigger>.child-icon{height:27px;width:27px;flex-basis:27px}
html.vision-mode .booking-child-trigger>.icon:last-child{height:20px;width:20px;flex-basis:20px}
html.vision-mode .booking-picker .booking-specialty-symbol{display:grid;background:#fff!important;border:1px solid #111;height:39px;width:39px;flex-basis:39px}
html.vision-mode .booking-picker .booking-specialty-symbol>.specialty-icon{height:26px;width:26px}
html.vision-mode .booking-month-progress{display:block;margin:0 0 18px}
html.vision-mode .booking-month-progress>i{display:none}
html.vision-mode .booking-month-grid>button.has-error,html.vision-mode .booking-month-grid>button.has-error *{background:#fff!important;border-color:#111!important;color:#111!important}
html.vision-mode .booking-month-grid>button.is-loading,html.vision-mode .booking-month-grid>button.is-loading *{background:#eee!important;color:#595959!important}
html.vision-mode .booking-month-freshness{display:block;border-color:#111}
html.vision-mode .booking-month-freshness>button{max-width:none;text-align:left;justify-content:flex-start;text-decoration:underline;white-space:normal}
html.vision-mode .booking-month-error{background:#fff!important;border:2px solid #111}
html.vision-mode .booking-child-modal-icon{background:#fff!important;border:2px solid #111}
html.vision-mode .booking-child-specialties{display:flex;flex-direction:column;width:100%}
html.vision-mode .booking-child-specialties>span{background:#fff!important;border:1px solid #111;max-width:100%;align-items:flex-start}
html.vision-mode .booking-child-specialties .specialty-icon{height:24px;width:24px;flex-basis:24px;margin-top:5px}
html.vision-mode .booking-child-modal>p{font-size:18px!important;line-height:1.9!important}
@media(prefers-reduced-motion:reduce){.booking-month-progress>i{animation:none}}

/* Final review for a real appointment and durable appointment status views. */
.booking-confirm-body{padding-bottom:22px}
.booking-confirm-doctor{display:flex;align-items:center;gap:13px;margin-bottom:23px;min-width:0}
.booking-confirm-doctor>div{min-width:0}.booking-confirm-doctor h3{font-size:16px;line-height:1.6;font-weight:650;margin:0 0 5px;overflow-wrap:anywhere}.booking-confirm-doctor p{font-size:11px;line-height:1.8;color:var(--muted);margin:0;overflow-wrap:anywhere}
.booking-confirm-details{margin:0;border-top:1px solid #e3ecf4}
.booking-confirm-details>div{display:grid;grid-template-columns:110px minmax(0,1fr);gap:17px;padding:17px 0;border-bottom:1px solid #e3ecf4}
.booking-confirm-details dt{font-size:11px;line-height:1.8;color:var(--muted)}.booking-confirm-details dd{font-size:12px;line-height:1.8;color:var(--ink);margin:0;overflow-wrap:anywhere}.booking-confirm-details dd>strong{display:block;font-size:17px;line-height:1.7;font-weight:650;font-variant-numeric:tabular-nums}.booking-confirm-details dd>small{display:block;font-size:10px;line-height:1.8;color:var(--muted);margin-top:3px}
.booking-confirm-warning{display:flex;align-items:flex-start;gap:8px;font-size:11px;line-height:1.9;color:var(--muted);margin:18px 0 0}.booking-confirm-warning>.icon{height:17px;width:17px;flex:0 0 17px;margin-top:3px}
.booking-confirm-status{padding:13px 14px;font-size:12px;line-height:1.9;border-radius:10px;margin:17px 0 0;background:#f1f7fc;color:var(--text);border:1px solid #dce8f3}.booking-confirm-status.is-pending{background:#fcf7eb;color:#7d6840;border-color:#eee1c7}.booking-confirm-status.is-error{background:#fff4ef;color:#9b5942;border-color:#efdbd0}
.booking-confirm-footer{display:flex;align-items:stretch;gap:10px}.booking-confirm-footer>.booking-primary{flex:1;white-space:normal;min-height:48px}.booking-confirm-footer>.booking-secondary{flex:0 0 auto;min-height:48px}.booking-confirm-footer>button:disabled{opacity:.65;cursor:default}
.appointments-toolbar{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:8px}.appointments-toolbar>.panel-heading{margin:0}.appointments-toolbar>.booking-secondary{min-height:44px;font-size:10px!important}
.appointments-loading{font-size:12px;line-height:1.9;color:var(--muted);padding:35px 10px;text-align:center}
.appointments-error{padding:13px 15px;border:1px solid #eeded2;background:#fff8f2;color:#8d654e;font-size:11px;line-height:1.85;border-radius:9px;margin:17px 0}
.appointments-checked{font-size:9px;line-height:1.8;color:var(--muted);margin:17px 0 0}
.appointment-details{min-width:0}.appointment-details>h3,.appointment-details>p{overflow-wrap:anywhere}.appointment-time>strong{white-space:nowrap}.appointment-time .pill-pending,.pill-pending{background:#fbf1dc;color:#8a7145}
.appointment-pending-note{margin-top:9px!important;color:#8a7145!important;line-height:1.8!important}
.appointment-row-actions{display:flex;flex-direction:column;align-items:flex-end;gap:3px;margin-left:auto}.appointment-row-actions>button{min-height:44px;line-height:1.7}.appointment-cancel-link{font-size:10px;color:#8b7266;padding:5px 0}.appointment-cancel-link:hover{text-decoration:underline;text-underline-offset:3px}
.appointment-dialog-actions{display:flex;align-items:stretch;flex-direction:column;gap:10px;margin-top:22px}.appointment-dialog-actions>button{min-height:47px;white-space:normal;line-height:1.8}.appointment-dialog-actions>button:disabled{opacity:.65;cursor:default}.appointment-cancel-warning,.appointment-status-description{font-size:12px!important;line-height:1.9!important;color:var(--muted);margin-top:18px}.visit-dialog-details .appointment-time-zone{font-size:10px;color:var(--muted);padding-left:25px;margin-top:-7px;line-height:1.8}.visit-dialog-details>p{overflow-wrap:anywhere}
@media(max-width:680px){.appointments-toolbar{align-items:flex-start;gap:10px}.appointments-toolbar .panel-heading>h2{font-size:12px;line-height:1.7}.appointments-toolbar>.booking-secondary{font-size:10px!important;padding:8px 10px}.appointment-row-actions{flex-direction:row;justify-content:flex-end;align-items:center;gap:17px;width:100%;margin-top:4px}.appointment-row-actions .subtle-button{margin:0!important}.appointment-cancel-link{font-size:10px}.appointment-time>strong{font-size:14px}.appointments-error{font-size:11px}.booking-confirm-details>div{grid-template-columns:83px minmax(0,1fr);gap:12px}.booking-confirm-details dt{font-size:10px}.booking-confirm-details dd{font-size:12px}.booking-confirm-doctor h3{font-size:15px}.booking-confirm-footer{flex-direction:column}.booking-confirm-footer>.booking-secondary{flex:auto}.booking-confirm-warning{font-size:11px}}
html.vision-mode .booking-confirm-details>div{grid-template-columns:minmax(0,1fr);gap:5px;padding:20px 0;border-color:#111}
html.vision-mode .booking-confirm-details{border-color:#111}
html.vision-mode .booking-confirm-details dt,html.vision-mode .booking-confirm-details dd,html.vision-mode .booking-confirm-details dd>strong,html.vision-mode .booking-confirm-details dd>small{font-size:18px!important;line-height:1.8!important}
html.vision-mode .booking-confirm-doctor{align-items:flex-start}.vision-mode .booking-confirm-doctor h3{font-size:22px!important;line-height:1.7!important}
html.vision-mode .booking-confirm-warning{display:block}
html.vision-mode .booking-confirm-status,html.vision-mode .booking-confirm-status.is-error,html.vision-mode .booking-confirm-status.is-pending,html.vision-mode .appointments-error{background:#fff!important;border:2px solid #111!important;color:#111!important}
html.vision-mode .booking-confirm-footer{flex-direction:column}
html.vision-mode .appointments-toolbar{display:flex;flex-direction:column;align-items:stretch;gap:15px}
html.vision-mode .appointments-toolbar>.booking-secondary{font-size:18px!important;white-space:normal;min-height:48px}
html.vision-mode .appointment-row{align-items:flex-start;gap:18px}
html.vision-mode .appointment-row:not(.compact) .appointment-details{flex:1 1 180px}
html.vision-mode .appointment-row:not(.compact) .appointment-time{flex:1 1 100%;align-items:flex-start}
html.vision-mode .appointment-time>strong{white-space:normal;overflow-wrap:anywhere}
html.vision-mode .appointment-row-actions{width:100%;flex-direction:column;align-items:stretch;gap:8px}
html.vision-mode .appointment-row-actions>button{font-size:18px!important;line-height:1.8!important;white-space:normal;justify-content:flex-start;text-align:left;min-height:48px}
html.vision-mode .appointment-dialog-actions>.portal-primary,html.vision-mode .appointment-dialog-actions>.portal-primary *{background:#111!important;color:#fff!important}
html.vision-mode .appointment-dialog-actions>button{font-size:18px!important;line-height:1.8!important;min-height:52px}
html.vision-mode .appointment-pending-note,html.vision-mode .appointment-status-description,html.vision-mode .appointment-cancel-warning,html.vision-mode .appointments-checked,html.vision-mode .appointments-loading,html.vision-mode .visit-dialog-details .appointment-time-zone{font-size:18px!important;line-height:1.8!important;white-space:normal}
html.vision-mode .visit-dialog-details .appointment-time-zone{padding-left:0;margin-top:0}
