.tone-children{--tone:var(--p-ochre)}.tone-youth{--tone:var(--p-success)}.tone-adults{--tone:var(--p-blue)}.tone-community{--tone:var(--p-slate)}.tone-children,.tone-youth,.tone-adults,.tone-community{--tone-wash:color-mix(in srgb, var(--tone) 9%, var(--surface-raised))}.calendar__bar{flex-wrap:wrap;justify-content:space-between;align-items:end;gap:16px 32px;display:flex}.calendar__bar .toggle-group{align-self:end}.calendar__filters{flex-wrap:wrap;align-items:end;gap:12px 16px;display:flex}.calendar__filters .field{width:220px}.calendar__filters .btn{min-height:var(--field-h)}.calendar__jump{font-size:var(--type-label);margin:-12px 0 0}.calendar__jump a{align-items:center;min-height:24px;font-weight:600;display:inline-flex}.calendar__none{color:var(--text-muted);margin:0}.calendar__today,.month__today,.agenda__today{font-family:var(--font-ui);font-size:var(--type-caption);letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;color:var(--text-brand);font-weight:600}.calendar__nav .calendar__today{vertical-align:middle;margin-left:12px}.month{border-collapse:collapse;table-layout:fixed;background:var(--surface-raised);width:100%}.month th,.month td{border:1px solid var(--border-decorative);text-align:left}.month thead th{font-size:var(--type-caption);text-transform:uppercase;letter-spacing:var(--tracking-eyebrow);color:var(--text-muted);background:var(--surface);border-top:0;border-inline:0;border-bottom:2px solid var(--border-strong);padding:10px 8px;font-weight:600}.month__corner{width:72px}.month__week{vertical-align:top;width:72px;font-size:var(--type-caption);color:var(--text-muted);background:var(--surface);padding:10px 8px;font-weight:500}.month__cell{vertical-align:top;height:132px;padding:6px 6px 8px}.month__cell--outside{background:var(--surface-sunken)}.month__cell--outside .month__num{color:var(--text-muted)}.month__cell[aria-current=date]{box-shadow:inset 0 0 0 2px var(--action)}.month__date{align-items:center;gap:8px;min-height:28px;margin:0 0 4px;display:flex}.month__num{min-width:28px;height:28px;font-family:var(--font-display);place-items:center;padding:0 4px;font-size:1.125rem;line-height:1;display:inline-grid}.month__cell[aria-current=date] .month__num{background:var(--action);color:var(--action-text)}.month__items{grid-template-columns:minmax(0,1fr);gap:4px;margin:0;padding:0;list-style:none;display:grid}.month__item{border-left:3px solid var(--tone);background:var(--tone-wash);min-height:24px;color:var(--text);font-size:var(--type-caption);white-space:nowrap;text-overflow:ellipsis;padding:4px 6px;line-height:16px;text-decoration:none;display:block;overflow:hidden}.month__item:hover{background:var(--surface-subtle)}.month__item:hover .month__title{text-decoration:underline}.month__time{font-weight:600}.month__more{min-height:24px;font-size:var(--type-caption);color:var(--action);align-items:center;margin-top:2px;padding-inline:6px;font-weight:600;display:inline-flex}.agenda{margin:-16px 0 0;padding:0;list-style:none;display:none}.agenda__day{border-bottom:1px solid var(--border-decorative);gap:10px;padding:16px 0;display:grid}.agenda__date{font-size:var(--type-body);align-items:center;gap:12px;margin:0;font-weight:600;line-height:1.2;display:flex}.agenda__num{min-width:40px;height:40px;font-family:var(--font-display);place-items:center;font-size:1.75rem;font-weight:400;display:inline-grid}.agenda__day[aria-current=date] .agenda__num{background:var(--action);color:var(--action-text)}.agenda__items{gap:8px;margin:0;padding:0;list-style:none;display:grid}.agenda__item{border-left:4px solid var(--tone);background:var(--surface-raised);color:var(--text);gap:2px;padding:10px 14px;text-decoration:none;display:grid}.agenda__item:hover .agenda__title{color:var(--action);text-decoration:underline}.agenda__time{font-size:var(--type-label);font-weight:600}.agenda__title{font-weight:600}.agenda__title .status{margin-left:10px}.calendar__key{flex-wrap:wrap;align-items:center;gap:8px 20px;display:flex}.calendar__key p{margin:0}.calendar__key ul{font-size:var(--type-label);flex-wrap:wrap;gap:8px 20px;margin:0;padding:0;list-style:none;display:flex}.calendar__key li{align-items:center;gap:8px;display:inline-flex}.calendar__swatch{background:var(--tone);width:14px;height:14px}@media (max-width:860px){.month{display:none}.agenda{display:block}.calendar__bar{flex-direction:column;align-items:stretch}.calendar__bar .toggle-group{align-self:start}.calendar__filters .field{flex:160px;width:auto}}
