.calendar-view{flex-direction:column;min-width:0;display:flex}.calendar-view-empty{padding:var(--spc-6) var(--spc-8);text-align:center}.calendar-view-scroll{-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;overflow:auto visible}.calendar-view-scroll>.calendar-week-grid{min-width:720px}.calendar-week-grid{flex-direction:column;min-width:0;display:flex}.calendar-week-headers{border-bottom:var(--spc-px) solid color-mix(in srgb, var(--color-ui-1) 70%, transparent);grid-template-columns:48px repeat(7,minmax(0,1fr));display:grid}.calendar-week-corner{border-right:var(--spc-px) solid color-mix(in srgb, var(--color-ui-1) 50%, transparent)}.calendar-week-day-header{align-items:center;gap:calc(var(--spc-px) * 2);padding:var(--spc-2) var(--spc-1);text-transform:uppercase;letter-spacing:.04em;flex-direction:column;display:flex}.calendar-week-allday{grid-template-columns:48px repeat(7,minmax(0,1fr));grid-auto-rows:var(--allday-row-height,28px);gap:calc(var(--spc-px) * 2) 2px;padding:calc(var(--spc-px) * 4) 0;border-bottom:var(--spc-px) solid color-mix(in srgb, var(--color-ui-1) 70%, transparent);display:grid}.calendar-week-allday-label{padding:2px var(--spc-2) 0 0;text-transform:lowercase;letter-spacing:.06em;border-right:var(--spc-px) solid color-mix(in srgb, var(--color-ui-1) 50%, transparent);grid-area:1/1/-1;justify-content:flex-end;align-items:flex-start;display:flex}.calendar-week-allday-event{min-width:0;position:relative}.calendar-week-allday-event:hover,.calendar-week-allday-event:focus-within{z-index:50}.calendar-week-body{grid-template-columns:48px repeat(7,minmax(0,1fr));min-width:0;display:grid}.calendar-week-hours{border-right:var(--spc-px) solid color-mix(in srgb, var(--color-ui-1) 50%, transparent);flex-direction:column;display:flex}.calendar-week-hour{padding:2px var(--spc-2) 0 0;text-transform:lowercase;letter-spacing:.04em;white-space:nowrap;justify-content:flex-end;align-items:flex-start;display:flex}.calendar-week-day-column{border-right:var(--spc-px) solid color-mix(in srgb, var(--color-ui-1) 30%, transparent);min-width:0;position:relative}.calendar-week-day-column:last-child{border-right:none}.calendar-week-hour-line{border-top:var(--spc-px) solid color-mix(in srgb, var(--color-ui-1) 30%, transparent)}.calendar-week-event-slot{position:absolute;left:2px;right:2px;container:event-slot/size}.calendar-week-event-slot:hover,.calendar-week-event-slot:focus-within{z-index:50}@container event-slot (height<=38px){.calendar-event-grid .calendar-event-subtitle{display:none}}@container event-slot (height<=28px){.calendar-event-grid{padding:1px var(--spc-1)}.calendar-event-grid .calendar-event-title{line-height:1.1}}.calendar-event{gap:var(--spc-1);background:color-mix(in srgb, var(--event-accent) 12%, var(--color-bg-1));border-radius:var(--rnd-2,4px);padding:calc(var(--spc-px) * 3) var(--spc-1);color:inherit;grid-template-columns:3px minmax(0,1fr);min-width:0;text-decoration:none;display:grid;position:relative}.calendar-event-grid{height:100%;overflow:hidden}a.calendar-event:hover{background:color-mix(in srgb, var(--event-accent) 20%, var(--color-bg-1))}.calendar-event-bar{background:var(--event-accent);border-radius:1px}.calendar-event-body{flex-direction:column;gap:0;min-width:0;display:flex}.calendar-event-title,.calendar-event-subtitle{white-space:nowrap;text-overflow:ellipsis;line-height:1.25;overflow:hidden}.calendar-event-tooltip{gap:var(--spc-2);min-width:220px;max-width:320px;padding:var(--spc-2) var(--spc-3);background:var(--color-bg-1);border:var(--spc-px) solid var(--color-ui-2);border-radius:var(--rnd-2,4px);color:var(--color-text-1);pointer-events:none;border-left:3px solid color-mix(in srgb, var(--event-accent) 70%, transparent);flex-direction:column;display:flex;box-shadow:0 8px 24px #00000059}.calendar-event-tooltip-header{padding-bottom:var(--spc-1);border-bottom:var(--spc-px) solid var(--color-ui-1);flex-direction:column;gap:2px;display:flex}.calendar-event-tooltip-title{font-size:.85rem;font-weight:600;line-height:1.25}.calendar-event-tooltip-subtitle{color:var(--color-text-2);font-size:.75rem}.calendar-event-tooltip-body{font-size:.75rem;font-family:var(--font-family-mono);color:var(--color-text-1);flex-direction:column;gap:1px;max-height:320px;display:flex;overflow:hidden}.calendar-event-tooltip-line{white-space:nowrap;text-overflow:ellipsis;line-height:1.4;overflow:hidden}.calendar-event-tooltip-spacer{height:4px}.calendar-event-all-day{min-height:24px}
