.appointment-calendar-layout{border-block:1px solid var(--house-rule);outline:none;grid-template-columns:minmax(0,1fr);gap:24px;min-width:0;max-width:780px;padding-block:24px;display:grid}.appointment-calendar-column{width:min(100%,380px);min-width:0}.appointment-calendar-legend{color:var(--house-muted);flex-wrap:wrap;gap:8px 16px;margin-bottom:16px;font-size:12px;line-height:1.5;display:flex}.appointment-calendar{--cell-size:44px;background:var(--house-paper);width:min(100%,380px);color:var(--house-ink);padding:8px 0}.appointment-calendar-months{width:100%;position:relative}.appointment-calendar-month{flex-direction:column;gap:10px;width:100%;display:flex}.appointment-calendar-caption{justify-content:center;align-items:center;height:44px;padding-inline:44px;display:flex}.appointment-calendar-title{font-size:18px;font-weight:500}.appointment-calendar .rdp-nav{height:44px}.appointment-calendar .rdp-button_previous,.appointment-calendar .rdp-button_next{width:44px;height:44px;min-height:44px;color:var(--house-ink)}.appointment-calendar table{border-collapse:separate;width:100%;display:block}.appointment-calendar thead,.appointment-calendar tbody{width:100%;display:block}.appointment-calendar-weekdays,.appointment-calendar-week{grid-template-columns:repeat(7,minmax(0,1fr));gap:3px;width:100%;display:grid}.appointment-calendar-week{margin-top:3px}.appointment-calendar-weekday{text-align:center;color:var(--house-muted);padding-block:5px;font-size:11px;font-weight:500}.appointment-calendar-day{text-align:center;border:0;border-radius:4px;place-items:center;min-width:0;height:44px;padding:0;display:grid;position:relative}.appointment-calendar .appointment-calendar-day button{aspect-ratio:auto;width:min(100%,44px);min-width:0;height:44px;min-height:0;color:var(--house-ink);box-shadow:none;background:0 0;border:1px solid #0000;border-radius:4px;margin:0;padding:0;font-size:14px}.appointment-calendar-day.border-emerald button:not(:disabled){color:var(--emerald);background:color-mix(in oklab,var(--emerald) 7%,var(--house-paper));border-bottom-color:var(--material-gold-edge);font-weight:600}.appointment-calendar .appointment-calendar-day button[data-selected-single=true]{color:var(--ivory);background:var(--emerald);border-color:var(--brass)}.appointment-calendar-outside,.appointment-calendar-disabled{opacity:.4}.appointment-calendar-day button:focus-visible{outline:2px solid var(--house-accent);outline-offset:1px}.appointment-calendar-slots{border-top:1px solid var(--house-rule);min-width:0;padding-top:20px}.appointment-change-dialog{overscroll-behavior:contain;background:var(--panel);width:calc(100% - 24px);max-width:920px;max-height:calc(100svh - 32px);color:var(--ivory);overflow-y:auto}.appointment-change-dialog>h2{font-family:var(--font-display);padding-inline-end:32px;font-size:26px}.appointment-form--embedded{--house-paper:var(--panel);--house-ink:var(--ivory);--house-muted:var(--ivory);--house-rule:var(--border);background:var(--panel);min-width:0;color:var(--ivory);padding:8px 0}.appointment-form--embedded .field{background:var(--obsidian);color:var(--ivory);border-color:var(--border)}.appointment-form--embedded .text-muted-foreground{color:var(--ivory)}.appointment-form--embedded h2{font-size:26px}@media (width>=768px){.appointment-calendar-layout{grid-template-columns:minmax(0,380px) minmax(0,1fr)}.appointment-calendar-slots{border-top:0;border-left:1px solid var(--house-rule);padding:0 0 0 24px}}@media (width<=359px){.appointment-calendar{--cell-size:40px}.appointment-calendar-weekdays,.appointment-calendar-week{gap:2px}.appointment-calendar-day,.appointment-calendar .appointment-calendar-day button{height:40px}}
