@layer payload-default{.list-header{padding:var(--spacer-2) var(--gutter-h) var(--spacer-3);border-bottom:var(--stroke-width-small) solid var(--color-border);flex-wrap:wrap;align-items:flex-end;display:flex}.list-header__content{grid-template-columns:1fr auto;width:100%;display:grid}.list-header__title-and-actions{align-items:center;gap:var(--spacer-2);flex-wrap:wrap;display:flex}.list-header__title{font-size:var(--text-heading-xl-font-size);line-height:var(--text-heading-xl-line-height);font-weight:var(--text-heading-xl-font-weight)}.list-header__title-actions{gap:var(--spacer-2);display:flex}.list-header__actions{align-items:center;gap:var(--spacer-2);flex-wrap:wrap;display:flex}.list-header__after-header-content{width:100%}}
@layer payload{.clinic-calendar{--clinic-calendar-axis:3.25rem;--clinic-calendar-min-column:6rem;--clinic-calendar-head:3rem;flex-direction:column;flex:1;display:flex}.clinic-calendar__sub-header{padding-top:var(--spacer-2-5);color:var(--color-text-secondary);flex-basis:100%}.clinic-calendar__toolbar{flex-wrap:wrap;justify-content:space-between}.clinic-calendar__navigation,.clinic-calendar__actions{align-items:center;gap:var(--spacer-2);flex-wrap:wrap;display:flex}.clinic-calendar__views .segmented-control__icon{width:auto;padding-inline:var(--spacer-2);font-size:var(--text-body-medium-font-size);font-weight:var(--text-body-medium-font-weight);line-height:var(--text-body-medium-line-height)}.clinic-calendar__body{padding-top:var(--spacer-3);padding-bottom:var(--spacing-view-bottom)}.clinic-calendar__notice{padding-top:var(--spacer-4)}.clinic-calendar__scroller{border:var(--stroke-width-small) solid var(--color-border);border-radius:var(--radius-medium);background:var(--color-bg);overflow-x:auto}.clinic-calendar__time-grid{grid-template-columns:var(--clinic-calendar-axis) repeat(var(--clinic-calendar-columns), minmax(var(--clinic-calendar-min-column), 1fr));display:grid}.clinic-calendar__corner,.clinic-calendar__day-head{min-height:var(--clinic-calendar-head);border-bottom:var(--stroke-width-small) solid var(--color-border)}.clinic-calendar__day-head{padding:var(--spacer-1);border-left:var(--stroke-width-small) solid var(--color-border);flex-direction:column;justify-content:center;align-items:center;gap:0;display:flex}.clinic-calendar__day-link{align-items:baseline;gap:var(--spacer-1);padding:var(--spacer-1) var(--spacer-2);border-radius:var(--radius-medium);color:var(--color-text-secondary);text-decoration:none;display:flex}.clinic-calendar__day-link:hover{background:var(--color-bg-hover);color:var(--color-text)}.clinic-calendar__weekday{font-size:var(--text-body-medium-font-size);line-height:var(--text-body-medium-line-height)}.clinic-calendar__date{color:var(--color-text);font-size:var(--text-heading-medium-font-size);font-weight:var(--text-heading-medium-font-weight);line-height:var(--text-heading-medium-line-height)}.clinic-calendar__day-head--today .clinic-calendar__day-link{background:var(--color-bg-brand);color:var(--color-text-onbrand)}.clinic-calendar__day-head--today .clinic-calendar__date{color:var(--color-text-onbrand)}.clinic-calendar__day-head--today .clinic-calendar__day-link:hover{background:var(--color-bg-brand-hover)}.clinic-calendar__day-note{color:var(--color-text-secondary);font-size:var(--text-body-small-font-size);line-height:var(--text-body-small-line-height)}.clinic-calendar__axis{position:relative}.clinic-calendar__hour{right:var(--spacer-2);padding-top:var(--spacer-1);color:var(--color-text-secondary);font-size:var(--text-body-small-font-size);line-height:var(--text-body-small-line-height);font-variant-numeric:tabular-nums;position:absolute}.clinic-calendar__columns{grid-column:2/-1;grid-template-columns:subgrid;display:grid}.clinic-calendar__column{border-left:var(--stroke-width-small) solid var(--color-border);cursor:default;position:relative}.clinic-calendar__column:before{content:"";z-index:1;background-image:linear-gradient(to bottom, var(--color-border) var(--stroke-width-small), transparent var(--stroke-width-small));background-size:100% var(--clinic-calendar-hour);pointer-events:none;position:absolute;inset:0}.clinic-calendar__time-grid--creatable .clinic-calendar__column{cursor:pointer}.clinic-calendar__closed{z-index:0;background:var(--color-bg-secondary);pointer-events:none;position:absolute;inset-inline:0}.clinic-calendar__now{z-index:3;height:var(--stroke-width-medium);margin-top:calc(var(--stroke-width-medium) / -2);background:var(--color-bg-danger);pointer-events:none;position:absolute;inset-inline:0}.clinic-calendar__now:before{content:"";top:50%;left:calc(var(--spacer-1-5) / -2);width:var(--spacer-1-5);height:var(--spacer-1-5);border-radius:var(--radius-full);background:var(--color-bg-danger);position:absolute;transform:translateY(-50%)}.clinic-calendar__event,.clinic-calendar__month-event{--event-bg:var(--color-bg-brand-tertiary);--event-bg-hover:var(--color-bg-brand-tertiary-hover);--event-accent:var(--color-border-selected)}.clinic-calendar__event--completed,.clinic-calendar__month-event--completed{--event-bg:var(--color-bg-success-tertiary);--event-bg-hover:var(--color-bg-success-tertiary-hover);--event-accent:var(--color-border-success-strong)}.clinic-calendar__event--no-show,.clinic-calendar__month-event--no-show{--event-bg:var(--color-bg-warning-tertiary);--event-bg-hover:var(--color-bg-warning-tertiary-hover);--event-accent:var(--color-border-warning-strong)}.clinic-calendar__event--cancelled,.clinic-calendar__month-event--cancelled{--event-bg:var(--color-bg-secondary);--event-bg-hover:var(--color-bg-secondary-hover);--event-accent:var(--color-border)}.clinic-calendar__event{z-index:2;padding:var(--spacer-1) var(--spacer-1-5);border:0;border-left:var(--spacer-1) solid var(--event-accent);border-radius:var(--radius-medium);background:var(--event-bg);box-shadow:0 0 0 var(--stroke-width-small) var(--color-bg);color:var(--color-text);font:inherit;font-size:var(--text-body-medium-font-size);line-height:var(--text-body-medium-line-height);text-align:left;cursor:pointer;flex-direction:column;align-items:flex-start;margin:0;display:flex;position:absolute;overflow:hidden}.clinic-calendar__event:hover{background:var(--event-bg-hover)}.clinic-calendar__event:focus-visible{z-index:4;outline:var(--stroke-width-medium) solid var(--color-border-selected);outline-offset:var(--stroke-width-small)}.clinic-calendar__event--draggable{cursor:grab;touch-action:pan-y}.clinic-calendar__event-title{max-width:100%;font-weight:var(--text-body-medium-bold-font-weight);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.clinic-calendar__event-details{gap:var(--spacer-1);max-width:100%;display:flex}.clinic-calendar__event-type,.clinic-calendar__month-type{text-overflow:ellipsis;white-space:nowrap;flex:1 1 0;max-width:max-content;overflow:hidden}.clinic-calendar__event-time{color:var(--color-text-secondary);font-variant-numeric:tabular-nums;white-space:nowrap;flex-shrink:0}.clinic-calendar__event--short{align-items:center;gap:var(--spacer-1);flex-direction:row;padding-block:0}.clinic-calendar__event--short .clinic-calendar__event-title{min-width:0}.clinic-calendar__event--short .clinic-calendar__event-details{display:contents}.clinic-calendar__event--cancelled,.clinic-calendar__month-event--cancelled{color:var(--color-text-secondary)}.clinic-calendar__event--cancelled .clinic-calendar__event-title,.clinic-calendar__month-event--cancelled .clinic-calendar__month-title{font-weight:var(--text-body-medium-font-weight);text-decoration:line-through}.clinic-calendar__event--pending{opacity:.6;cursor:progress}.clinic-calendar__event--placeholder{opacity:.35}.clinic-calendar__event--dragging{z-index:5;box-shadow:var(--elevation-400-menu-panel);cursor:grabbing;pointer-events:none}.clinic-calendar__month{grid-template-columns:repeat(7, minmax(var(--clinic-calendar-min-column), 1fr));display:grid}.clinic-calendar__month-weekday{padding:var(--spacer-2);border-bottom:var(--stroke-width-small) solid var(--color-border);color:var(--color-text-secondary);font-size:var(--text-body-medium-font-size);line-height:var(--text-body-medium-line-height);text-align:center}.clinic-calendar__month-day{gap:var(--spacer-1);min-width:0;min-height:7rem;padding:var(--spacer-1);border-bottom:var(--stroke-width-small) solid var(--color-border);border-left:var(--stroke-width-small) solid var(--color-border);flex-direction:column;display:flex}.clinic-calendar__month-day:nth-child(7n+1){border-left:0}.clinic-calendar__month-day:nth-last-child(-n+7){border-bottom:0}.clinic-calendar__month-day--closed{background:var(--color-bg-secondary)}.clinic-calendar__month-date{min-width:var(--spacer-4);padding:0 var(--spacer-1);border-radius:var(--radius-full);color:var(--color-text);font-size:var(--text-body-medium-font-size);font-weight:var(--text-body-medium-bold-font-weight);line-height:var(--spacer-4);text-align:center;align-self:flex-start;text-decoration:none}.clinic-calendar__month-date:hover{background:var(--color-bg-hover)}.clinic-calendar__month-day--outside .clinic-calendar__month-date{color:var(--color-text-tertiary);font-weight:var(--text-body-medium-font-weight)}.clinic-calendar__month-day--today .clinic-calendar__month-date{background:var(--color-bg-brand);color:var(--color-text-onbrand)}.clinic-calendar__month-event{align-items:center;gap:var(--spacer-1);min-width:0;padding:0 var(--spacer-1-5);border:0;border-left:var(--spacer-1) solid var(--event-accent);border-radius:var(--radius-medium);background:var(--event-bg);color:var(--color-text);font:inherit;font-size:var(--text-body-medium-font-size);line-height:var(--text-body-large-line-height);text-align:left;cursor:pointer;margin:0;display:flex}.clinic-calendar__month-event:hover{background:var(--event-bg-hover)}.clinic-calendar__month-event:focus-visible{outline:var(--stroke-width-medium) solid var(--color-border-selected);outline-offset:var(--stroke-width-small)}.clinic-calendar__month-time{color:var(--color-text-secondary);font-variant-numeric:tabular-nums;flex-shrink:0}.clinic-calendar__month-title{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.clinic-calendar__month-type{color:var(--color-text-secondary)}.clinic-calendar__more{padding:0 var(--spacer-1);border-radius:var(--radius-medium);color:var(--color-text-secondary);font-size:var(--text-body-medium-font-size);line-height:var(--text-body-medium-line-height);align-self:flex-start;text-decoration:none}.clinic-calendar__more:hover{background:var(--color-bg-hover);color:var(--color-text)}}
