.multi-select{position:relative}.multi-select-label{border:1px solid var(--color-gray);border-radius:var(--border-radius);cursor:pointer;background:var(--color-background);justify-content:space-between;align-items:center;gap:.5em;padding:.375rem 1rem;display:flex}.multi-select-label-text{white-space:nowrap;text-overflow:ellipsis;max-width:14em;font-weight:var(--font-weight-normal);overflow:hidden}.multi-select-label-icon{font-size:.75rem;display:flex}.multi-select-dropdown{gap:.5em var(--spacing-default);background-color:var(--color-background);z-index:1;width:max-content;min-width:calc(100% + 2em);max-height:20em;padding:var(--spacing-default);border-radius:0 0 .375rem .375rem;flex-flow:column wrap;display:flex;position:absolute;top:100%;left:0;box-shadow:0 4px 20px -5px rgba(0,0,0,.1)}.multi-select-option{align-items:center;gap:var(--spacing-small);cursor:pointer;display:flex;position:relative}.multi-select-option input[type=checkbox]{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--color-gray);cursor:pointer;background-color:var(--color-background);vertical-align:middle;border-radius:.25em;flex-shrink:0;width:1.2em;height:1.2em;margin:0;display:inline-block}.multi-select-option input[type=checkbox]:checked{border-color:var(--color-primary);background-color:var(--color-primary)}.multi-select-option:has(input[type=checkbox]:checked){color:var(--color-primary);font-weight:var(--font-weight-bold)}.multi-select-option:has(input[type=checkbox]:checked):after{content:"✓";width:1.2em;height:1.2em;color:var(--color-background);-webkit-text-fill-color:var(--color-background);pointer-events:none;justify-content:center;align-items:baseline;font-size:.75rem;display:flex;position:absolute;top:.6em;left:.6em;transform:translate(-50%,-30%)}.multi-select-option--gradient input[type=checkbox]:checked{background-image:var(--color-gradient);background-color:transparent}.multi-select-remove{cursor:pointer;color:var(--color-primary);background:0 0;border:none;margin:0;padding:0;font-size:1rem}.multi-select-remove:hover{color:var(--color-button-hover);background-color:transparent!important}.multi-select--open .multi-select-label{border-bottom-right-radius:0;border-bottom-left-radius:0}.multi-select--selected .multi-select-label{border-color:var(--color-primary);background-color:var(--color-very-light-primary)}.multi-select--selected .multi-select-label-text{color:var(--color-primary);font-weight:var(--font-weight-bold)}.multi-select--single .multi-select-option input[type=checkbox]{display:none}@media (min-width:481px){.multi-select-label-text{max-width:9em}}
.calendar-filter{gap:var(--spacing-default);padding-bottom:var(--spacing-40);flex-direction:column;display:flex}.calendar-filter__title{align-items:center;gap:.5rem;display:flex}.calendar-filter__title svg{padding-top:.2em}.calendar-filter__title p{font-weight:var(--font-weight-bold);margin:0}.calendar-filter__options{flex-flow:wrap;gap:.5rem;margin:0;display:flex}.calendar-filter__options>*{flex:calc(50% - .5rem)}@media (min-width:481px){.calendar-filter{flex-direction:row;padding-bottom:0}.calendar-filter__options>*{flex:auto;width:auto}}
.calendar-filter-axis{padding-bottom:var(--spacing-default);justify-content:center;display:flex}.calendar-filter-axis__wrapper{gap:var(--spacing-small);padding:var(--spacing-small)var(--spacing-default);background-color:var(--color-very-light-gray);border-radius:var(--border-radius);flex-flow:wrap;display:flex}.calendar-filter-axis__button{flex:calc(50% - var(--spacing-small));margin:0}.calendar-filter-axis__button:not(.calendar-filter-axis__button--active){color:var(--color-gray);background-color:transparent}.calendar-filter-axis__button:hover{color:var(--color-background)}@media (min-width:481px){.calendar-filter-axis__button{flex:auto}}
.calendar-grid-day-days{border-radius:calc(var(--border-radius)*2);border:1px solid rgba(0,0,0,.2);grid-template-columns:repeat(7,1fr);grid-auto-rows:minmax(3.5em,1fr);margin:0;padding:0;list-style:none;display:grid;overflow:hidden}.calendar-grid-day-days__day{border-bottom:1px solid rgba(0,0,0,.2);border-left:1px solid rgba(0,0,0,.2)}.calendar-grid-day-days__day:nth-child(7n+1){border-left:none}.calendar-grid-day-days__day:nth-last-child(-n+8)~li{border-bottom:none}.calendar-grid-day-days__day:first-child button{border-top-left-radius:calc(var(--border-radius)*2)}.calendar-grid-day-days__day:nth-child(7) button{border-top-right-radius:calc(var(--border-radius)*2)}.calendar-grid-day-days__day:nth-child(7n+1):nth-last-child(-n+8) button{border-bottom-left-radius:calc(var(--border-radius)*2)}.calendar-grid-day-days__day:last-child button{border-bottom-right-radius:calc(var(--border-radius)*2)}.calendar-grid-day-days__day__wrapper{flex-direction:column;align-items:flex-start;gap:.5em;display:flex}.calendar-grid-day-days__day__wrapper p{margin:0;padding:0}.calendar-grid-day-days__day__data{flex-wrap:wrap;gap:.2em;display:flex}.calendar-grid-day-days__day__data__icon{background:var(--color-gray);font-size:calc(var(--font-size-xx-small)*.9);font-weight:var(--font-weight-bold);border-radius:2em;padding:0 .3em;display:flex}.calendar-grid-day-days__day__data__icon:not(.with-text){width:1em;height:1em;padding:0}.calendar-grid-day-days__day__data__count{font-size:calc(var(--font-size-xx-small)*.9);font-weight:var(--font-weight-normal)}.calendar-grid-day-days__day.current--day button{background-color:var(--color-very-light-primary)}.calendar-grid-day-days__day.selected.calendar-grid-day-days__day--program button{color:var(--color-foreground);border:3px solid var(--color-primary);background-color:var(--color-light-primary)!important}.calendar-grid-day-days__day.selected.calendar-grid-day-days__day--program button:not(:disabled):hover{background-color:var(--color-button-accent)!important}.calendar-grid-day-days__day.selected button{color:var(--color-background);font-weight:var(--font-weight-bold);background-color:var(--color-primary)!important}.calendar-grid-day-days__day>button{background-color:var(--color-background);width:100%;height:100%;color:var(--color-foreground);font-weight:var(--font-weight-normal);border-radius:0;flex-direction:column;justify-content:flex-start;align-items:flex-start;margin:0;padding:.5rem;display:flex}.calendar-grid-day-days__day>button:not(:disabled):hover{color:var(--color-background)}.calendar-grid-day-days--simple,.calendar-grid-day-days--simple-group-month{padding-top:var(--spacing-30);border:none;grid-auto-rows:auto!important}.calendar-grid-day-days--simple .calendar-grid-day-days__day,.calendar-grid-day-days--simple-group-month .calendar-grid-day-days__day{padding:var(--spacing-default);text-align:center;border:none;justify-content:center;align-items:center;width:2.5em;height:2.5em;margin:auto;display:flex}.calendar-grid-day-days--simple .calendar-grid-day-days__day.current--day,.calendar-grid-day-days--simple-group-month .calendar-grid-day-days__day.exist-data{border:2px solid;border-color:var(--color-secondary);border-radius:2em}@media (min-width:481px){.calendar-grid-day-days{grid-auto-rows:minmax(7em,1fr)}.calendar-grid-day-days__day__data{gap:calc(var(--spacing-small)*.5)}.calendar-grid-day-days__day__data__icon{font-size:var(--font-size-xx-small)}.calendar-grid-day-days__day__data__icon:not(.with-text){width:.875em;height:.875em}.calendar-grid-day-days__day__data__count{font-size:var(--font-size-x-small)}}
.calendar-grid-day-names{grid-template-columns:repeat(7,1fr);justify-items:center;gap:.5rem;display:grid}.calendar-grid-day-names__day{font-size:var(--font-size-x-small)}@media (min-width:481px){.calendar-grid-day-names__day{font-weight:var(--font-weight-bold)}}
.calendar-grid{gap:var(--spacing-default);flex-direction:column;display:flex}
.calendar-header-month{flex-direction:column;justify-content:center;display:flex}.calendar-header-month__wrapper{justify-content:center;align-items:center;gap:var(--spacing-40);display:flex}.calendar-header-month__nav-button{cursor:pointer;align-items:center;padding:0;font-size:1.2rem;display:flex;background:0 0!important}.calendar-header-month__nav-button path{stroke:var(--color-primary);fill:var(--color-primary)}.calendar-header-month__nav-button:hover{background-color:transparent!important}.calendar-header-month__nav-button:hover path{stroke:var(--color-button-hover);fill:var(--color-button-hover)}.calendar-header-month__nav-button:disabled{cursor:not-allowed}.calendar-header-month__nav-button:disabled path{stroke:var(--color-gray);fill:var(--color-gray)}.calendar-header-month__title{color:var(--color-primary);text-align:center;min-width:8.5em;margin:0;padding-bottom:.25em}@media (min-width:481px){.calendar-header-month{flex-direction:row}}
.calendar-legend{padding-top:var(--spacing-50);flex-direction:column;gap:.5rem;display:flex}.calendar-legend__title{color:var(--color-foreground);margin:0}.calendar-legend__list{flex-wrap:wrap;gap:1.5em 2em;margin:0;padding:0;list-style:none;display:flex}.calendar-legend__item{--color-program:var(--color-light-sky-blue);align-items:center;gap:.5em;display:flex}.calendar-legend__item:before{content:"";background-color:var(--color-program);border-radius:50%;width:1em;height:1em}@media (min-width:481px){.calendar-legend{padding-top:0}.calendar-legend__list{gap:1em 2em}}
.calendar{gap:var(--spacing-50);flex-direction:column;display:flex;position:relative}.calendar__wrapper{gap:var(--spacing-30);flex-direction:column;display:flex}@media (min-width:481px){.calendar{border-radius:var(--border-radius);border:1px solid var(--color-light-gray);flex-direction:row;gap:0}.calendar__wrapper{padding:var(--spacing-50);flex:1 0 0}}
.calendar-list-item{gap:var(--spacing-default);align-items:center;display:flex}.calendar-list-item__card{gap:var(--spacing-small);background-color:var(--color-very-light-primary);padding:var(--spacing-default);color:var(--color-primary);border-radius:var(--border-radius);width:min-content;font-weight:700;font-size:var(--font-size-xx-small);box-shadow:var(--box-shadow);flex-direction:column;flex:1 1 0;display:flex}.calendar-list-item__card svg path{fill:var(--color-primary)}.calendar-list-item__info{flex-direction:column;flex:50%;width:min-content;display:flex}.calendar-list-item__info p{font-size:var(--font-size-small);margin:0}.calendar-list-item__info-list{margin:0;padding:0 0 0 2em;list-style:outside}.calendar-list-item__footer{padding-top:var(--spacing-small);padding-left:3em}@media (min-width:481px){.calendar-list-item__card{font-size:var(--font-normal);box-shadow:none}.calendar-list-item__info p{font-size:var(--font-normal)}}
.calendar-list{flex-direction:column;display:flex;position:relative;overflow:hidden}.calendar-list__group{gap:var(--spacing-default);flex-direction:column;height:100%;display:flex}.calendar-list__wrapper{gap:var(--spacing-default);z-index:1;flex-direction:column;display:flex}.calendar-list__container{flex-direction:column;flex:1 0 0;display:flex}.calendar-list__title{color:var(--color-foreground);margin:0}.calendar-list__list{gap:var(--spacing-default);flex-direction:column;flex:1 0 0;margin:0;padding:0 0 .2em;list-style:none;display:flex}.calendar-list--simple-group-month .calendar-list__group{flex:0;height:auto}.calendar-list--simple-group-month .calendar-list__container{gap:var(--spacing-default);height:100%;display:flex}.calendar-list--simple-group-month .calendar-list__list{flex:auto}@media (min-width:481px){.calendar-list{flex:50%;width:100%;min-width:18em;max-width:30em}.calendar-list__wrapper{height:100%}.calendar-list__list,.calendar-list--simple-group-month .calendar-list__container{overflow:auto}}
