[data-view-panel=calendar]{--calendar-line:#dddde3;--calendar-soft:#f5f4f7;--calendar-orange:#ff8a65}
.calendar-mode-label{position:relative}#calendar-mode{height:36px;min-width:95px;padding:5px 12px;border:1px solid #bbb;border-radius:4px;background:#fff;color:#a23a18;font:400 14px Inter,Arial,sans-serif;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:14px}#calendar-mode-menu{position:absolute;top:calc(100% + 4px);left:0;z-index:50;min-width:130px;padding:5px 0;border:1px solid #ddd;border-radius:4px;box-shadow:0 4px 14px #0002;background:#fff}#calendar-mode-menu button{display:block;width:100%;padding:8px 14px;border:0;background:#fff;text-align:left;font-size:14px;cursor:pointer}#calendar-mode-menu button[aria-checked=true],#calendar-mode-menu button:hover{background:#fff0e9}#calendar-mode-menu button:focus-visible{outline-offset:-3px}
.calendar-toolbar{border:0;border-radius:0;padding:10px 0 16px;align-items:center;gap:8px;background:transparent}.calendar-toolbar .date-jump{margin:0;width:auto;order:0}.calendar-toolbar input,.calendar-toolbar select{min-height:36px;height:36px;font-size:14px;border-radius:4px;padding:5px 9px}.calendar-toolbar .secondary{min-height:36px;color:#a23a18;font-weight:500}.calendar-toolbar .icon-button{width:32px;height:32px;border:0;border-radius:50%;background:#eee;font-size:26px;color:#76737e}.calendar-mode-label{min-width:95px}.calendar-layout-toggle{display:flex;border:1px solid #bbb;border-radius:4px;overflow:hidden}.calendar-layout-toggle button{width:36px;height:34px;border:0;background:#fff;font-size:24px;line-height:1;cursor:pointer;color:#74717c}.calendar-layout-toggle button[aria-pressed=true]{background:var(--calendar-orange);color:#321d17}.calendar-layout-toggle button+button{border-left:1px solid #bbb}.calendar-title-row{margin:0 0 10px}.calendar-title-row h2{font-size:16px;font-weight:500}.calendar-workspace{display:grid;grid-template-columns:220px minmax(0,1fr);background:#fff;border:1px solid var(--calendar-line)}.calendar-mini{min-width:0;padding:16px 14px;border-right:1px solid var(--calendar-line)}.mini-calendar-heading{display:flex;align-items:center;gap:5px;margin-bottom:18px}.mini-calendar-heading h3{flex:1;font-size:14px;font-weight:500;margin:0}.mini-calendar-heading>button{border:0;background:none;color:#76737e;width:26px;height:30px;font-size:25px;cursor:pointer}.mini-calendar-grid [role=row]{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));align-items:center;text-align:center}.mini-calendar-grid [role=columnheader]{font-size:12px;color:#777;height:28px}.mini-calendar-grid button{border:0;border-radius:50%;background:none;height:29px;min-width:0;padding:0;font-size:12px;cursor:pointer;color:var(--ink);margin:2px 0}.mini-calendar-grid button.outside-month{color:#85818a}.mini-calendar-grid button[aria-selected=true]{background:#ffe6dc;box-shadow:inset 0 0 0 1px var(--calendar-orange)}.mini-calendar-grid button[aria-current=date]{background:var(--calendar-orange);color:#321d17}.mini-calendar-grid button:hover{background:#fff0e9}
#calendar-grid{display:block;min-width:0;max-height:calc(100vh - 240px);min-height:390px;overflow:auto;border:0;border-radius:0;position:relative;background:#fff;scrollbar-gutter:stable}.schedule-loading{padding:28px;font-size:14px;color:#6f6c7a}.schedule-time-grid{display:grid;grid-template-columns:48px repeat(var(--day-count),minmax(86px,1fr));min-width:calc(48px + var(--day-count)*86px)}.schedule-time-grid header{height:52px;position:sticky;top:0;z-index:5;background:#fff;border-bottom:1px solid var(--calendar-line);display:flex;align-items:center;justify-content:center;color:#6f6c7a;font-size:12px;line-height:1.3}.schedule-column{min-width:0;border-left:1px solid var(--calendar-line)}.schedule-column header button{width:100%;height:100%;border:0;background:none;font-size:17px;color:#6f6c7a;cursor:pointer}.schedule-column header strong{font-weight:600}.schedule-column.is-today header{background:#fff0e9}.schedule-column.is-today header button{color:#a23a18}.schedule-axis,.schedule-hours{height:1344px;position:relative;background:repeating-linear-gradient(to bottom,#fff 0,#fff 55px,var(--calendar-line) 55px,var(--calendar-line) 56px)}.schedule-axis span{position:absolute;right:5px;transform:translateY(-50%);font-size:10px;color:#777;white-space:nowrap}.schedule-axis span:first-child{transform:none}.schedule-slot{position:absolute;left:0;width:100%;height:28px;border:0;background:transparent;cursor:pointer}.schedule-slot:hover,.schedule-slot:focus-visible{background:#fff0e9}.schedule-event{display:flex;flex-direction:column;gap:3px;min-width:0;width:100%;border:1px solid #efbdad;border-left:4px solid var(--calendar-orange);border-radius:4px;background:#fff0e9;color:var(--ink);font:400 13px/1.35 Inter,Arial,sans-serif;text-align:left;padding:10px;cursor:pointer}.schedule-event:hover{background:#ffe4d8}.schedule-event strong{font-weight:500;overflow:hidden;overflow-wrap:anywhere}.schedule-event strong>span{font-weight:400}.schedule-event small{font-size:11px;color:#6b5260}.schedule-event.positioned{position:absolute;z-index:2;overflow:hidden;padding:3px 4px;border-left-width:3px;font-size:11px;gap:1px}.schedule-event.positioned strong,.schedule-event.positioned>span,.schedule-event.positioned small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex-shrink:0}.schedule-event.compact{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:12px;padding:3px 4px;min-height:26px;border-left-width:3px}.schedule-event.compact strong{white-space:nowrap}.schedule-month{min-width:560px}.schedule-weekdays,.schedule-month-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.schedule-weekdays{position:sticky;top:0;z-index:5;background:#fff;color:#777;font-size:13px;text-align:center;border-bottom:1px solid var(--calendar-line)}.schedule-weekdays span{padding:5px}.schedule-month-day{min-height:152px;min-width:0;padding:3px;border-right:1px solid var(--calendar-line);border-bottom:1px solid var(--calendar-line)}.schedule-month-day:nth-child(7n){border-right:0}.schedule-month-day.outside-month{background:#f0f0f2}.schedule-date-button{display:block;margin:0 0 3px auto;padding:2px 4px;border:0;background:none;font-size:13px;color:var(--ink);cursor:pointer}.outside-month .schedule-date-button{color:#84808a}.is-today .schedule-date-button{color:#a23a18;font-weight:600}.schedule-month-day .schedule-event{margin-bottom:3px}.schedule-more{border:0;background:none;padding:2px 0;color:#6f6c7a;font-size:12px;font-weight:600;cursor:pointer}.schedule-more:hover,.schedule-more[aria-expanded=true]{color:#a23a18}.schedule-overflow{position:fixed;z-index:60;overflow:auto;padding:10px;background:#fff;border:1px solid #aaa;border-radius:4px;box-shadow:0 5px 18px #0003;display:grid;gap:4px}.schedule-agenda{padding:10px 16px}.schedule-agenda-day{display:grid;grid-template-columns:130px minmax(0,1fr);gap:16px;padding:12px 0 24px}.schedule-agenda-day h3{margin:0;font-size:15px;font-weight:500;color:#6f6c7a}.schedule-agenda-day.is-today h3{color:#a23a18}.schedule-agenda-day>div{display:grid;gap:8px;min-width:0}
@media(max-width:1100px){.calendar-workspace{grid-template-columns:190px minmax(0,1fr)}.calendar-mini{padding:12px 9px}.mini-calendar-heading h3{font-size:12px}.mini-calendar-heading>button{width:23px}}
@media(max-width:800px){.calendar-workspace{grid-template-columns:1fr}.calendar-mini{display:none}.calendar-toolbar{flex-wrap:wrap;gap:6px}.calendar-toolbar .date-jump{flex:0 1 148px}.calendar-toolbar .date-jump input{width:148px}.calendar-mode-label{min-width:82px}.calendar-layout-toggle{margin-left:auto}#calendar-grid{max-height:calc(100dvh - 245px);min-height:330px}.schedule-agenda{padding:8px 12px}.schedule-agenda-day{grid-template-columns:1fr;gap:8px;padding-bottom:22px}.schedule-event{min-height:64px}.schedule-month .schedule-event,.schedule-overflow .schedule-event{min-height:28px}.schedule-event.positioned{min-height:0}.calendar-title-row{gap:10px;align-items:start}.calendar-title-row h2{font-size:14px}.calendar-title-row p{font-size:11px;white-space:nowrap}.schedule-time-grid{grid-template-columns:42px repeat(var(--day-count),minmax(90px,1fr));min-width:calc(42px + var(--day-count)*90px)}}
/* Booked outside the clinic (Carepatron, on Dr. Deb's Google Calendar): click to add it to the clinic. */
.schedule-event.room-block{cursor:default;background:#f4f3f6}.schedule-event.external-event{background:#f4f3f6;border:1px dashed #b9b4c2;border-left:4px solid #8a8594}.schedule-event.external-event:hover{background:#ebe9ef}.schedule-event.external-event.positioned,.schedule-event.external-event.compact{border-left-width:3px}

.schedule-event.is-canceled{border-color:#d4d1cc;border-left-color:#91877e;background:#f7f7f5;color:#625b55}.schedule-event.is-canceled:hover{background:#eeece8}.schedule-event.is-canceled strong,.schedule-event.is-canceled>span:not(.schedule-cancellation-reason){text-decoration:line-through}.schedule-event.is-canceled small{color:#625b55}.schedule-cancellation-reason{font-size:12px;white-space:pre-line}.schedule-event.positioned .schedule-cancellation-reason{font-size:10px}

/* The client link and appointment button are siblings, with separate keyboard targets. */
.schedule-event{position:relative}
.schedule-event-open{position:absolute;inset:0;z-index:1;width:100%;height:100%;border:0;border-radius:inherit;background:transparent;padding:0;cursor:pointer}
.schedule-event-open:focus-visible{outline:2px solid #a23a18;outline-offset:-2px}
.schedule-event>strong,.schedule-event>span,.schedule-event>small{pointer-events:none}
.calendar-client-link{position:relative;z-index:2;pointer-events:auto;color:inherit;text-decoration:underline;text-underline-offset:2px}
.calendar-client-link:hover{color:#a23a18}
.calendar-client-link:focus-visible{outline:2px solid #a23a18;outline-offset:1px}
