/*! REDZ.UI - https://github.com/redz-tech/REDZ.UI */
@layer components{.calendar{inline-size:100%;border-collapse:collapse;table-layout:fixed}.calendar>caption{padding-block-end:var(--redz-space-8);font-weight:600;text-align:start}.calendar th{padding:var(--redz-space-4);color:var(--redz-text-muted);font-size:var(--redz-fs-12);font-weight:550;text-align:center}.calendar abbr{text-decoration:none}.calendar td{block-size:6.5rem;padding:var(--redz-space-4);border:1px solid var(--redz-border);vertical-align:top;overflow:hidden}.calendar td[data-weekend]{background:color-mix(in oklch, var(--redz-bg-page) 50%, var(--redz-bg))}.calendar td[data-outside]{background:var(--redz-bg-page);color:var(--redz-text-muted)}.calendar-day{display:block;margin-block-end:var(--redz-space-2);font-size:var(--redz-fs-12);font-weight:600;font-variant-numeric:tabular-nums}button.calendar-day{min-inline-size:1.5rem;block-size:1.5rem;padding:0 var(--redz-space-4);border:0;border-radius:999px;background:none;color:inherit;font-family:inherit;cursor:pointer}.calendar td:not([aria-current="date"]) button.calendar-day:hover{background:color-mix(in oklch, var(--redz-text) 8%, transparent)}button.calendar-day[aria-pressed="true"]{box-shadow:inset 0 0 0 2px var(--redz-primary)}.calendar td[data-state="worked"],.calendar-legend>[data-state="worked"]::before{background:var(--redz-success-subtle)}.calendar td[data-state="open"],.calendar-legend>[data-state="open"]::before{background:var(--redz-primary-subtle)}.calendar td[data-state="pending"],.calendar-legend>[data-state="pending"]::before{background:var(--redz-warning-subtle)}.calendar td[data-state="absent"],.calendar-legend>[data-state="absent"]::before{background:var(--redz-danger-subtle)}.calendar td[data-state="off"],.calendar-legend>[data-state="off"]::before{background:var(--redz-bg-page)}.calendar td[data-state="off"]{color:var(--redz-text-muted)}.calendar-legend{display:flex;flex-wrap:wrap;gap:var(--redz-space-4) var(--redz-space-16);color:var(--redz-text-muted);font-size:var(--redz-fs-12)}.calendar-legend>li{display:flex;align-items:center;gap:var(--redz-space-4)}.calendar-legend>li::before{content:"";inline-size:0.875rem;block-size:0.875rem;border:1px solid var(--redz-border-strong);border-radius:3px}.calendar [aria-current="date"] .calendar-day{display:grid;place-items:center;inline-size:fit-content;min-inline-size:1.5rem;block-size:1.5rem;border-radius:999px;background:var(--redz-primary);color:var(--redz-primary-contrast)}.calendar-event{display:flex;align-items:center;gap:var(--redz-space-4);overflow:hidden;font-size:var(--redz-fs-12);line-height:var(--redz-lh-20);white-space:nowrap}.calendar-event>:not(.dot){overflow:hidden;text-overflow:ellipsis}.calendar-more{display:block;color:var(--redz-text-muted);font-size:var(--redz-fs-12)}@container region (width < 576px){.calendar td{block-size:4rem}.calendar-event{display:inline-flex}.calendar-event>:not(.dot){position:absolute;inline-size:1px;block-size:1px;clip-path:inset(50%)}}.schedule{border-collapse:separate;border-spacing:0;font-variant-numeric:tabular-nums}.schedule :is(th,td){min-inline-size:2.25rem;padding:var(--redz-space-4);border-block-end:1px solid var(--redz-border);text-align:center}.schedule thead th{color:var(--redz-text-muted);font-size:var(--redz-fs-12);font-weight:550;line-height:1.2}.schedule thead th>abbr{display:block;font-size:0.6875rem;font-weight:400;text-decoration:none}.schedule :is(thead th:first-child,tbody th){position:sticky;inset-inline-start:0;z-index:1;max-inline-size:14rem;overflow:hidden;border-inline-end:1px solid var(--redz-border);background:var(--redz-bg);font-weight:500;text-align:start;text-overflow:ellipsis;white-space:nowrap}.schedule [data-weekend]{background:var(--redz-bg-page)}.schedule td[data-state="busy"]{background:var(--redz-primary-subtle);color:var(--redz-primary);font-weight:600}.schedule td[data-state="over"]{background:var(--redz-danger-subtle);color:var(--redz-danger);font-weight:700}@media (forced-colors: active){.calendar [aria-current="date"] .calendar-day{forced-color-adjust:none;background:Highlight;color:HighlightText}.schedule td[data-state="over"]{outline:2px solid CanvasText;outline-offset:-2px}.calendar td[data-state]{outline-offset:-4px}.calendar td[data-state="worked"],.calendar-legend>[data-state="worked"]::before{outline:2px solid CanvasText}.calendar td[data-state="pending"],.calendar-legend>[data-state="pending"]::before{outline:2px dashed CanvasText}.calendar td[data-state="absent"],.calendar-legend>[data-state="absent"]::before{outline:2px dotted CanvasText}button.calendar-day[aria-pressed="true"]{outline:2px solid Highlight}}}
