/* Compact calendar and booking form; main white theme shares the hospital palette. */
html body :is(.pugCalendarWorkspace,.pugBookingWorkspace){--pc-text:var(--module-text,#1c3040);--pc-muted:var(--module-text-muted,#667d8f);--pc-paper:var(--module-surface-2,#fff);--pc-soft:var(--module-surface-soft,#edf5fa);--pc-line:var(--module-border,#dce7ef);--pc-accent:var(--module-accent,#326b96);color:var(--pc-text)}
html body[data-theme="white"] :is(.pugCalendarWorkspace,.pugBookingWorkspace){--pc-text:#1c3040;--pc-muted:#627b8d;--pc-paper:#fbfdff;--pc-soft:#edf4f9;--pc-line:#dfe8ef;--pc-accent:#326b96}
html body .page[data-page="calendar"] .calendarCard.pugCalendarWorkspace{padding:0 0 100px!important;border:0!important;border-radius:0!important;background:none!important;box-shadow:none!important;overflow:visible!important;min-width:0;max-width:100%}
html body .page[data-page="calendar"] .calendarCard.pugCalendarWorkspace .pcHeading{display:flex;align-items:center;justify-content:space-between;margin:4px 0 24px}
html body .page[data-page="calendar"] .calendarCard.pugCalendarWorkspace .pcEyebrow{display:block;color:var(--pc-accent);font-size:11px;font-weight:700;letter-spacing:1.7px;margin-bottom:8px}
html body .page[data-page="calendar"] .calendarCard.pugCalendarWorkspace .pcHeading h1{display:block!important;margin:0!important;color:var(--pc-text)!important;font-size:32px!important;line-height:1.2!important;letter-spacing:-1px;font-weight:700}
html body .page[data-page="calendar"] .calendarCard.pugCalendarWorkspace .pcToolbar{display:flex!important;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:14px;min-width:0}
html body .page[data-page="calendar"] .calendarCard.pugCalendarWorkspace .pcToolbar .calendarTop{display:flex!important;gap:5px!important;align-items:center!important;margin:0!important;min-width:0!important;flex-wrap:wrap;grid-template-columns:none!important}
html body .page[data-page="calendar"] .calendarCard.pugCalendarWorkspace .pcToolbar button{font:inherit!important;box-shadow:none!important;transform:none!important;line-height:1.4!important;text-transform:none!important;letter-spacing:normal!important;min-height:36px!important;border-radius:10px!important;outline-offset:3px}
html body .page[data-page="calendar"] .calendarCard.pugCalendarWorkspace .pcToolbar .calendarTop button{width:auto!important;min-width:32px!important;padding:7px!important;border:1px solid var(--pc-line)!important;background:var(--pc-paper)!important;color:var(--pc-text)!important;font-size:12px!important}
html body .page[data-page="calendar"] .calendarCard.pugCalendarWorkspace .pcToolbar .calendarTop .calendarDate{max-width:none!important;font-size:13px!important;font-weight:650!important;white-space:nowrap}
html body .page[data-page="calendar"] .calendarCard.pugCalendarWorkspace .pcToolbar .calendarTop :is(.calendarDate,.pcToday){border-color:transparent!important;background:transparent!important}
html body .page[data-page="calendar"] .calendarCard.pugCalendarWorkspace .pcToolbar .calendarTop .pcToday{color:var(--pc-muted)!important;font-size:12px!important}
.pcPrevious svg{transform:rotate(90deg)}.pcNext svg{transform:rotate(-90deg)}
html body .page[data-page="calendar"] .calendarCard.pugCalendarWorkspace .calendarViewGroup{display:flex!important;gap:3px!important;width:auto!important;flex:none!important;padding:4px!important;border:0!important;border-radius:12px!important;background:var(--pc-soft)!important;box-shadow:none!important}
html body .page[data-page="calendar"] .calendarCard.pugCalendarWorkspace .calendarViewGroup button{width:auto!important;min-width:0!important;min-height:32px!important;padding:6px 15px!important;border:0!important;background:transparent!important;color:var(--pc-muted)!important;font-size:12px!important}
html body .page[data-page="calendar"] .calendarCard.pugCalendarWorkspace .calendarViewGroup button[aria-pressed="true"]{background:var(--pc-paper)!important;color:var(--pc-accent)!important;font-weight:650!important}
html body .page[data-page="calendar"] .calendarCard.pugCalendarWorkspace .pcToolbar .pcPrimary{display:inline-flex!important;align-items:center;justify-content:center;gap:8px;padding:10px 15px!important;border:1px solid var(--pc-accent)!important;background:var(--pc-accent)!important;color:#fff!important;font-size:13px!important;min-height:40px!important;white-space:nowrap}
html body .page[data-page="calendar"] .calendarCard.pugCalendarWorkspace .pcSubbar{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;min-height:32px;margin-bottom:12px;color:var(--pc-muted);font-size:12px}
html body .page[data-page="calendar"] .calendarCard.pugCalendarWorkspace .pcScheduleLink{display:flex;align-items:center;gap:7px;border:0!important;background:transparent!important;box-shadow:none!important;color:var(--pc-muted)!important;font:inherit;font-size:12px!important;padding:6px!important;min-height:32px!important;transform:none!important}
html body .page[data-page="calendar"] .calendarCard.pugCalendarWorkspace .stockIcon{width:17px;height:17px;flex-shrink:0}
html body .page[data-page="calendar"] .calendarCard.pugCalendarWorkspace :is(.calendarMainArea,.calendarWorkArea){width:100%!important;min-width:0!important;max-width:100%!important;gap:0!important}
html body .page[data-page="calendar"] .calendarCard.pugCalendarWorkspace .calendarDayGrid{border:1px solid var(--pc-line)!important;border-radius:16px!important;background:var(--pc-paper)!important;box-shadow:none!important;grid-template-columns:56px minmax(0,1fr)!important;height:min(68vh,740px);max-height:780px!important;scroll-padding-top:78px}
html body .page[data-page="calendar"] .calendarCard.pugCalendarWorkspace .calendarDoctorsTimelineGrid{grid-auto-columns:minmax(230px,1fr)!important;gap:0!important;background:transparent!important}
html body .page[data-page="calendar"] .calendarCard.pugCalendarWorkspace .calendarDoctorTimelineColumn{border:0!important;border-left:1px solid var(--pc-line)!important;border-radius:0!important;box-shadow:none!important;background:transparent!important;min-width:230px!important}
html body .page[data-page="calendar"] .calendarCard.pugCalendarWorkspace .calendarDoctorTimelineHead{height:76px!important;min-height:76px!important;display:flex!important;align-items:center;gap:9px!important;padding:12px!important;border-bottom:1px solid var(--pc-line)!important;background:var(--pc-paper)!important;box-shadow:none!important;z-index:40!important}
html body .page[data-page="calendar"] .calendarCard.pugCalendarWorkspace .calendarDoctorTimelineIdentity{min-width:0;flex:1}
html body .page[data-page="calendar"] .calendarCard.pugCalendarWorkspace .calendarDoctorTimelineIdentity strong{color:var(--pc-text)!important;font-size:13px!important;line-height:1.4!important;white-space:normal!important;display:block!important}
html body .page[data-page="calendar"] .calendarCard.pugCalendarWorkspace .calendarDoctorTimelineIdentity span{color:var(--pc-muted)!important;font-size:11px!important;line-height:1.4!important;white-space:normal!important}
html body .page[data-page="calendar"] .calendarCard.pugCalendarWorkspace .calendarDoctorAvatar{width:34px!important;height:34px!important;min-width:34px!important;border-radius:10px!important;background:var(--pc-soft)!important;color:var(--pc-accent)!important;box-shadow:none!important;border:0!important;font-size:13px!important}
html body .page[data-page="calendar"] .calendarCard.pugCalendarWorkspace .calendarDoctorSpecializations{display:none!important}
html body .page[data-page="calendar"] .calendarCard.pugCalendarWorkspace .calendarTimelineTimeHead{height:76px!important;min-height:76px!important;background:var(--pc-paper)!important;color:var(--pc-muted)!important;border-bottom:1px solid var(--pc-line)!important;font-size:10px!important;box-shadow:none!important}
html body .page[data-page="calendar"] .calendarCard.pugCalendarWorkspace .calendarTimelineTimeColumn{position:sticky!important;left:0;z-index:45;background:var(--pc-paper)!important;border:0!important}
html body .page[data-page="calendar"] .calendarCard.pugCalendarWorkspace .calendarTimelineTimeBody{background:var(--pc-paper)!important;color:var(--pc-muted)!important}
html body .page[data-page="calendar"] .calendarCard.pugCalendarWorkspace .calendarTimelineTimeLabel{font-size:11px!important;color:var(--pc-muted)!important;font-weight:500!important}
html body .page[data-page="calendar"] .calendarCard.pugCalendarWorkspace :is(.calendarShiftUnavailableBefore,.calendarShiftUnavailableAfter){background:var(--pc-soft)!important;opacity:.7;color:var(--pc-muted)!important;border:0!important}
html body .page[data-page="calendar"] .calendarCard.pugCalendarWorkspace .calendarTimelineEvent{border:1px solid var(--pc-line)!important;border-radius:9px!important;background:var(--pc-soft)!important;color:var(--pc-text)!important;box-shadow:0 2px 7px rgba(40,65,83,.025)!important;cursor:pointer}
html body .page[data-page="calendar"] .calendarCard.pugCalendarWorkspace .calendarTimelineEventAccent{width:3px!important;background:var(--doctor-color,var(--pc-accent))!important;opacity:.6}
html body .page[data-page="calendar"] .calendarCard.pugCalendarWorkspace .calendarTimelineEventContent{padding:8px 10px!important;min-width:0!important}
html body .page[data-page="calendar"] .calendarCard.pugCalendarWorkspace .calendarTimelineEventTime{font-size:11px!important;color:var(--pc-muted)!important;white-space:nowrap}
html body .page[data-page="calendar"] .calendarCard.pugCalendarWorkspace .calendarTimelineEventTitle{font-size:13px!important;line-height:1.4!important;font-weight:650!important;color:var(--pc-text)!important}
html body .page[data-page="calendar"] .calendarCard.pugCalendarWorkspace .calendarTimelineEventNote{font-size:12px!important;line-height:1.4!important;color:var(--pc-muted)!important}
html body .page[data-page="calendar"] .calendarCard.pugCalendarWorkspace .calendarTimelineStatus{font-size:10px!important;font-weight:600!important;padding:3px 6px!important;background:var(--pc-paper)!important;color:var(--pc-muted)!important;box-shadow:none!important;max-width:100%}
html body .page[data-page="calendar"] .calendarCard.pugCalendarWorkspace .calendarTimelineEvent.is-tiny .calendarTimelineEventContent{display:flex!important;align-items:center;gap:7px;padding:4px 8px!important}
html body .page[data-page="calendar"] .calendarCard.pugCalendarWorkspace .calendarTimelineEvent.is-tiny .calendarTimelineEventHead{flex:0 0 auto!important}
html body .page[data-page="calendar"] .calendarCard.pugCalendarWorkspace .calendarTimelineEvent.is-tiny .calendarTimelineEventTitle{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:12px!important}
html body .page[data-page="calendar"] .calendarCard.pugCalendarWorkspace .calendarTimelineEvent.is-tiny :is(.calendarTimelineStatus,.calendarTimelineEventNote){display:none!important}
html body .page[data-page="calendar"] .calendarCard.pugCalendarWorkspace .calendarTimelineEventMenu{background:var(--pc-paper)!important;color:var(--pc-muted)!important;box-shadow:none!important;min-width:22px!important;width:22px!important;min-height:22px!important;height:22px!important;padding:0!important}
html body .page[data-page="calendar"] .calendarCard.pugCalendarWorkspace .calTopScroll{background:var(--pc-soft)!important;height:9px!important;margin-bottom:8px;border-radius:8px}
html body .page[data-page="calendar"] .calendarCard.pugCalendarWorkspace .calendarEmptyShift{background:var(--pc-paper)!important;min-height:320px!important;border:0!important;box-shadow:none!important;color:var(--pc-text)!important}
html body .page[data-page="calendar"] .calendarCard.pugCalendarWorkspace .calendarEmptyShift :is(p,.hint){color:var(--pc-muted)!important;max-width:360px}
html body .page[data-page="calendar"] .calendarCard.pugCalendarWorkspace .calendarEmptyShiftIcon{color:var(--pc-accent)!important;background:var(--pc-soft)!important;box-shadow:none!important;border:0!important}
html body .page[data-page="calendar"] .calendarCard.pugCalendarWorkspace .pcOutside{background:var(--pc-soft);border:1px solid var(--pc-line);border-radius:12px;margin:0 0 14px;color:var(--pc-text);font-size:12px}
html body .page[data-page="calendar"] .calendarCard.pugCalendarWorkspace .pcOutside summary{display:flex;gap:9px;align-items:center;padding:11px 14px;cursor:pointer;list-style:none}
html body .page[data-page="calendar"] .calendarCard.pugCalendarWorkspace .pcOutside summary>svg:last-child{margin-left:auto}
html body .page[data-page="calendar"] .calendarCard.pugCalendarWorkspace .pcOutsideList{padding:0 14px 8px}
html body .page[data-page="calendar"] .calendarCard.pugCalendarWorkspace .pcOutsideList button{display:flex;align-items:center;gap:13px;width:100%;text-align:left;border:0;border-top:1px solid var(--pc-line);background:transparent;box-shadow:none;color:var(--pc-text);padding:10px 0;font:inherit;font-size:12px}
html body .page[data-page="calendar"] .calendarCard.pugCalendarWorkspace .pcOutsideList button>span:nth-child(2){flex:1;min-width:0}
html body .page[data-page="calendar"] .calendarCard.pugCalendarWorkspace .pcOutsideList small{display:block;color:var(--pc-muted);font-size:11px;margin-top:3px}
html body .page[data-page="calendar"] .calendarCard.pugCalendarWorkspace .weekCalendarGrid{display:grid!important;grid-template-columns:repeat(7,minmax(0,1fr))!important;gap:9px!important;overflow:visible!important;min-width:0!important;background:none!important;align-items:start}
html body .page[data-page="calendar"] .calendarCard.pugCalendarWorkspace .weekDayCol{min-width:0!important;width:auto!important;border:0!important;border-radius:0!important;background:none!important;box-shadow:none!important}
html body .page[data-page="calendar"] .calendarCard.pugCalendarWorkspace .weekDayHead{padding:10px 4px!important;border:0!important;background:transparent!important;box-shadow:none!important;gap:6px!important;min-height:64px}
html body .page[data-page="calendar"] .calendarCard.pugCalendarWorkspace .weekDayHead>div{display:flex;flex-wrap:wrap;align-items:center;gap:4px 7px}
html body .page[data-page="calendar"] .calendarCard.pugCalendarWorkspace .weekDayName{font-size:11px!important;color:var(--pc-muted)!important;font-weight:600!important}
html body .page[data-page="calendar"] .calendarCard.pugCalendarWorkspace .weekDayDate{font-size:13px!important;color:var(--pc-text)!important;font-weight:650!important}
html body .page[data-page="calendar"] .calendarCard.pugCalendarWorkspace .pcWeekCount{font-size:10px;color:var(--pc-muted);font-variant-numeric:tabular-nums}
html body .page[data-page="calendar"] .calendarCard.pugCalendarWorkspace .weekCreateVisitButton{width:25px!important;min-width:25px!important;height:27px!important;min-height:27px!important;padding:1px!important;font-size:17px!important;background:var(--pc-soft)!important;color:var(--pc-accent)!important;border:0!important;box-shadow:none!important;border-radius:8px!important}
html body .page[data-page="calendar"] .calendarCard.pugCalendarWorkspace .weekDayBody{padding:0!important;background:none!important;min-height:200px!important;display:flex;flex-direction:column;gap:8px}
html body .page[data-page="calendar"] .calendarCard.pugCalendarWorkspace .weekEventCard{padding:10px!important;min-height:0!important;border:1px solid var(--pc-line)!important;border-left:2px solid var(--pc-line)!important;border-radius:11px!important;background:var(--pc-paper)!important;box-shadow:none!important;margin:0!important;color:var(--pc-text)!important;overflow-wrap:anywhere;cursor:pointer}
html body .page[data-page="calendar"] .calendarCard.pugCalendarWorkspace .pcCurrentDay .weekEventCard{border-color:var(--pc-accent)!important}
html body .page[data-page="calendar"] .calendarCard.pugCalendarWorkspace .weekEventTime{font-size:11px!important;color:var(--pc-accent)!important;font-weight:600!important;white-space:normal!important}
html body .page[data-page="calendar"] .calendarCard.pugCalendarWorkspace .weekEventTitle{font-size:13px!important;font-weight:650!important;line-height:1.4!important;color:var(--pc-text)!important;margin:5px 0!important}
html body .page[data-page="calendar"] .calendarCard.pugCalendarWorkspace :is(.weekEventVet,.weekEventMeta,.weekEmpty){font-size:11px!important;line-height:1.5!important;color:var(--pc-muted)!important;margin:4px 0 0!important}
html body .page[data-page="calendar"] .calendarCard.pugCalendarWorkspace .weekEventMeta{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
html body .page[data-page="calendar"] .calendarCard.pugCalendarWorkspace .monthPlannerLayout{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:16px!important;min-width:0!important;align-items:start}
html body .page[data-page="calendar"] .calendarCard.pugCalendarWorkspace .monthPlannerMain{min-width:0!important;overflow:visible!important}
html body .page[data-page="calendar"] .calendarCard.pugCalendarWorkspace :is(.monthGrid,.monthWeekHead){display:grid!important;grid-template-columns:repeat(7,minmax(0,1fr))!important;width:100%!important;min-width:0!important;gap:0!important}
html body .page[data-page="calendar"] .calendarCard.pugCalendarWorkspace .monthWeekHead{padding:11px 0!important;background:var(--pc-paper)!important;border:1px solid var(--pc-line);border-bottom:0;border-radius:14px 14px 0 0;color:var(--pc-muted)!important;font-size:11px!important}
html body .page[data-page="calendar"] .calendarCard.pugCalendarWorkspace .monthGrid{border:1px solid var(--pc-line);border-radius:0 0 14px 14px;overflow:hidden;background:var(--pc-paper)!important}
html body .page[data-page="calendar"] .calendarCard.pugCalendarWorkspace .monthDay{min-height:110px!important;min-width:0!important;margin:0!important;padding:10px!important;border:0!important;border-right:1px solid var(--pc-line)!important;border-bottom:1px solid var(--pc-line)!important;border-radius:0!important;background:var(--pc-paper)!important;box-shadow:none!important;color:var(--pc-text)!important;cursor:pointer}
html body .page[data-page="calendar"] .calendarCard.pugCalendarWorkspace .monthDay.muted{opacity:.5!important}
html body .page[data-page="calendar"] .calendarCard.pugCalendarWorkspace .monthDay.selected{background:var(--pc-soft)!important;box-shadow:inset 0 0 0 2px var(--pc-accent)!important}
html body .page[data-page="calendar"] .calendarCard.pugCalendarWorkspace .monthDay.today .monthDayNum{color:var(--pc-accent)!important;text-decoration:underline;text-underline-offset:5px}
html body .page[data-page="calendar"] .calendarCard.pugCalendarWorkspace .monthDayNum{font-size:13px!important;color:var(--pc-text)!important}
html body .page[data-page="calendar"] .calendarCard.pugCalendarWorkspace .monthDayTop{gap:4px!important;flex-wrap:wrap;align-items:start!important}
html body .page[data-page="calendar"] .calendarCard.pugCalendarWorkspace .monthVisitCount{font-size:10px!important;line-height:1.3!important;background:none!important;color:var(--pc-accent)!important;padding:0!important}
html body .page[data-page="calendar"] .calendarCard.pugCalendarWorkspace .monthStaffList{gap:4px!important;margin-top:8px!important}
html body .page[data-page="calendar"] .calendarCard.pugCalendarWorkspace .monthStaffPill{background:transparent!important;box-shadow:none!important;border-width:0 0 0 2px!important;border-radius:0!important;padding:0 5px!important;font-size:11px!important;line-height:1.5!important;color:var(--pc-muted)!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block!important}
html body .page[data-page="calendar"] .calendarCard.pugCalendarWorkspace :is(.monthMore,.monthEmptyShift){font-size:11px!important;color:var(--pc-muted)!important;border:0!important;background:none!important;padding:2px 0!important;box-shadow:none!important}
html body .page[data-page="calendar"] .calendarCard.pugCalendarWorkspace .monthShiftDrawer:not(.open){display:none!important}
html body .page[data-page="calendar"] .calendarCard.pugCalendarWorkspace .monthShiftDrawer.open{position:static!important;inset:auto!important;transform:none!important;width:100%!important;min-width:0!important;max-height:none!important;padding:20px!important;border:1px solid var(--pc-line)!important;border-radius:16px!important;background:var(--pc-paper)!important;color:var(--pc-text)!important;box-shadow:none!important;overflow:visible!important}
html body .page[data-page="calendar"] .calendarCard.pugCalendarWorkspace .monthDaySummary{padding:0!important;background:none!important}
html body .page[data-page="calendar"] .calendarCard.pugCalendarWorkspace .monthDaySummary :is(h3,strong,b){color:var(--pc-text)!important}
html body .page[data-page="calendar"] .calendarCard.pugCalendarWorkspace .monthDaySummary :is(small,.hint){color:var(--pc-muted)!important}
html body .page[data-page="calendar"] .calendarCard.pugCalendarWorkspace :is(.monthDaySummaryStat,.monthDaySummaryPerson){background:var(--pc-soft)!important;border:0!important;box-shadow:none!important;border-radius:11px!important}
@media(min-width:1200px){html body .page[data-page="calendar"] .calendarCard.pugCalendarWorkspace .monthPlannerLayout:has(.monthShiftDrawer.open){grid-template-columns:minmax(0,1fr) 300px!important}}

/* Preserve every booking field and its existing behavior. */
html body #visitModal.modal.pugVisitOverlay.pugBookingWorkspace .pugVisitModal{width:min(920px,calc(100vw - 32px))!important;max-width:920px!important;max-height:calc(100dvh - 40px)!important;padding:0!important;border:1px solid var(--pc-line)!important;border-radius:22px!important;background:var(--pc-paper)!important;color:var(--pc-text)!important;box-shadow:0 25px 80px rgba(28,48,64,.16)!important;overflow:hidden!important}
html body #visitModal.modal.pugVisitOverlay.pugBookingWorkspace .pugVisitHead{padding:24px 26px!important;border-bottom:1px solid var(--pc-line)!important;background:var(--pc-paper)!important;box-shadow:none!important}
html body #visitModal.modal.pugVisitOverlay.pugBookingWorkspace .pugVisitTitle{font-size:24px!important;line-height:1.3!important;letter-spacing:-.6px;color:var(--pc-text)!important;font-weight:700!important}
html body #visitModal.modal.pugVisitOverlay.pugBookingWorkspace .pugVisitSub{font-size:12px!important;color:var(--pc-muted)!important;margin-top:6px}
html body #visitModal.modal.pugVisitOverlay.pugBookingWorkspace .pugVisitIcon{width:43px!important;height:43px!important;background:var(--pc-soft)!important;color:var(--pc-accent)!important;border:0!important;border-radius:13px!important;box-shadow:none!important}
html body #visitModal.modal.pugVisitOverlay.pugBookingWorkspace .stockIcon{width:18px;height:18px;vertical-align:middle}
html body #visitModal.modal.pugVisitOverlay.pugBookingWorkspace .pugVisitBody{display:grid!important;grid-template-columns:minmax(230px,.85fr) minmax(0,1.4fr)!important;gap:22px!important;padding:24px 26px!important;overflow-y:auto!important;max-height:calc(100dvh - 225px)!important;align-items:start}
html body #visitModal.modal.pugVisitOverlay.pugBookingWorkspace .pugVisitSection{padding:0!important;border:0!important;border-radius:0!important;background:none!important;box-shadow:none!important;min-width:0!important;margin:0!important}
html body #visitModal.modal.pugVisitOverlay.pugBookingWorkspace .pugVisitPatientBlock{grid-column:1;grid-row:1 / 3}
html body #visitModal.modal.pugVisitOverlay.pugBookingWorkspace .pugVisitDetailsBlock{grid-column:2;grid-row:1}
html body #visitModal.modal.pugVisitOverlay.pugBookingWorkspace .pugVisitMedicalBlock{grid-column:2;grid-row:2}
html body #visitModal.modal.pugVisitOverlay.pugBookingWorkspace .pugQuickPatientBox{grid-column:1 / -1;grid-row:3;padding:18px!important;border:1px solid var(--pc-line)!important;border-radius:14px!important;background:var(--pc-soft)!important}
html body #visitModal.modal.pugVisitOverlay.pugBookingWorkspace .pugSectionTitle{color:var(--pc-text)!important;font-size:13px!important;margin:0 0 12px!important;gap:7px!important}
html body #visitModal.modal.pugVisitOverlay.pugBookingWorkspace .pugSectionTitle span{color:var(--pc-accent)!important;background:none!important;box-shadow:none!important}
html body #visitModal.modal.pugVisitOverlay.pugBookingWorkspace :is(.pugVisitInput,.pugQuickInput){min-height:42px!important;padding:10px 12px!important;border:1px solid var(--pc-line)!important;border-radius:10px!important;color:var(--pc-text)!important;background:var(--pc-paper)!important;box-shadow:none!important;font-size:13px!important;line-height:1.5!important}
html body #visitModal.modal.pugVisitOverlay.pugBookingWorkspace .pugVisitSearch{padding-left:37px!important}
html body #visitModal.modal.pugVisitOverlay.pugBookingWorkspace .pugSearchIcon{color:var(--pc-muted)!important}
html body #visitModal.modal.pugVisitOverlay.pugBookingWorkspace .pugVisitField>span{color:var(--pc-muted)!important;font-size:12px!important;font-weight:600!important}
html body #visitModal.modal.pugVisitOverlay.pugBookingWorkspace .pugVisitFieldsGrid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important}
html body #visitModal.modal.pugVisitOverlay.pugBookingWorkspace .pugVisitTextarea{height:82px!important;min-height:82px!important}
html body #visitModal.modal.pugVisitOverlay.pugBookingWorkspace :is(.pugVisitFoot,.pugVisitHead){flex-shrink:0}
html body #visitModal.modal.pugVisitOverlay.pugBookingWorkspace .pugVisitFoot{display:flex!important;align-items:center!important;gap:10px!important;flex-wrap:wrap;padding:16px 26px!important;border-top:1px solid var(--pc-line)!important;background:var(--pc-paper)!important;margin:0!important}
html body #visitModal.modal.pugVisitOverlay.pugBookingWorkspace .pcBookingSummary{margin-right:auto;color:var(--pc-muted);font-size:12px;font-variant-numeric:tabular-nums}
html body #visitModal.modal.pugVisitOverlay.pugBookingWorkspace :is(.pugVisitCancel,.pugVisitSave,.pugAddPatientBtn){min-height:40px!important;min-width:0!important;width:auto!important;padding:10px 15px!important;border:1px solid var(--pc-line)!important;border-radius:10px!important;color:var(--pc-accent)!important;background:var(--pc-soft)!important;box-shadow:none!important;font-size:13px!important;font-weight:650!important;line-height:1.4!important;text-transform:none!important;letter-spacing:normal!important;transform:none!important}
html body #visitModal.modal.pugVisitOverlay.pugBookingWorkspace .pugVisitSave{background:var(--pc-accent)!important;color:#fff!important;border-color:var(--pc-accent)!important}
html body #visitModal.modal.pugVisitOverlay.pugBookingWorkspace .pugAddPatientBtn{width:100%!important;margin-top:13px!important}
html body #visitModal.modal.pugVisitOverlay.pugBookingWorkspace .patientSearchItem{padding:11px!important;background:var(--pc-soft)!important;color:var(--pc-text)!important;border:1px solid var(--pc-line)!important;border-radius:10px!important;box-shadow:none!important;font-size:13px!important;cursor:pointer}
html body #visitModal.modal.pugVisitOverlay.pugBookingWorkspace .patientSearchItem span{color:var(--pc-muted)!important;font-size:11px!important}
html body #visitModal.modal.pugVisitOverlay.pugBookingWorkspace .pcBookingAvailability{margin-top:12px;padding:10px 12px;border-radius:10px;background:var(--pc-soft);color:var(--pc-muted);font-size:12px;line-height:1.5}
html body #visitModal.modal.pugVisitOverlay.pugBookingWorkspace .pcBookingAvailability:empty{display:none}
html body #visitModal.modal.pugVisitOverlay.pugBookingWorkspace .pcBookingAvailability.is-available{background:rgba(53,123,103,.08);color:#357b67}
html body #visitModal.modal.pugVisitOverlay.pugBookingWorkspace .pcBookingAvailability.is-warning{background:rgba(153,112,48,.09);color:#856126}
html body #visitModal.modal.pugVisitOverlay.pugBookingWorkspace .appointmentTemplateSelector{min-height:64px!important;padding:12px!important;border:1px solid var(--pc-line)!important;border-radius:12px!important;background:var(--pc-soft)!important;box-shadow:none!important;color:var(--pc-text)!important}
html body #visitModal.modal.pugVisitOverlay.pugBookingWorkspace .appointmentTemplateAddQuick{padding:7px!important;min-height:30px!important;border:0!important;background:none!important;box-shadow:none!important;color:var(--pc-accent)!important;font-size:12px!important}
html body #visitModal.modal.pugVisitOverlay.pugBookingWorkspace .appointmentTemplateIcon{color:var(--pc-accent)!important;background:none!important}
html body :is(.pugCalendarWorkspace,#visitModal.pugBookingWorkspace) :is(button,input,select,textarea,[role="button"],summary):focus-visible{outline:3px solid #8bb9dc!important;outline-offset:3px}
@media(max-width:900px){html body .page[data-page="calendar"] .calendarCard.pugCalendarWorkspace .weekCalendarGrid{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:16px!important}html body .page[data-page="calendar"] .calendarCard.pugCalendarWorkspace .pcToolbar{gap:10px}html body .page[data-page="calendar"] .calendarCard.pugCalendarWorkspace .pcToolbar .calendarTop{width:100%!important}}
@media(max-width:640px){html body .page[data-page="calendar"] .calendarCard.pugCalendarWorkspace .pcHeading{margin-bottom:18px}html body .page[data-page="calendar"] .calendarCard.pugCalendarWorkspace .pcHeading h1{font-size:27px!important}html body .page[data-page="calendar"] .calendarCard.pugCalendarWorkspace .pcToolbar .calendarTop{justify-content:space-between!important}html body .page[data-page="calendar"] .calendarCard.pugCalendarWorkspace .pcToolbar .calendarTop button{min-height:42px!important}html body .page[data-page="calendar"] .calendarCard.pugCalendarWorkspace .calendarViewGroup button{padding:8px 12px!important;min-height:38px!important}html body .page[data-page="calendar"] .calendarCard.pugCalendarWorkspace .pcToolbar .pcPrimary{padding:10px!important;font-size:12px!important}html body .page[data-page="calendar"] .calendarCard.pugCalendarWorkspace .calendarDayGrid{grid-template-columns:45px minmax(0,1fr)!important}html body .page[data-page="calendar"] .calendarCard.pugCalendarWorkspace .calendarDoctorsTimelineGrid{grid-auto-columns:100%!important}html body .page[data-page="calendar"] .calendarCard.pugCalendarWorkspace .calendarDoctorTimelineColumn{min-width:0!important}html body .page[data-page="calendar"] .calendarCard.pugCalendarWorkspace .weekCalendarGrid{grid-template-columns:repeat(2,minmax(0,1fr))!important}html body .page[data-page="calendar"] .calendarCard.pugCalendarWorkspace .weekDayBody{min-height:100px!important}html body .page[data-page="calendar"] .calendarCard.pugCalendarWorkspace .monthDay{padding:6px 4px!important;min-height:105px!important}html body .page[data-page="calendar"] .calendarCard.pugCalendarWorkspace .monthStaffPill{font-size:10px!important;padding-left:3px!important}html body .page[data-page="calendar"] .calendarCard.pugCalendarWorkspace .monthVisitCount{font-size:9px!important}html body .page[data-page="calendar"] .calendarCard.pugCalendarWorkspace .monthEmptyShift{font-size:10px!important}html body .page[data-page="calendar"] .calendarCard.pugCalendarWorkspace .monthDaySummaryPerson{flex-wrap:wrap}html body .page[data-page="calendar"] .calendarCard.pugCalendarWorkspace .pcOutside summary{padding:10px;flex-wrap:wrap}html body #visitModal.modal.pugVisitOverlay.pugBookingWorkspace .pugVisitModal{width:calc(100vw - 16px)!important;max-height:calc(100dvh - 16px)!important;border-radius:16px!important}html body #visitModal.modal.pugVisitOverlay.pugBookingWorkspace .pugVisitHead{padding:18px!important}html body #visitModal.modal.pugVisitOverlay.pugBookingWorkspace .pugVisitTitle{font-size:22px!important}html body #visitModal.modal.pugVisitOverlay.pugBookingWorkspace .pugVisitBody{display:flex!important;flex-direction:column!important;padding:18px!important;gap:20px!important;max-height:calc(100dvh - 215px)!important}html body #visitModal.modal.pugVisitOverlay.pugBookingWorkspace .pugVisitSection{width:100%!important}html body #visitModal.modal.pugVisitOverlay.pugBookingWorkspace .pugVisitPatientBlock{order:0}html body #visitModal.modal.pugVisitOverlay.pugBookingWorkspace .pugQuickPatientBox{order:1}html body #visitModal.modal.pugVisitOverlay.pugBookingWorkspace .pugVisitDetailsBlock{order:2}html body #visitModal.modal.pugVisitOverlay.pugBookingWorkspace .pugVisitMedicalBlock{order:3}html body #visitModal.modal.pugVisitOverlay.pugBookingWorkspace :is(input,select,textarea){font-size:16px!important}html body #visitModal.modal.pugVisitOverlay.pugBookingWorkspace .pugVisitFoot{padding:12px 18px!important}html body #visitModal.modal.pugVisitOverlay.pugBookingWorkspace .pcBookingSummary{width:100%;font-size:11px}html body #visitModal.modal.pugVisitOverlay.pugBookingWorkspace :is(.pugVisitSave,.pugVisitCancel){flex:1}}

html body #visitModal.modal.pugVisitOverlay.pugBookingWorkspace .pugVisitDetailsBlock{display:block!important;min-width:0!important}
html body #visitModal.modal.pugVisitOverlay.pugBookingWorkspace .appointmentTemplatePicker{min-width:0!important;margin-bottom:12px!important}
html body .page[data-page="calendar"] .calendarCard.pugCalendarWorkspace :is(.calendarDoctorTimelineHead,.calendarTimelineTimeHead){position:sticky!important;top:0!important;z-index:50!important}
html body .page[data-page="calendar"] .calendarCard.pugCalendarWorkspace .calendarDoctorTimelineColumn{overflow:visible!important}
html body .page[data-page="calendar"] .calendarCard.pugCalendarWorkspace .calendarShiftUnavailable span{color:var(--pc-muted)!important;font-size:10px!important;opacity:1!important}
html body[data-theme="white"] :is(.pugCalendarWorkspace,.pugBookingWorkspace){color-scheme:light}
html body #visitModal.modal.pugVisitOverlay.pugBookingWorkspace .pcBookingPatient{display:flex;align-items:start;gap:10px;margin-top:12px;padding:15px;border:1px solid var(--pc-line);border-radius:12px;background:var(--pc-soft);color:var(--pc-text)}
html body #visitModal.modal.pugVisitOverlay.pugBookingWorkspace .pcBookingPatient[hidden]{display:none}
html body #visitModal.modal.pugVisitOverlay.pugBookingWorkspace .pcBookingPatient>div{min-width:0}
html body #visitModal.modal.pugVisitOverlay.pugBookingWorkspace .pcBookingPatient strong{font-size:15px;font-weight:650;color:var(--pc-text)}
html body #visitModal.modal.pugVisitOverlay.pugBookingWorkspace .pcBookingPatient small{display:block;margin-top:5px;color:var(--pc-muted);font-size:12px;line-height:1.5;overflow-wrap:anywhere}
html body #visitModal.modal.pugVisitOverlay.pugBookingWorkspace .pugVisitBody:has(>.pugVisitPatientBlock[style*="none"]) :is(.pugVisitDetailsBlock,.pugVisitMedicalBlock){grid-column:1/-1}
html body #visitModal.modal.pugVisitOverlay.pugBookingWorkspace .appointmentTemplateSelectorIcon{background:var(--pc-soft)!important;color:var(--pc-accent)!important}

/* Mobile already names the selected clinician above the grid. Hide both headers together to keep appointment times aligned. */
@media(max-width:640px),(max-width:1024px) and (max-height:500px) and (orientation:landscape){
html body .page[data-page="calendar"] .calendarCard.pugCalendarWorkspace :is(.calendarDoctorTimelineHead,.calendarTimelineTimeHead){display:none!important}
}

/* Readable booking workspace and clear interaction feedback. */
html body #visitModal.modal.pugVisitOverlay.pugBookingWorkspace .pugVisitModal{width:min(1180px,calc(100vw - 48px))!important;max-width:1180px!important}
html body #visitModal.modal.pugVisitOverlay.pugBookingWorkspace .pugVisitBody{grid-template-columns:minmax(340px,1fr) minmax(0,1.25fr)!important;gap:26px!important;padding:28px 32px!important}
html body #visitModal.modal.pugVisitOverlay.pugBookingWorkspace .pugVisitTitle{font-size:28px!important}
html body #visitModal.modal.pugVisitOverlay.pugBookingWorkspace :is(.pugVisitInput,.pugQuickInput){font-size:15px!important;min-height:46px!important;color-scheme:light!important}
html body #visitModal.modal.pugVisitOverlay.pugBookingWorkspace :is(.pugSectionTitle,.pugQuickGroupTitle){font-size:16px!important;color:var(--pc-text)!important}
html body #visitModal.modal.pugVisitOverlay.pugBookingWorkspace :is(.pugVisitField>span,.pugQuickField>span){font-size:13px!important;color:var(--pc-muted)!important}
html body #visitModal.modal.pugVisitOverlay.pugBookingWorkspace .pugQuickPatientTitle{font-size:18px!important;color:var(--pc-text)!important}
html body #visitModal.modal.pugVisitOverlay.pugBookingWorkspace .pugQuickPatientSub{font-size:13px!important;line-height:1.5!important;color:var(--pc-muted)!important}
html body #visitModal.modal.pugVisitOverlay.pugBookingWorkspace .pugQuickGroup{min-width:0;padding:16px!important;background:var(--pc-paper)!important;border:1px solid var(--pc-line)!important;border-radius:12px!important}
html body #visitModal.modal.pugVisitOverlay.pugBookingWorkspace :is(.pugQuickCancel,.pugQuickCreate){min-height:44px!important;font-size:14px!important;padding:10px 16px!important;border:1px solid var(--pc-line)!important;border-radius:10px!important;background:var(--pc-paper)!important;color:var(--pc-accent)!important;box-shadow:none!important}
html body #visitModal.modal.pugVisitOverlay.pugBookingWorkspace .pugQuickCreate{background:var(--pc-accent)!important;color:#fff!important;border-color:var(--pc-accent)!important}
html body #visitModal.modal.pugVisitOverlay.pugBookingWorkspace :is(button,[role="button"]):not(:disabled){cursor:pointer!important;transition:background-color .16s,border-color .16s,box-shadow .16s,transform .16s!important}
html body #visitModal.modal.pugVisitOverlay.pugBookingWorkspace :is(.pugVisitSave,.pugVisitCancel,.pugAddPatientBtn,.pugQuickCreate,.pugQuickCancel,.appointmentTemplateSelector,.appointmentTemplateAddQuick,#visitClose):not(:disabled):hover{border-color:#91b2ca!important;background:#e1edf6!important;box-shadow:0 4px 12px rgba(43,83,113,.1)!important;transform:translateY(-1px)!important}
html body #visitModal.modal.pugVisitOverlay.pugBookingWorkspace :is(.pugVisitSave,.pugQuickCreate):not(:disabled):hover{background:#285b82!important;color:#fff!important}
html body #visitModal.modal.pugVisitOverlay.pugBookingWorkspace button:not(:disabled):active{transform:translateY(0)!important;box-shadow:inset 0 1px 3px rgba(28,48,64,.13)!important}
html body #visitModal.modal.pugVisitOverlay.pugBookingWorkspace .stockIcon{display:inline-block!important;flex-shrink:0;stroke:currentColor!important}
@media(min-width:1000px){
html body #visitModal.modal.pugVisitOverlay.pugBookingWorkspace .pugVisitBody:has(.pugQuickPatientBox:not([style*="none"])) {grid-template-columns:minmax(0,1.2fr) minmax(0,1fr)!important}
html body #visitModal.modal.pugVisitOverlay.pugBookingWorkspace .pugVisitBody:has(.pugQuickPatientBox:not([style*="none"])) .pugVisitPatientBlock{grid-row:1 / 3;grid-column:1}
html body #visitModal.modal.pugVisitOverlay.pugBookingWorkspace .pugQuickPatientBox{grid-column:1;grid-row:2 / 4}
html body #visitModal.modal.pugVisitOverlay.pugBookingWorkspace .pugQuickPatientGrid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:14px!important}
}

html body .page[data-page="calendar"] .calendarCard.pugCalendarWorkspace :is(button,[role="button"],summary){cursor:pointer;transition:background-color .16s,border-color .16s,box-shadow .16s!important}
html body .page[data-page="calendar"] .calendarCard.pugCalendarWorkspace :is(.pcToolbar button,.pcScheduleLink,.weekDayAdd,.pcOutsideList button):not(:disabled):hover{background:#dfebf5!important;color:#285b82!important;box-shadow:0 3px 10px rgba(43,83,113,.1)!important}
html body .page[data-page="calendar"] .calendarCard.pugCalendarWorkspace .pcToolbar .pcPrimary:not(:disabled):hover{background:#285b82!important;color:#fff!important;border-color:#285b82!important}
html body .page[data-page="calendar"] .calendarCard.pugCalendarWorkspace :is(.weekEvent,.monthDay,[data-edit-calendar-event]):hover{border-color:#8daec7!important;box-shadow:0 3px 12px rgba(43,83,113,.1)!important}
html body .page[data-page="calendar"] .calendarCard.pugCalendarWorkspace .calendarDoctorTimeline{cursor:pointer}
html body .page[data-page="calendar"] .calendarCard.pugCalendarWorkspace .calendarTimelineHover{background:#e0edf7!important;border:1px solid #92b6d0!important;color:#285b82!important;box-shadow:0 2px 8px rgba(43,83,113,.08)!important;pointer-events:none!important}
@media(max-width:760px){html body #visitModal.modal.pugVisitOverlay.pugBookingWorkspace .pugVisitBody{display:flex!important;flex-direction:column!important;padding:20px!important}html body #visitModal.modal.pugVisitOverlay.pugBookingWorkspace .pugVisitModal{width:calc(100vw - 16px)!important}html body #visitModal.modal.pugVisitOverlay.pugBookingWorkspace .pugQuickPatientGrid{grid-template-columns:minmax(0,1fr)!important}}
@media(prefers-reduced-motion:reduce){html body #visitModal.modal.pugVisitOverlay.pugBookingWorkspace button,html body .page[data-page="calendar"] .calendarCard.pugCalendarWorkspace button{transition:none!important}}

html body #visitModal.modal.pugVisitOverlay.pugBookingWorkspace .pugVisitPatientBlock>.pugQuickPatientBox{margin-top:20px!important}

html body #visitModal.modal.pugVisitOverlay.pugBookingWorkspace :is(.pugVisitPatientBlock,.pugVisitDetailsBlock){grid-row:1!important}
html body #visitModal.modal.pugVisitOverlay.pugBookingWorkspace .pugVisitDetailsBlock>.pugVisitMedicalBlock{margin-top:24px!important}

/* New patient and vaccination fields need the full dialog width, without nested narrow grids. */
html body #visitModal.modal.pugVisitOverlay.pugBookingWorkspace .pugQuickPatientBox{grid-column:1 / -1!important;grid-row:2!important;margin-top:0!important}
html body #visitModal.modal.pugVisitOverlay.pugBookingWorkspace .pugQuickPatientGrid{align-items:start!important;grid-template-columns:repeat(2,minmax(0,1fr))!important}
html body #visitModal.modal.pugVisitOverlay.pugBookingWorkspace .pcVaccinationSection{grid-column:1 / -1!important;display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:16px!important;min-width:0}
html body #visitModal.modal.pugVisitOverlay.pugBookingWorkspace .pcVaccinationCard{padding:18px;border:1px solid var(--pc-line);border-radius:12px;background:var(--pc-paper);min-width:0}
html body #visitModal.modal.pugVisitOverlay.pugBookingWorkspace .pcVaccinationCard>label{display:flex;flex-direction:column;gap:8px}
html body #visitModal.modal.pugVisitOverlay.pugBookingWorkspace .pcVaccinationCard>label>span{font-size:15px!important;font-weight:650!important;color:var(--pc-text)!important}
html body #visitModal.modal.pugVisitOverlay.pugBookingWorkspace .pcVaccinationCard>div:not([hidden]){display:grid!important;grid-template-columns:minmax(175px,.85fr) minmax(0,1.15fr)!important;gap:14px!important;margin-top:16px}
html body #visitModal.modal.pugVisitOverlay.pugBookingWorkspace .pcVaccinationCard>div[hidden]{display:none!important}
html body #visitModal.modal.pugVisitOverlay.pugBookingWorkspace .pcVaccinationCard :is(input,select){width:100%!important;min-width:0!important;max-width:100%!important}
@media(max-width:900px){html body #visitModal.modal.pugVisitOverlay.pugBookingWorkspace .pugQuickPatientGrid,html body #visitModal.modal.pugVisitOverlay.pugBookingWorkspace .pcVaccinationSection{grid-template-columns:minmax(0,1fr)!important}}
@media(max-width:540px){html body #visitModal.modal.pugVisitOverlay.pugBookingWorkspace .pcVaccinationCard>div:not([hidden]){grid-template-columns:minmax(0,1fr)!important}}

/* Consistent hand-drawn pet mark, with no system emoji or dark badge. */
html body #visitModal.modal.pugVisitOverlay.pugBookingWorkspace .patientSearchItem::before{content:none!important;display:none!important}
html body #visitModal.modal.pugVisitOverlay.pugBookingWorkspace .patientSearchItem{display:grid!important;grid-template-columns:40px minmax(0,1fr)!important;justify-content:start!important;gap:12px!important;text-align:left!important}
html body #visitModal.modal.pugVisitOverlay.pugBookingWorkspace .pcPatientAvatar{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:12px;background:#e2edf5;color:#527c9b;border:1px solid #d0e1ed;box-shadow:none}
html body #visitModal.modal.pugVisitOverlay.pugBookingWorkspace .pcPatientAvatar .stockIcon{width:24px!important;height:24px!important}
html body #visitModal.modal.pugVisitOverlay.pugBookingWorkspace .pcPatientSearchText{min-width:0}
html body #visitModal.modal.pugVisitOverlay.pugBookingWorkspace .pcPatientSearchText strong{color:var(--pc-text)!important;font-size:15px!important;font-weight:650!important;line-height:1.4!important;overflow-wrap:anywhere}
html body #visitModal.modal.pugVisitOverlay.pugBookingWorkspace .pcPatientSearchText span{font-size:12px!important;line-height:1.5!important;margin-top:3px!important;overflow-wrap:anywhere}
html body #visitModal.modal.pugVisitOverlay.pugBookingWorkspace .patientSearchItem:hover{background:#e4eff7!important;border-color:#acc6d9!important;box-shadow:0 3px 10px rgba(43,83,113,.06)!important;transform:none!important}