.calendar-showcase{--calendar-hour-height:2.25rem;--calendar-label-height:1.75rem;--calendar-gutter-width:3.5rem;container-type:inline-size;display:grid;gap:clamp(.85rem,2vw,1.1rem)}.calendar-showcase-layout{display:grid;gap:.85rem;grid-template-areas:"side" "week"}.calendar-showcase-side{grid-area:side;display:grid;gap:.75rem;align-content:start}.calendar-showcase-week{grid-area:week;display:grid;gap:.6rem;align-content:start;min-width:0}@container (width >= 30rem){.calendar-showcase-side{grid-template-columns:repeat(2,minmax(0,1fr))}}@container (width >= 44rem){.calendar-showcase{--calendar-hour-height:3.2rem}.calendar-showcase-layout{grid-template-columns:minmax(0,1fr) minmax(12.5rem,14.5rem);grid-template-areas:"week side";gap:1rem}.calendar-showcase-side{grid-template-columns:minmax(0,1fr)}}.calendar-showcase-card{display:grid;gap:.6rem;align-content:start;padding:.8rem;border-radius:.75rem;border:1px solid var(--showcase-border);background:var(--showcase-surface)}.calendar-showcase-card-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.calendar-showcase-heading{margin:0;font-size:.6875rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--showcase-text-muted)}.calendar-showcase-day{margin:0;font-family:var(--font-poppins),system-ui,sans-serif;font-size:.9375rem;font-weight:600;color:var(--showcase-text)}.calendar-showcase-slots{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.4rem}@container (width >= 44rem){.calendar-showcase-slots{grid-template-columns:minmax(0,1fr)}}.calendar-showcase-slot{display:flex;align-items:center;justify-content:space-between;gap:.35rem;padding:.45rem .6rem;border-radius:.55rem;border:1px solid var(--showcase-border-strong);background:color-mix(in srgb,var(--showcase-surface) 70%,transparent);font-size:.8125rem;font-weight:600;font-variant-numeric:tabular-nums;color:var(--showcase-text);transition:background .3s ease,border-color .3s ease,box-shadow .3s ease,color .3s ease}.calendar-showcase-slot[data-state=highlighted]{border-color:color-mix(in srgb,var(--showcase-accent) 55%,transparent);box-shadow:0 0 0 3px color-mix(in srgb,var(--showcase-accent) 12%,transparent)}.calendar-showcase-slot[data-state=selected]{border-color:var(--showcase-accent);background:var(--showcase-accent);color:var(--showcase-on-accent)}.calendar-showcase-slot-time{white-space:nowrap}.calendar-showcase-slot-check{display:inline-flex;flex-shrink:0}.calendar-showcase-slot-check svg{width:.8rem;height:.8rem}.calendar-showcase-guest{margin:0;font-family:var(--font-poppins),system-ui,sans-serif;font-size:.9375rem;font-weight:600;color:var(--showcase-text)}.calendar-showcase-booking-details{display:grid;gap:.45rem;margin:0}.calendar-showcase-booking-details dt{font-size:.6875rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--showcase-text-muted)}.calendar-showcase-booking-details dd{margin:.1rem 0 0;font-size:.8125rem;color:var(--showcase-text)}.calendar-showcase-confirmed{gap:.25rem;border-color:color-mix(in srgb,var(--showcase-success) 40%,transparent);background:color-mix(in srgb,var(--showcase-success) 12%,transparent)}.calendar-showcase-confirmed-icon{width:.7rem;height:.7rem;color:var(--showcase-success-text)}.calendar-showcase-grid{display:grid;grid-template-columns:var(--calendar-gutter-width) minmax(0,1fr);min-width:0}.calendar-showcase-gutter{display:grid;grid-auto-rows:var(--calendar-hour-height);padding-top:var(--calendar-label-height)}.calendar-showcase-gutter-label{transform:translateY(-.4rem);padding-inline-end:.5rem;font-family:var(--font-jetbrains-mono),monospace;font-size:.6875rem;line-height:1;text-align:end;white-space:nowrap;color:var(--showcase-text-muted)}.calendar-showcase-days{display:flex;min-width:0;border-inline-start:1px solid var(--showcase-border)}.calendar-showcase-column{flex:1 1 0;min-width:0;border-inline-end:1px solid var(--showcase-border)}@container (width < 30rem){.calendar-showcase-column[data-edge=true]{display:none}}.calendar-showcase-column-label{display:flex;align-items:center;justify-content:center;height:var(--calendar-label-height);margin:0;font-size:.6875rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--showcase-text-muted)}.calendar-showcase-column[data-booking-day=true] .calendar-showcase-column-label{color:var(--showcase-text)}.calendar-showcase-column-body{position:relative;height:calc(var(--calendar-hour-height) * var(--calendar-hours));background-image:repeating-linear-gradient(to bottom,color-mix(in srgb,var(--showcase-text) 7%,transparent) 0 1px,transparent 1px var(--calendar-hour-height))}.calendar-showcase-event{position:absolute;inset-inline:.2rem;top:var(--event-top);height:var(--event-height);display:flex;flex-direction:column;gap:.1rem;overflow:hidden;padding:.2rem .35rem;border-radius:.4rem;border-inline-start:2px solid var(--showcase-indigo);background:color-mix(in srgb,var(--showcase-indigo) 10%,var(--showcase-surface))}.calendar-showcase-event[data-kind=customer]{border-inline-start-color:color-mix(in srgb,var(--showcase-accent) 55%,transparent);background:color-mix(in srgb,var(--showcase-accent) 9%,var(--showcase-surface) 91%)}.calendar-showcase-event-title{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;flex-shrink:0;overflow:hidden;font-size:.6875rem;font-weight:600;line-height:1.12;color:var(--showcase-text)}.calendar-showcase-event[data-size=short] .calendar-showcase-event-title{-webkit-line-clamp:1}.calendar-showcase-event-time{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:.6875rem;line-height:1.2;color:var(--showcase-text-muted)}.calendar-showcase-event:not([data-size=long]) .calendar-showcase-event-time{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.calendar-showcase-appointment{z-index:1;border:1px solid color-mix(in srgb,var(--showcase-accent) 50%,transparent);border-inline-start:2px solid var(--showcase-accent);background:color-mix(in srgb,var(--showcase-accent) 18%,var(--showcase-surface) 82%);box-shadow:0 6px 16px var(--showcase-shadow-color)}.calendar-showcase-appointment-check{display:inline-flex;margin-inline-start:.2rem;vertical-align:-.1em;color:var(--showcase-accent-text)}.calendar-showcase-appointment-check svg{width:.65rem;height:.65rem}@container (width < 30rem){.calendar-showcase-event-time{display:none}}