.calendar-workspace{grid-template-columns:minmax(0,1fr) 260px;align-items:start;gap:20px;display:grid}.calendar-panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);min-inline-size:0;overflow:clip}.calendar-toolbar{border-block-end:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;display:flex}.calendar-date-navigation{align-items:center;gap:10px;display:flex}.date-arrows{border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--surface-raised);display:flex}.date-arrows .icon-button{min-inline-size:32px;min-block-size:calc(var(--control-h) - 2px);color:var(--ink-soft);border-radius:0;padding:4px}.date-arrows .icon-button+.icon-button{border-inline-start:1px solid var(--line)}.date-heading{border-radius:var(--radius);background:0 0;border:0;align-items:center;gap:8px;padding:4px 6px;display:flex}.date-heading:hover:where(:not(:disabled,[aria-disabled=true])){background:var(--surface-sunken)}.date-heading>svg{color:var(--muted)}.date-heading strong{font-size:var(--text-lg);font-weight:600}.today-button{background:var(--surface-raised);border:1px solid var(--line-strong);border-radius:var(--radius);color:var(--ink);min-block-size:var(--control-h);font-size:var(--text-sm);white-space:nowrap;padding:4px 10px;font-weight:500}.today-button:hover:where(:not(:disabled,[aria-disabled=true])){background:var(--surface-muted)}.today-button:active:not(:disabled,[aria-disabled=true]){background:var(--surface-sunken)}.view-switch{border-radius:var(--radius);background:var(--surface-sunken);padding:2px;display:flex}.view-switch button{color:var(--ink-soft);font-size:var(--text-sm);border-radius:var(--radius-sm);min-inline-size:44px;min-block-size:calc(var(--control-h) - 4px);background:0 0;border:0;padding:3px 10px}.view-switch button:hover:where(:not(:disabled,[aria-disabled=true])){color:var(--ink)}.view-switch button.active{color:var(--ink);background:var(--surface-raised);box-shadow:0 0 0 1px var(--line-strong);font-weight:600}.calendar-subtoolbar{border-block-end:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px 20px;padding:10px 16px;display:flex}.weekday-label{font-size:var(--text-md);align-items:baseline;gap:8px;font-weight:600;display:flex}.weekday-label>span{color:var(--muted);font-size:var(--text-xs);font-weight:400}.status-key-group{margin-inline-end:auto}.status-key{font-size:var(--text-sm);color:var(--ink-soft);flex-wrap:wrap;align-items:center;gap:4px 16px;margin:0;display:flex}.status-key>div,.status-key dt{align-items:center;gap:6px;display:flex}.status-key dd{color:var(--ink);font-variant-numeric:tabular-nums;margin:0;font-weight:600}.status-key i{block-size:12px;inline-size:3px}.status-key-total{border-inline-end:1px solid var(--line);padding-inline-end:16px}.status-key-scheduled i{background:var(--info)}.status-key-arrived i{background:var(--caution)}.status-key-in-treatment i{background:var(--positive)}.status-key-completed i{background:var(--faint)}.resource-filter{color:var(--muted);align-items:center;gap:6px;display:flex}.resource-filter select{border:1px solid var(--line-input);border-radius:var(--radius);background:var(--surface-raised);color:var(--ink);font-size:var(--text-md);min-block-size:var(--control-h);max-inline-size:170px;padding:3px 8px}.resource-filter select:hover:not(:disabled,[aria-disabled=true]){border-color:var(--ink-soft)}.calendar-live-bar{border-block-end:1px solid var(--line);background:var(--surface-muted);font-size:var(--text-sm);color:var(--ink-soft);align-items:center;gap:12px;padding:8px 16px;display:flex}.live-chip{border:1px solid var(--positive-line);border-radius:var(--radius-sm);line-height:1.6;font-size:var(--text-xs);white-space:nowrap;color:var(--positive);background:var(--positive-wash);align-items:center;gap:6px;padding:1px 7px;font-weight:500;display:inline-flex}.live-chip-dot{background:currentColor;border-radius:50%;block-size:6px;inline-size:6px}.live-chip.live-live .live-chip-dot{animation:2.4s ease-in-out infinite live-pulse}.live-chip.live-waiting{color:var(--caution);background:var(--caution-wash);border-color:var(--caution-line)}.live-chip.live-stopped{color:var(--urgent);background:var(--urgent-wash);border-color:var(--urgent-line)}.calendar-live-activity{flex:1;min-inline-size:0}.refresh-button{min-block-size:var(--control-h-sm);border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--surface-raised);color:var(--ink);font:inherit;font-size:var(--text-sm);align-items:center;gap:6px;padding:4px 10px;font-weight:500;display:inline-flex}.refresh-button:hover:not(:disabled,[aria-disabled=true]){background:var(--surface-muted)}.refresh-button:active:not(:disabled,[aria-disabled=true]){background:var(--surface-sunken)}.refresh-button:is(:disabled,[aria-disabled=true]){cursor:progress;opacity:.7}@keyframes live-pulse{0%,to{opacity:1}50%{opacity:.35}}.appointment-card.appointment-remote,.week-appointment.appointment-remote{outline:2px solid var(--action);outline-offset:1px;animation:1.2s ease-out 2 remote-change}@keyframes remote-change{0%{outline-color:var(--action)}to{outline-color:var(--action-line)}}.calendar-scroll{scroll-padding-inline-start:54px;overflow:visible}.day-calendar{grid-template-columns:54px repeat(var(--day-columns,1), minmax(175px, 1fr));display:grid}.calendar-panel{container:calendar/inline-size}.clinician-switcher,.clinician-switcher-hint{display:none}.clinician-switcher{z-index:10;background:var(--surface);border-block-end:1px solid var(--line);padding:8px 12px;position:sticky;inset-block-start:var(--topbar-height)}.clinician-switcher-track{border-radius:var(--radius);background:var(--surface-sunken);flex-wrap:wrap;gap:2px;padding:2px;display:flex}.clinician-switcher-track button{color:var(--ink-soft);font-size:var(--text-sm);border-radius:var(--radius-sm);min-block-size:calc(var(--control-h) - 4px);white-space:nowrap;background:0 0;border:0;flex:1 0 auto;padding:3px 10px}.clinician-switcher-track button:hover:where(:not(:disabled,[aria-disabled=true])){color:var(--ink)}.clinician-switcher-track button.active{color:var(--ink);background:var(--surface-raised);box-shadow:0 0 0 1px var(--line-strong);font-weight:600}.clinician-switcher-hint{font-size:var(--text-xs);color:var(--muted);border-block-end:1px solid var(--line);margin:0;padding:6px 12px}@container calendar not (min-width:229px){.day-columns-1 .clinician-switcher,.day-columns-1 .clinician-switcher-hint{display:block}.day-columns-1 .calendar-scroll{scroll-snap-type:x mandatory;overflow-x:auto}.day-columns-1 .day-calendar{inline-size:max-content;min-inline-size:100%}.day-columns-1 .clinician-day{scroll-snap-align:start}.day-columns-1 .time-header,.day-columns-1 .clinician-header{inset-block-start:0}}@container calendar not (min-width:404px){.day-columns-2 .clinician-switcher,.day-columns-2 .clinician-switcher-hint{display:block}.day-columns-2 .calendar-scroll{scroll-snap-type:x mandatory;overflow-x:auto}.day-columns-2 .day-calendar{inline-size:max-content;min-inline-size:100%}.day-columns-2 .clinician-day{scroll-snap-align:start}.day-columns-2 .time-header,.day-columns-2 .clinician-header{inset-block-start:0}}@container calendar not (min-width:579px){.day-columns-3 .clinician-switcher,.day-columns-3 .clinician-switcher-hint{display:block}.day-columns-3 .calendar-scroll{scroll-snap-type:x mandatory;overflow-x:auto}.day-columns-3 .day-calendar{inline-size:max-content;min-inline-size:100%}.day-columns-3 .clinician-day{scroll-snap-align:start}.day-columns-3 .time-header,.day-columns-3 .clinician-header{inset-block-start:0}}@container calendar not (min-width:754px){.day-columns-4 .clinician-switcher,.day-columns-4 .clinician-switcher-hint{display:block}.day-columns-4 .calendar-scroll{scroll-snap-type:x mandatory;overflow-x:auto}.day-columns-4 .day-calendar{inline-size:max-content;min-inline-size:100%}.day-columns-4 .clinician-day{scroll-snap-align:start}.day-columns-4 .time-header,.day-columns-4 .clinician-header{inset-block-start:0}}@container calendar not (min-width:929px){.day-columns-5 .clinician-switcher,.day-columns-5 .clinician-switcher-hint{display:block}.day-columns-5 .calendar-scroll{scroll-snap-type:x mandatory;overflow-x:auto}.day-columns-5 .day-calendar{inline-size:max-content;min-inline-size:100%}.day-columns-5 .clinician-day{scroll-snap-align:start}.day-columns-5 .time-header,.day-columns-5 .clinician-header{inset-block-start:0}}@container calendar not (min-width:1104px){.day-columns-6 .clinician-switcher,.day-columns-6 .clinician-switcher-hint{display:block}.day-columns-6 .calendar-scroll{scroll-snap-type:x mandatory;overflow-x:auto}.day-columns-6 .day-calendar{inline-size:max-content;min-inline-size:100%}.day-columns-6 .clinician-day{scroll-snap-align:start}.day-columns-6 .time-header,.day-columns-6 .clinician-header{inset-block-start:0}}@container calendar not (min-width:1279px){.day-columns-7 .clinician-switcher,.day-columns-7 .clinician-switcher-hint{display:block}.day-columns-7 .calendar-scroll{scroll-snap-type:x mandatory;overflow-x:auto}.day-columns-7 .day-calendar{inline-size:max-content;min-inline-size:100%}.day-columns-7 .clinician-day{scroll-snap-align:start}.day-columns-7 .time-header,.day-columns-7 .clinician-header{inset-block-start:0}}@container calendar not (min-width:1454px){.day-columns-8 .clinician-switcher,.day-columns-8 .clinician-switcher-hint{display:block}.day-columns-8 .calendar-scroll{scroll-snap-type:x mandatory;overflow-x:auto}.day-columns-8 .day-calendar{inline-size:max-content;min-inline-size:100%}.day-columns-8 .clinician-day{scroll-snap-align:start}.day-columns-8 .time-header,.day-columns-8 .clinician-header{inset-block-start:0}}.day-columns-9 .clinician-switcher,.day-columns-9 .clinician-switcher-hint{display:block}.day-columns-9 .calendar-scroll{scroll-snap-type:x mandatory;overflow-x:auto}.day-columns-9 .day-calendar{inline-size:max-content;min-inline-size:100%}.day-columns-9 .clinician-day{scroll-snap-align:start}.day-columns-9 .time-header,.day-columns-9 .clinician-header{inset-block-start:0}@container calendar not (min-width:404px){.day-columns-2 .day-calendar,.day-columns-3 .day-calendar,.day-columns-4 .day-calendar,.day-columns-5 .day-calendar,.day-columns-6 .day-calendar,.day-columns-7 .day-calendar,.day-columns-8 .day-calendar,.day-columns-9 .day-calendar{grid-template-columns:54px repeat(var(--day-columns,1), calc(100cqi - 54px))}}@container calendar (404px<=width<579px){.day-columns-3 .day-calendar,.day-columns-4 .day-calendar,.day-columns-5 .day-calendar,.day-columns-6 .day-calendar,.day-columns-7 .day-calendar,.day-columns-8 .day-calendar,.day-columns-9 .day-calendar{grid-template-columns:54px repeat(var(--day-columns,1), calc((100cqi - 54px) / 2))}}@container calendar (579px<=width<754px){.day-columns-4 .day-calendar,.day-columns-5 .day-calendar,.day-columns-6 .day-calendar,.day-columns-7 .day-calendar,.day-columns-8 .day-calendar,.day-columns-9 .day-calendar{grid-template-columns:54px repeat(var(--day-columns,1), calc((100cqi - 54px) / 3))}}@container calendar (754px<=width<929px){.day-columns-5 .day-calendar,.day-columns-6 .day-calendar,.day-columns-7 .day-calendar,.day-columns-8 .day-calendar,.day-columns-9 .day-calendar{grid-template-columns:54px repeat(var(--day-columns,1), calc((100cqi - 54px) / 4))}}@container calendar (929px<=width<1104px){.day-columns-6 .day-calendar,.day-columns-7 .day-calendar,.day-columns-8 .day-calendar,.day-columns-9 .day-calendar{grid-template-columns:54px repeat(var(--day-columns,1), calc((100cqi - 54px) / 5))}}@container calendar (1104px<=width<1279px){.day-columns-7 .day-calendar,.day-columns-8 .day-calendar,.day-columns-9 .day-calendar{grid-template-columns:54px repeat(var(--day-columns,1), calc((100cqi - 54px) / 6))}}@container calendar (1279px<=width<1454px){.day-columns-8 .day-calendar,.day-columns-9 .day-calendar{grid-template-columns:54px repeat(var(--day-columns,1), calc((100cqi - 54px) / 7))}}@container calendar (min-width:1454px){.day-columns-9 .day-calendar{grid-template-columns:54px repeat(var(--day-columns,1), calc((100cqi - 54px) / 8))}}.time-header,.clinician-header{z-index:8;background:var(--surface);border-block-end:1px solid var(--line);min-block-size:60px;position:sticky;inset-block-start:var(--topbar-height)}.time-header{color:var(--muted);z-index:9;border-inline-end:1px solid var(--line);justify-content:center;align-items:center;display:flex;inset-inline-start:0}.clinician-header{border-inline-start:1px solid var(--line);align-items:center;gap:10px;padding:10px 12px;display:flex}.clinician-header strong{font-size:var(--text-sm);font-weight:600;display:block}.clinician-header small{font-size:var(--text-xs);color:var(--muted);display:block}.clinician-header.clinician-tone-teal{box-shadow:inset 0 2px 0 var(--resource-teal)}.clinician-header.clinician-tone-blue{box-shadow:inset 0 2px 0 var(--resource-blue)}.clinician-header.clinician-tone-lavender{box-shadow:inset 0 2px 0 var(--resource-lavender)}.clinician-appointments{color:var(--muted);font-size:var(--text-xs);font-variant-numeric:tabular-nums;white-space:nowrap;margin-inline-start:auto}.time-axis{z-index:6;block-size:calc(var(--day-hours,10) * 80px + 24px);background:var(--surface);border-inline-end:1px solid var(--line);position:sticky;inset-inline-start:0}.time-header+.clinician-header,.time-axis+.clinician-day{border-inline-start-color:#0000}.time-axis>span{text-align:center;font-size:var(--text-xs);color:var(--muted);padding-block-start:2px;position:absolute;inset-inline:0}.time-axis>.demo-time-label,.time-axis>.now-time-label{color:var(--ink-soft);font-weight:600}.time-axis>.time-axis-covered{visibility:hidden}.clinician-day{block-size:calc(var(--day-hours,10) * 80px + 24px);border-inline-start:1px solid var(--line);background:repeating-linear-gradient(to bottom, transparent, transparent 39px, var(--line-soft) 39px, var(--line-soft) 40px, transparent 40px, transparent 79px, var(--line) 79px, var(--line) 80px);position:relative;container-type:inline-size}.empty-time-slot{color:#0000;font-size:var(--text-xs);background:0 0;border:0;justify-content:center;align-items:center;gap:5px;display:flex;position:absolute;inset-inline:0}.empty-time-slot:hover:where(:not(:disabled,[aria-disabled=true])),.empty-time-slot:focus-visible{background:var(--action-wash);color:var(--action)}.empty-time-slot:focus-visible{outline-offset:-2px}.outside-hours{z-index:0;background:var(--surface-sunken);position:absolute;inset-inline:0}.outside-hours>span{font-size:var(--text-xs);color:var(--muted);padding:4px 8px;display:block}.appointment-card{border-radius:var(--radius-sm);text-align:start;z-index:2;color:var(--ink);border:1px solid;border-inline-start-width:3px;flex-direction:column;justify-content:flex-start;padding:4px 8px;display:flex;position:absolute;inset-inline:4px;overflow:hidden}.appointment-card:hover:where(:not(:disabled,[aria-disabled=true])){z-index:4;border-color:var(--ink-soft)}.clinician-day.day-drag-source{z-index:5}.appointment-card.appointment-dragging{z-index:7;opacity:.8;border-color:var(--ink-soft);cursor:grabbing;-webkit-user-select:none;user-select:none}.day-drop-target{z-index:1;border:2px dashed var(--action);border-radius:var(--radius-sm);background:var(--action-wash);pointer-events:none;position:absolute;inset-inline:4px}.appointment-scheduled{background:var(--info-wash);border-color:var(--info-line);border-inline-start-color:var(--info)}.appointment-arrived{background:var(--caution-wash);border-color:var(--caution-line);border-inline-start-color:var(--caution)}.appointment-in-treatment{background:var(--positive-wash);border-color:var(--positive-line);border-inline-start-color:var(--positive)}.appointment-completed{background:var(--neutral-wash);border-color:var(--line);border-inline-start-color:var(--faint);color:var(--ink-soft)}.appointment-first-line{align-items:baseline;gap:6px;min-inline-size:0;line-height:18px;display:flex}.appointment-first-line>strong{min-inline-size:0;font-size:var(--text-sm);text-overflow:ellipsis;white-space:nowrap;flex:0 auto;font-weight:600;overflow:hidden}.appointment-first-line>bdi{font-size:var(--text-xs);color:var(--ink-soft);flex:none;margin-inline-start:auto}.appointment-owner{font-weight:400;font-size:var(--text-xs);color:var(--ink-soft)}.appointment-surgeon{min-inline-size:0;font-size:var(--text-xs);color:var(--ink-soft);white-space:nowrap;text-overflow:ellipsis;line-height:16px;display:block;overflow:hidden}.appointment-compact .appointment-surgeon{display:none}.surgery-header{box-shadow:inset 0 2px 0 var(--line-strong)}.surgery-header .avatar{background:var(--surface-sunken);color:var(--ink-soft)}.surgery-busy-block{z-index:1;border:1px dashed var(--line-strong);border-radius:var(--radius-sm);background:var(--surface-muted);color:var(--muted);font-size:var(--text-xs);text-align:start;align-items:flex-start;padding:4px 8px;line-height:16px;display:flex;position:absolute;inset-inline:4px;overflow:hidden}.surgery-busy-block:hover:where(:not(:disabled,[aria-disabled=true])){border-color:var(--ink-soft);color:var(--ink-soft)}.calendar-drag-hint{font-size:var(--text-sm);color:var(--ink-soft);align-items:center;gap:6px;margin:0;padding-inline:16px;display:flex}.calendar-drag-hint:not(:empty){border-block-end:1px solid var(--line);padding-block:8px}.calendar-drag-hint>svg{color:var(--muted);flex:none}.appointment-type-line{align-items:center;gap:6px;min-inline-size:0;line-height:16px;display:flex}.appointment-type{min-inline-size:0;font-size:var(--text-xs);color:var(--ink-soft);white-space:nowrap;text-overflow:ellipsis;flex:auto;overflow:hidden}.appointment-status{font-size:var(--text-xs);white-space:nowrap;align-items:center;gap:5px;font-weight:500;display:flex}.appointment-type-line .appointment-status{flex:none}.appointment-status>span{background:currentColor;border-radius:50%;block-size:6px;inline-size:6px}.appointment-scheduled .appointment-status{color:var(--info)}.appointment-arrived .appointment-status{color:var(--caution)}.appointment-in-treatment .appointment-status{color:var(--positive)}.appointment-alert{min-inline-size:0;max-inline-size:60%;font-size:var(--text-xs);color:var(--urgent);flex:0 auto;align-self:center;align-items:center;gap:3px;font-weight:600;line-height:16px;display:inline-flex}.appointment-alert>svg{flex:none}.appointment-alert-text{text-overflow:ellipsis;white-space:nowrap;min-inline-size:0;overflow:hidden}.appointment-card:not(.appointment-compact) .appointment-alert-word,.appointment-compact .appointment-alert-text{display:none}.appointment-compact .appointment-alert{flex:none;max-inline-size:none}@container (max-width:250px){.appointment-has-alert .appointment-owner{display:none}.appointment-has-alert:not(.appointment-compact) .appointment-first-line>strong{flex-shrink:0;max-inline-size:50%}}.appointment-compact{padding-block:1px}.appointment-compact .appointment-first-line{line-height:16px}.appointment-compact .appointment-type-line{line-height:14px}.appointment-short{flex-direction:row;align-items:center;gap:4px;padding-block:0;padding-inline:6px}.appointment-short .appointment-first-line{flex:auto;gap:4px;line-height:14px}.appointment-short .appointment-first-line>strong{min-inline-size:2em;font-size:var(--text-xs)}.appointment-short .appointment-type-line{flex:none;line-height:14px}.appointment-short .appointment-type,.appointment-short .appointment-owner{display:none}.appointment-moved{font-size:var(--text-xs);color:var(--ink-soft);background:var(--surface-raised);border:1px solid var(--line);border-radius:var(--radius-sm);flex:none;align-items:center;gap:3px;padding:0 4px;line-height:14px;display:inline-flex}.appointment-short .appointment-moved{line-height:12px}@container (max-width:250px){.appointment-short .appointment-first-line>bdi,.appointment-short .appointment-moved-word{display:none}}@container (max-width:225px){.appointment-short{padding-inline:4px}.appointment-short .appointment-status>span,.appointment-short.appointment-has-alert .appointment-moved{display:none}}.demo-time-marker,.now-marker{border-block-start:1px solid var(--ink-soft);z-index:1;pointer-events:none;position:absolute;inset-inline:0}.demo-time-marker>span,.now-marker>span{background:var(--ink-soft);border-radius:50%;block-size:8px;inline-size:8px;position:absolute;inset-block-start:-4.5px;inset-inline-start:-4px}.calendar-load-error{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px 16px;margin:16px;display:flex}.calendar-load-error p{margin:0;line-height:1.6}.calendar-empty,.calendar-closed{border:1px dashed var(--line-strong);border-radius:var(--radius);background:var(--surface-muted);color:var(--muted);align-items:flex-start;gap:10px;margin:16px;padding:28px 24px;display:flex}.calendar-empty>svg,.calendar-closed>svg{flex-shrink:0;margin-block-start:2px}.calendar-empty h2,.calendar-closed h2{color:var(--ink);font-size:var(--text-lg);margin:0 0 4px;font-weight:600}.calendar-empty p,.calendar-closed p{font-size:var(--text-sm);max-inline-size:60ch;margin:0;line-height:1.6}.calendar-closed p+p{margin-block-start:4px}.calendar-day-notes{border-block-end:1px solid var(--line);background:var(--surface);gap:4px;padding:10px 16px;display:grid}.calendar-day-notes p{font-size:var(--text-sm);color:var(--ink-soft);align-items:flex-start;gap:6px;margin:0;line-height:1.5;display:flex}.calendar-day-notes svg{color:var(--muted);flex-shrink:0;margin-block-start:3px}.page-heading p.calendar-booking-note{font-size:var(--text-xs);color:var(--muted);flex-basis:100%;max-inline-size:34ch;margin:0}.calendar-source{border-block-start:1px solid var(--line);font-size:var(--text-xs);color:var(--muted);margin:0;padding:8px 16px}.reception-rail{gap:16px;display:grid}.my-day{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:14px 14px 10px}.panel-heading{justify-content:space-between;align-items:center;gap:8px;display:flex}.panel-heading h2{font-size:var(--text-md);margin:0;font-weight:600}@media (min-width:1101px){.calendar-workspace.rail-collapsed{grid-template-columns:minmax(0,1fr)}.calendar-workspace.rail-collapsed .reception-rail{display:none}}.week-calendar{grid-template-columns:repeat(7,minmax(105px,1fr));min-block-size:520px;display:grid;overflow-x:auto}.week-day{border-inline-start:1px solid var(--line);min-inline-size:0;padding:0 4px 10px}.week-day-heading{inline-size:100%;color:var(--muted);font-size:var(--text-xs);background:0 0;border:0;flex-direction:column;align-items:center;gap:2px;padding:10px 0;display:flex}.week-day-heading:hover:where(:not(:disabled,[aria-disabled=true])){color:var(--ink)}.week-day-heading>strong{block-size:32px;inline-size:32px;font-size:var(--text-lg);color:var(--ink);border-radius:50%;place-items:center;font-weight:500;display:grid}.demo-day .week-day-heading>strong{background:var(--action);color:var(--on-action);font-weight:600}.week-appointment{text-align:start;border-style:solid;border-width:1px;border-radius:var(--radius-sm);inline-size:100%;color:var(--ink);border-inline-start-width:3px;flex-direction:column;gap:1px;margin-block-end:4px;padding:5px 7px;display:flex}.week-appointment-head{align-items:baseline;gap:5px;min-inline-size:0;display:flex}.week-appointment-head>bdi{font-size:var(--text-xs);color:var(--ink-soft);font-variant-numeric:tabular-nums;flex-shrink:0}.week-appointment-head>strong{text-overflow:ellipsis;white-space:nowrap;min-inline-size:0;font-size:var(--text-sm);font-weight:600;overflow:hidden}.week-appointment>small{text-overflow:ellipsis;white-space:nowrap;font-size:var(--text-xs);color:var(--ink-soft);overflow:hidden}.week-more{border-radius:var(--radius-sm);inline-size:100%;color:var(--action);font-size:var(--text-xs);text-align:start;background:0 0;border:0;margin-block-end:4px;padding:4px 6px;font-weight:600;display:block}.week-more:hover:where(:not(:disabled,[aria-disabled=true])){background:var(--action-wash)}.week-empty,.week-pending{font-size:var(--text-xs);color:var(--muted);text-align:center;padding:16px 0;display:block}.week-pending{position:relative}.week-add{border:1px dashed var(--line-strong);border-radius:var(--radius-sm);color:var(--muted);background:0 0;justify-content:center;inline-size:100%;padding:5px;display:flex}.week-add:hover:where(:not(:disabled,[aria-disabled=true])){color:var(--action);border-color:var(--action-line);background:var(--action-wash)}.week-day-state{font-size:var(--text-xs);color:var(--ink-soft);text-align:center;margin:0 0 6px;line-height:1.4}.week-day-closed{background:var(--surface-sunken)}.month-calendar{grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.month-weekday{text-align:center;font-size:var(--text-xs);color:var(--muted);background:var(--surface-muted);border-block-end:1px solid var(--line);padding:8px;font-weight:500}.month-cell{border:0;border-inline-start:1px solid var(--line);border-block-end:1px solid var(--line);background:var(--surface);text-align:start;flex-direction:column;align-items:flex-start;gap:8px;min-block-size:84px;padding:8px;display:flex}.month-cell:hover:where(:not(:disabled,[aria-disabled=true])){background:var(--surface-muted)}.month-cell strong{font-weight:500;font-size:var(--text-sm)}.month-cell span{font-size:var(--text-xs);color:var(--ink-soft)}.month-cell.other-month{color:var(--faint);background:var(--surface-muted)}.month-cell small.month-cell-state{font-size:var(--text-xs);color:var(--ink-soft)}.month-cell.month-cell-closed:not(.other-month){background:var(--surface-sunken)}.month-cell.demo-day strong{background:var(--action);block-size:26px;inline-size:26px;color:var(--on-action);border-radius:50%;place-items:center;font-weight:600;display:grid}.appointment-detail-patient{align-items:center;gap:12px;margin-block-end:18px;display:flex}.appointment-detail-patient .pet-icon{block-size:40px;inline-size:40px}.appointment-detail-patient h3{font-size:var(--text-lg);margin:0;font-weight:600}.appointment-detail-patient p{color:var(--muted);font-size:var(--text-sm);margin:2px 0 0}.appointment-detail-patient .badge{margin-inline-start:auto}.appointment-details{gap:0;margin:0;display:grid}.appointment-details>div{border-block-end:1px solid var(--line-soft);font-size:var(--text-md);justify-content:space-between;gap:20px;padding-block:9px;display:flex}.appointment-details dt{color:var(--muted)}.appointment-details dd{text-align:end;margin:0}.appointment-detail-edit{margin-block-start:8px;display:flex}.clinical-alert{font-size:var(--text-sm);color:var(--urgent);background:var(--urgent-wash);border:1px solid var(--urgent-line);border-radius:var(--radius);margin-block:14px;padding:8px 12px;font-weight:500}.appointment-status-note{font-size:var(--text-sm);color:var(--ink-soft);align-items:flex-start;gap:6px;margin-block:12px;line-height:1.5;display:flex}.appointment-status-note svg{color:var(--muted);flex-shrink:0;margin-block-start:3px}.appointment-detail-actions{flex-wrap:wrap;gap:8px;display:flex}.dialog-actions.appointment-cancel-confirm{padding-block-start:14px;display:block}.appointment-cancel-confirm p{font-size:var(--text-md);margin:0;font-weight:500;line-height:1.6}.appointment-cancel-confirm .appointment-detail-actions{margin-block-start:12px}.welcome-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);margin-block-end:12px;padding:16px 18px}.welcome-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 16px;margin-block-end:4px;display:flex}.welcome-card h2{font-size:var(--text-lg);margin:0;font-weight:650}.welcome-card p{color:var(--muted);font-size:var(--text-sm);margin:0 0 10px}.welcome-card ol{font-size:var(--text-md);gap:4px;max-inline-size:78ch;margin:0;padding-inline-start:20px;line-height:1.6;display:grid}.welcome-actions{flex-wrap:wrap;gap:8px;display:flex}.my-day .panel-heading h2{align-items:center;gap:7px;display:flex}.my-day .panel-heading h2 svg{color:var(--muted)}.my-day-role{font-size:var(--text-xs);color:var(--muted)}.my-day-list{margin-block-start:8px;display:grid}.my-day-item{border:0;border-block-start:1px solid var(--line-soft);inline-size:100%;color:inherit;font:inherit;text-align:start;background:0 0;border-radius:0;align-items:flex-start;gap:10px;padding:9px 2px;text-decoration:none;display:flex}.my-day-item svg{color:var(--muted);margin-block-start:3px}.my-day-item>span{flex:1;min-inline-size:0}.my-day-item strong{font-size:var(--text-sm);font-weight:600;line-height:1.5;display:block}.my-day-item>span>span{font-size:var(--text-xs);color:var(--muted);line-height:1.5;display:block}button.my-day-item:hover:where(:not(:disabled,[aria-disabled=true])),a.my-day-item:hover{background:var(--surface-muted)}button.my-day-item:hover:where(:not(:disabled,[aria-disabled=true])) strong,a.my-day-item:hover strong{color:var(--action)}.my-day-empty{font-size:var(--text-sm);color:var(--muted);margin:0;padding:8px 2px;line-height:1.6}.my-day-foot{border-block-start:1px solid var(--line);font-size:var(--text-xs);color:var(--muted);align-items:center;gap:6px;margin:6px 0 0;padding-block-start:8px;display:flex}@media (max-width:1350px){.calendar-workspace{grid-template-columns:minmax(0,1fr) 230px;gap:16px}.calendar-toolbar,.calendar-subtoolbar{padding-inline:12px}.calendar-date-navigation{gap:8px}}@media (max-width:1100px){.calendar-workspace{grid-template-columns:1fr}.rail-toggle{display:none}}@media (max-width:760px){.calendar-toolbar{padding:10px 12px}.calendar-date-navigation{flex-wrap:wrap}.date-heading strong{font-size:var(--text-md)}.date-heading svg{display:none}.calendar-subtoolbar{padding:10px 12px}.status-key-group{flex-basis:100%;order:3}.status-key{gap:4px 12px}.calendar-live-bar{flex-wrap:wrap;gap:8px;padding:8px 12px}.calendar-live-activity{white-space:normal;flex-basis:100%;order:3}.refresh-button{margin-inline-start:auto}.weekday-label>span{display:none}.view-switch button{min-inline-size:38px;padding-inline:8px}.reception-rail{grid-template-columns:1fr;gap:12px}.week-calendar{display:flex}.week-day{flex:0 0 140px}.month-cell{min-block-size:64px;padding:6px}.appointment-detail-patient{flex-wrap:wrap}}@media (pointer:coarse){.date-arrows .icon-button,.view-switch button{min-block-size:44px;min-inline-size:44px}.clinician-switcher-track button,.date-heading,.today-button,.refresh-button,.resource-filter select{min-block-size:44px}}.popup-note-inline{border:1px solid var(--line);border-inline-start:3px solid var(--line-strong);border-radius:var(--radius);background:var(--surface);font-size:var(--text-sm);gap:6px;margin-block:10px 0;padding:8px 12px;display:grid}.popup-note-inline p{white-space:pre-line;overflow-wrap:anywhere;margin:0;line-height:1.6}.popup-note-inline strong{font-weight:650}.popup-note-inline-failed{flex-wrap:wrap;align-items:center;gap:8px;display:flex}@media print{.popup-note-inline{display:none!important}}
