html{color-scheme:light dark;--mat-sys-background: light-dark(#fef8fc, #151316);--mat-sys-error: light-dark(#ba1a1a, #ffb4ab);--mat-sys-error-container: light-dark(#ffdad6, #93000a);--mat-sys-inverse-on-surface: light-dark(#f5eff4, #323033);--mat-sys-inverse-primary: light-dark(#d5baff, #7d00fa);--mat-sys-inverse-surface: light-dark(#323033, #e6e1e6);--mat-sys-on-background: light-dark(#1d1b1e, #e6e1e6);--mat-sys-on-error: light-dark(#ffffff, #690005);--mat-sys-on-error-container: light-dark(#93000a, #ffdad6);--mat-sys-on-primary: light-dark(#ffffff, #42008a);--mat-sys-on-primary-container: light-dark(#5f00c0, #ecdcff);--mat-sys-on-primary-fixed: light-dark(#270057, #270057);--mat-sys-on-primary-fixed-variant: light-dark(#5f00c0, #5f00c0);--mat-sys-on-secondary: light-dark(#ffffff, #352d40);--mat-sys-on-secondary-container: light-dark(#4b4357, #eadef7);--mat-sys-on-secondary-fixed: light-dark(#1f182a, #1f182a);--mat-sys-on-secondary-fixed-variant: light-dark(#4b4357, #4b4357);--mat-sys-on-surface: light-dark(#1d1b1e, #e6e1e6);--mat-sys-on-surface-variant: light-dark(#49454e, #e8e0eb);--mat-sys-on-tertiary: light-dark(#ffffff, #003737);--mat-sys-on-tertiary-container: light-dark(#004f4f, #00fbfb);--mat-sys-on-tertiary-fixed: light-dark(#002020, #002020);--mat-sys-on-tertiary-fixed-variant: light-dark(#004f4f, #004f4f);--mat-sys-outline: light-dark(#7b757f, #958e99);--mat-sys-outline-variant: light-dark(#cbc4cf, #49454e);--mat-sys-primary: light-dark(#7d00fa, #d5baff);--mat-sys-primary-container: light-dark(#ecdcff, #5f00c0);--mat-sys-primary-fixed: light-dark(#ecdcff, #ecdcff);--mat-sys-primary-fixed-dim: light-dark(#d5baff, #d5baff);--mat-sys-scrim: light-dark(#000000, #000000);--mat-sys-secondary: light-dark(#645b70, #cec2db);--mat-sys-secondary-container: light-dark(#eadef7, #4b4357);--mat-sys-secondary-fixed: light-dark(#eadef7, #eadef7);--mat-sys-secondary-fixed-dim: light-dark(#cec2db, #cec2db);--mat-sys-shadow: light-dark(#000000, #000000);--mat-sys-surface: light-dark(#fef8fc, #151316);--mat-sys-surface-bright: light-dark(#fef8fc, #3b383c);--mat-sys-surface-container: light-dark(#f2ecf1, #211f22);--mat-sys-surface-container-high: light-dark(#ede6eb, #2b292d);--mat-sys-surface-container-highest: light-dark(#e6e1e6, #363437);--mat-sys-surface-container-low: light-dark(#f8f2f6, #1d1b1e);--mat-sys-surface-container-lowest: light-dark(#ffffff, #0f0d11);--mat-sys-surface-dim: light-dark(#ded8dd, #151316);--mat-sys-surface-tint: light-dark(#7d00fa, #d5baff);--mat-sys-surface-variant: light-dark(#e8e0eb, #49454e);--mat-sys-tertiary: light-dark(#006a6a, #00dddd);--mat-sys-tertiary-container: light-dark(#00fbfb, #004f4f);--mat-sys-tertiary-fixed: light-dark(#00fbfb, #00fbfb);--mat-sys-tertiary-fixed-dim: light-dark(#00dddd, #00dddd);--mat-sys-neutral-variant20: #332f37;--mat-sys-neutral10: #1d1b1e;--mat-sys-level0: 0px 0px 0px 0px rgba(0, 0, 0, .2), 0px 0px 0px 0px rgba(0, 0, 0, .14), 0px 0px 0px 0px rgba(0, 0, 0, .12);--mat-sys-level1: 0px 2px 1px -1px rgba(0, 0, 0, .2), 0px 1px 1px 0px rgba(0, 0, 0, .14), 0px 1px 3px 0px rgba(0, 0, 0, .12);--mat-sys-level2: 0px 3px 3px -2px rgba(0, 0, 0, .2), 0px 3px 4px 0px rgba(0, 0, 0, .14), 0px 1px 8px 0px rgba(0, 0, 0, .12);--mat-sys-level3: 0px 3px 5px -1px rgba(0, 0, 0, .2), 0px 6px 10px 0px rgba(0, 0, 0, .14), 0px 1px 18px 0px rgba(0, 0, 0, .12);--mat-sys-level4: 0px 5px 5px -3px rgba(0, 0, 0, .2), 0px 8px 10px 1px rgba(0, 0, 0, .14), 0px 3px 14px 2px rgba(0, 0, 0, .12);--mat-sys-level5: 0px 7px 8px -4px rgba(0, 0, 0, .2), 0px 12px 17px 2px rgba(0, 0, 0, .14), 0px 5px 22px 4px rgba(0, 0, 0, .12);--mat-sys-body-large: 400 1rem / 1.5rem Roboto;--mat-sys-body-large-font: Roboto;--mat-sys-body-large-line-height: 1.5rem;--mat-sys-body-large-size: 1rem;--mat-sys-body-large-tracking: .031rem;--mat-sys-body-large-weight: 400;--mat-sys-body-medium: 400 .875rem / 1.25rem Roboto;--mat-sys-body-medium-font: Roboto;--mat-sys-body-medium-line-height: 1.25rem;--mat-sys-body-medium-size: .875rem;--mat-sys-body-medium-tracking: .016rem;--mat-sys-body-medium-weight: 400;--mat-sys-body-small: 400 .75rem / 1rem Roboto;--mat-sys-body-small-font: Roboto;--mat-sys-body-small-line-height: 1rem;--mat-sys-body-small-size: .75rem;--mat-sys-body-small-tracking: .025rem;--mat-sys-body-small-weight: 400;--mat-sys-display-large: 400 3.562rem / 4rem Roboto;--mat-sys-display-large-font: Roboto;--mat-sys-display-large-line-height: 4rem;--mat-sys-display-large-size: 3.562rem;--mat-sys-display-large-tracking: -.016rem;--mat-sys-display-large-weight: 400;--mat-sys-display-medium: 400 2.812rem / 3.25rem Roboto;--mat-sys-display-medium-font: Roboto;--mat-sys-display-medium-line-height: 3.25rem;--mat-sys-display-medium-size: 2.812rem;--mat-sys-display-medium-tracking: 0;--mat-sys-display-medium-weight: 400;--mat-sys-display-small: 400 2.25rem / 2.75rem Roboto;--mat-sys-display-small-font: Roboto;--mat-sys-display-small-line-height: 2.75rem;--mat-sys-display-small-size: 2.25rem;--mat-sys-display-small-tracking: 0;--mat-sys-display-small-weight: 400;--mat-sys-headline-large: 400 2rem / 2.5rem Roboto;--mat-sys-headline-large-font: Roboto;--mat-sys-headline-large-line-height: 2.5rem;--mat-sys-headline-large-size: 2rem;--mat-sys-headline-large-tracking: 0;--mat-sys-headline-large-weight: 400;--mat-sys-headline-medium: 400 1.75rem / 2.25rem Roboto;--mat-sys-headline-medium-font: Roboto;--mat-sys-headline-medium-line-height: 2.25rem;--mat-sys-headline-medium-size: 1.75rem;--mat-sys-headline-medium-tracking: 0;--mat-sys-headline-medium-weight: 400;--mat-sys-headline-small: 400 1.5rem / 2rem Roboto;--mat-sys-headline-small-font: Roboto;--mat-sys-headline-small-line-height: 2rem;--mat-sys-headline-small-size: 1.5rem;--mat-sys-headline-small-tracking: 0;--mat-sys-headline-small-weight: 400;--mat-sys-label-large: 500 .875rem / 1.25rem Roboto;--mat-sys-label-large-font: Roboto;--mat-sys-label-large-line-height: 1.25rem;--mat-sys-label-large-size: .875rem;--mat-sys-label-large-tracking: .006rem;--mat-sys-label-large-weight: 500;--mat-sys-label-large-weight-prominent: 700;--mat-sys-label-medium: 500 .75rem / 1rem Roboto;--mat-sys-label-medium-font: Roboto;--mat-sys-label-medium-line-height: 1rem;--mat-sys-label-medium-size: .75rem;--mat-sys-label-medium-tracking: .031rem;--mat-sys-label-medium-weight: 500;--mat-sys-label-medium-weight-prominent: 700;--mat-sys-label-small: 500 .688rem / 1rem Roboto;--mat-sys-label-small-font: Roboto;--mat-sys-label-small-line-height: 1rem;--mat-sys-label-small-size: .688rem;--mat-sys-label-small-tracking: .031rem;--mat-sys-label-small-weight: 500;--mat-sys-title-large: 400 1.375rem / 1.75rem Roboto;--mat-sys-title-large-font: Roboto;--mat-sys-title-large-line-height: 1.75rem;--mat-sys-title-large-size: 1.375rem;--mat-sys-title-large-tracking: 0;--mat-sys-title-large-weight: 400;--mat-sys-title-medium: 500 1rem / 1.5rem Roboto;--mat-sys-title-medium-font: Roboto;--mat-sys-title-medium-line-height: 1.5rem;--mat-sys-title-medium-size: 1rem;--mat-sys-title-medium-tracking: .009rem;--mat-sys-title-medium-weight: 500;--mat-sys-title-small: 500 .875rem / 1.25rem Roboto;--mat-sys-title-small-font: Roboto;--mat-sys-title-small-line-height: 1.25rem;--mat-sys-title-small-size: .875rem;--mat-sys-title-small-tracking: .006rem;--mat-sys-title-small-weight: 500;--mat-sys-corner-extra-large: 28px;--mat-sys-corner-extra-large-top: 28px 28px 0 0;--mat-sys-corner-extra-small: 4px;--mat-sys-corner-extra-small-top: 4px 4px 0 0;--mat-sys-corner-full: 9999px;--mat-sys-corner-large: 16px;--mat-sys-corner-large-end: 0 16px 16px 0;--mat-sys-corner-large-start: 16px 0 0 16px;--mat-sys-corner-large-top: 16px 16px 0 0;--mat-sys-corner-medium: 12px;--mat-sys-corner-none: 0;--mat-sys-corner-small: 8px;--mat-sys-dragged-state-layer-opacity: .16;--mat-sys-focus-state-layer-opacity: .12;--mat-sys-hover-state-layer-opacity: .08;--mat-sys-pressed-state-layer-opacity: .12}:root{--app-text-scale: 1;--app-content-max-width: 70rem;--app-space-1: .5rem;--app-space-2: 1.5rem;--app-icon-size: 1.25rem;--app-role-icon-size: 1.5rem;--app-dialog-label-width: 7rem;--app-roster-row-space: 2.5rem;--app-radius-small: .25rem;--app-toolbar-height: 4rem;--app-toolbar-surface: var(--mat-sys-inverse-surface, #322f35);--app-toolbar-on-surface: var(--mat-sys-inverse-on-surface, #f5eff7);--app-primary: var(--mat-sys-primary, #6750a4);--app-on-primary: var(--mat-sys-on-primary, #ffffff);--app-secondary: var(--mat-sys-secondary, #625b71);--app-on-secondary: var(--mat-sys-on-secondary, #ffffff);--app-warning: var(--mat-sys-tertiary, #006a6a);--app-on-warning: var(--mat-sys-on-tertiary, #ffffff);--app-error: var(--mat-sys-error, #ba1a1a);--app-on-error: var(--mat-sys-on-error, #ffffff);--app-surface: var(--mat-sys-surface, #fffbfe);--app-surface-container: var(--mat-sys-surface-container, #f3edf7);--app-on-surface-variant: var(--mat-sys-on-surface-variant, #49454f);--app-success-container: var(--mat-sys-secondary-container, #e8def8);--app-on-success-container: var(--mat-sys-on-secondary-container, #1d192b);--app-error-container: var(--mat-sys-error-container, #ffdad6);--app-on-error-container: var(--mat-sys-on-error-container, #410002);--app-table-border: var(--mat-sys-outline-variant, #cac4d0);--app-table-min-width: 42rem;--app-narrow-content-max-width: 28rem;--app-control-max-width: 18rem;--app-select-max-width: 5rem}html,body{height:100%}html{font-size:calc(100% * var(--app-text-scale))}html[data-appearance-text-size=small]{--app-text-scale: .9}html[data-appearance-text-size=large]{--app-text-scale: 1.1}html[data-appearance-content-width=wide]{--app-content-max-width: 84rem}html[data-appearance-colour-scheme=light]{color-scheme:light}html[data-appearance-colour-scheme=dark]{color-scheme:dark}html[data-appearance-colour-scheme=system]{color-scheme:light dark}body{margin:0;font:var(--mat-sys-body-medium);background:var(--mat-sys-surface);color:var(--mat-sys-on-surface)}main{max-width:var(--app-content-max-width);margin:var(--app-space-2) auto;padding:0 var(--app-space-1) var(--app-space-2)}.toolbar-spacer{flex:1 1 auto}.app-toolbar{background-color:var(--app-toolbar-surface)!important;color:var(--app-toolbar-on-surface)!important;gap:var(--app-space-1);min-height:var(--app-toolbar-height);position:fixed;inset:0 0 auto;z-index:1000}app-root{display:block;padding-top:var(--app-toolbar-height)}.app-toolbar a,.app-toolbar button{color:var(--app-toolbar-on-surface)!important}.app-toolbar>button[aria-label=Appearance]{flex:0 0 auto}.appearance-menu-heading{color:var(--mat-sys-on-surface-variant);font-size:.75rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.appearance-menu-heading.mat-mdc-menu-item[disabled]{opacity:1}.app-brand{color:inherit;text-decoration:none}.app-top-navigation{align-items:center;display:flex;gap:var(--app-space-1);min-width:0;overflow-x:auto;scrollbar-width:none;white-space:nowrap}.app-top-navigation::-webkit-scrollbar{display:none}.app-top-navigation a,.app-top-navigation button{flex:0 0 auto;transition:background-color .12s ease}.toolbar-icon-trigger{align-items:center;display:inline-flex;justify-content:center;min-width:2.5rem;padding:0}.toolbar-icon-trigger mat-icon{margin:0}.toolbar-icon-trigger:focus,.toolbar-icon-trigger:focus-visible{outline:none!important}.app-top-navigation a:hover,.app-top-navigation button:hover{background-color:color-mix(in srgb,var(--app-toolbar-on-surface) 12%,var(--app-toolbar-surface))!important;color:var(--app-toolbar-on-surface)!important}.app-top-navigation a:focus-visible,.app-top-navigation button:focus-visible{outline:2px solid var(--app-toolbar-on-surface)!important;outline-offset:2px}.app-toolbar .active-nav-item{background-color:color-mix(in srgb,var(--app-toolbar-on-surface) 12%,var(--app-toolbar-surface))!important;border-radius:999px;color:var(--app-toolbar-on-surface)!important;font-weight:600}.filters{align-items:start;display:grid;gap:var(--app-space-2);margin-top:var(--app-space-2);margin-bottom:var(--app-space-1);grid-template-columns:repeat(auto-fit,minmax(18.75rem,1fr))}.filter-controls{align-items:center;display:flex;flex-wrap:wrap;gap:var(--app-space-1);justify-content:flex-end}.roster-controls{display:flex;flex-direction:column;gap:var(--app-space-1);margin-top:var(--app-space-2);margin-bottom:var(--app-space-1)}.roster-control-row{align-items:center;display:grid;gap:var(--app-space-2);grid-template-columns:minmax(0,1fr) auto}.roster-control-row>.right-section,.roster-control-actions{justify-self:end}.roster-control-actions{margin-top:0}.roster-display-filter{align-items:center}.left-section{justify-self:start}.right-section{justify-self:end}.filter-date-range{align-items:center;display:flex;flex-wrap:wrap;gap:var(--app-space-1);min-width:0}.filter-date-range app-date-range-picker,.filter-date-range .date-range-picker{display:block;width:100%}.filter-date-range app-date-range-picker{flex:1 1 100%}.filter-stack{display:flex;flex-direction:column;gap:var(--app-space-1)}.filter-stack-end{align-items:flex-end}.section-spaced,.section-card{margin-top:var(--app-space-2)}.availability-person,.section-card{border-top:1px solid var(--app-table-border)}.section-card{padding-top:var(--app-space-1)}section h3{margin:0 0 var(--app-space-1)}.section-heading{align-items:center;display:flex;justify-content:space-between}.section-heading h2{margin-bottom:var(--app-space-1)}.page-heading-row{align-items:center;display:flex;justify-content:space-between;gap:var(--app-space-2)}.page-heading-row h1{margin-bottom:var(--app-space-1)}.page-heading-actions{display:flex;flex-wrap:wrap;gap:var(--app-space-1);justify-content:flex-end}.table-scroll{overflow-x:auto}app-multi-select-filter{align-items:center;display:flex;gap:var(--app-space-2)}app-multi-select-filter.roster-display-filter{align-items:center;gap:var(--app-space-1)}mat-form-field,app-date-picker,app-date-range-picker,app-availability-status-select{display:block;width:100%}app-availability-status-select{padding-top:var(--app-space-1)}.multi-select-filter-actions{align-items:center;display:flex;gap:var(--app-space-1)}.material-symbols-outlined,.material-symbols-rounded{font-variation-settings:"FILL" 0,"wght" 400,"GRAD" 0,"opsz" 24}form{display:flex;flex-direction:column;gap:var(--app-space-1)}.date-range-picker{align-items:center;display:flex;flex-wrap:nowrap;gap:var(--app-space-1)}.date-range-picker mat-form-field{flex:1 1 auto;min-width:0}.date-range-picker button{flex:0 0 auto;white-space:nowrap}.filter-controls mat-button-toggle-group,.filter-controls mat-slide-toggle{flex:0 0 auto}button[matIconButton]{min-width:0}button[matIconButton]:hover,button[matIconButton]:focus-visible{background:var(--app-primary);color:var(--app-on-primary)}.delete-action{color:var(--app-error)}button[matIconButton].delete-action:hover,button[matIconButton].delete-action:focus-visible{background:var(--app-error);color:var(--app-on-error)}.add-action:not(:disabled){color:var(--app-primary)}.availability-button{min-width:0;padding:var(--app-space-1)}.edit-actions,.roster-actions{display:flex;flex-wrap:wrap;gap:var(--app-space-1);justify-content:flex-end}.edit-actions{margin-top:var(--app-space-1)}.roster-actions{margin-top:var(--app-space-2)}.roster-control-row .roster-control-actions{margin-top:0}.max-masses-select{max-width:var(--app-select-max-width)}table{border-collapse:collapse;table-layout:fixed;width:100%}table :is(.mat-mdc-cell,.mat-mdc-header-cell){padding:var(--app-space-1);text-align:left;vertical-align:middle}table th{font-weight:600}table tr{height:auto}table .mat-column-week{width:10%}table :is(.mat-column-date,.mat-column-person,.mat-column-maxMasses){width:15%}table.roster-table :is(th,td){box-sizing:border-box;min-width:0;overflow:hidden}table.roster-table :is(th,td).mat-column-date{width:var(--roster-date-column-width)!important}table.roster-table :is(th,td):not(.mat-column-date){width:var(--roster-mass-column-width)!important}table.roster-table{min-width:100%;table-layout:fixed!important;width:100%}table:is(.position-table,.availability-table){min-width:var(--app-table-min-width)}table.availability-table :is(th,td):first-child{width:20%}table.availability-table :is(th,td):nth-child(2){width:10%}.app-loading-indicator{margin:var(--app-space-2) 0}.app-loading-indicator .mat-mdc-progress-bar{border-radius:var(--app-radius-small)}.filter-date-range .app-loading-indicator{margin:0;min-width:12rem}.warning,.unfilled,.invalid{border-radius:var(--app-radius-small)}.warning{background-color:var(--app-warning);color:var(--app-on-warning)}.unfilled{background-color:var(--app-secondary);color:var(--app-on-secondary)}.note{color:var(--app-secondary);overflow-wrap:anywhere}.invalid{background-color:var(--app-error);color:var(--app-on-error)}.invalid .mat-mdc-select-value-text{color:var(--app-error)}.schedule-table .invalid .mat-mdc-select-value-text{color:var(--app-on-error)}app-validation-icon{align-items:center;display:inline-flex;line-height:1}app-validation-icon mat-icon{transform:translateY(1px);font-variation-settings:"FILL" 1,"wght" 400,"GRAD" 0,"opsz" 24}.error-message{background-color:var(--app-error);border-radius:var(--app-radius-small);color:var(--app-on-error);margin:var(--app-space-1) 0;padding:var(--app-space-1)}.error-message :is(p,ul){margin:0}.mat-mdc-snack-bar-container.error-snackbar{--mat-snack-bar-container-color: var(--app-error);--mat-snack-bar-supporting-text-color: var(--app-on-error)}.mat-mdc-snack-bar-container.warning-snackbar{--mat-snack-bar-container-color: var(--app-warning);--mat-snack-bar-supporting-text-color: var(--app-on-warning)}app-sign-in main{max-width:var(--app-narrow-content-max-width)}app-sign-in mat-card-content,app-sign-in form,app-sign-in mat-form-field{display:grid;gap:var(--app-space-1)}app-sign-in form{margin:0}h2[mat-dialog-title]{margin-bottom:var(--app-space-1)}.weekend-mass-selection-field{display:block;min-width:min(42rem,calc(100vw - 4rem));width:100%}.weekend-mass-selection-panel{max-width:calc(100vw - 2rem)!important;width:min(42rem,calc(100vw - 2rem))}.weekend-mass-selection-panel mat-option{height:auto;min-height:3rem;white-space:normal}.weekend-mass-selection-panel mat-option .mdc-list-item__primary-text{line-height:1.4;white-space:normal}mat-dialog-content.dialog-form-content{display:flex;flex-direction:column;gap:var(--app-space-1);overflow:visible;padding-top:var(--app-space-2)}.availability-preview{margin-top:var(--app-space-1)}.table-cell-title,.table-cell-status{display:block}.table-cell-status{margin-top:var(--app-space-1)}.icon-list{display:grid;gap:var(--app-space-2);list-style:none;margin:0;padding:0}.icon-list--nested{margin-top:var(--app-space-1)}.icon-list li{align-items:start;column-gap:var(--app-space-1);display:grid;grid-template-columns:var(--app-role-icon-size) minmax(0,1fr) auto;row-gap:var(--app-space-1)}.icon-list app-availability-status,.icon-list mat-icon{grid-column:1;grid-row:1 / span 2}.mat-icon{align-items:center;display:inline-flex;font-size:var(--app-icon-size);height:var(--app-icon-size);justify-content:center;width:var(--app-icon-size)}.list-description{grid-column:2}.list-with-actions .list-actions{align-items:center;display:flex;gap:var(--app-space-1);grid-column:3;grid-row:1 / span 2}.list-with-actions li+li{border-top:1px solid color-mix(in srgb,var(--app-table-border) 45%,transparent);padding-top:var(--app-space-1)}.position-limit{margin:0 0 var(--app-space-1)}.availability-status{align-items:center;display:inline-flex;gap:var(--app-space-1)}.availability-status.available mat-icon{color:var(--app-primary)}.availability-status.not_preferred{color:var(--app-warning)}.availability-status.unavailable{color:var(--app-error)}.availability-preview .availability-status.scheduled{color:var(--app-primary)}.availability-preview .availability-status.rostered{color:var(--app-on-primary)}.availability-preview td.rostered-cell{background-color:var(--app-primary)}.availability-preview td.rostered-multiple-cell{background-color:var(--app-warning);color:var(--app-on-warning)}.availability-preview .availability-status.rostered-multiple mat-icon{color:var(--app-on-warning)}.availability-preview .availability-status.rostered-elsewhere mat-icon,.availability-preview .availability-status.scheduled-elsewhere mat-icon{color:var(--app-error)}.add-person-row{margin-top:var(--app-space-1);max-width:var(--app-control-max-width)}.mass-details-context{margin:0}.mass-details-context>div{align-items:center;display:grid;gap:var(--app-space-2);grid-template-columns:var(--app-dialog-label-width) 1fr;margin-bottom:var(--app-space-2)}.mass-details-context>div:last-child{margin-top:var(--app-space-1)}.mass-details-context dt{font-weight:700}.mass-details-context dd{margin:0}.occurrence-datetime-fields{align-items:start;display:grid;grid-template-columns:var(--app-dialog-label-width) minmax(0,1fr)}.occurrence-datetime-fields mat-form-field{grid-column:2;min-width:0}.occurrence-mass-context>div{align-items:center}.occurrence-date-row{grid-template-columns:var(--app-dialog-label-width) minmax(0,1fr) auto}.occurrence-date-row app-multi-select-toggle-filter{grid-column:3;grid-row:1;justify-self:start}.occurrence-date-row dd{grid-column:2;grid-row:1}.mass-patterns-table{min-width:58rem}.mass-patterns-table .mat-column-actions,.liturgical-calendar-table .mat-column-actions,.mass-occurrences-table .mat-column-occurrenceActions{text-align:right;white-space:nowrap}.liturgical-calendar-table{min-width:58rem}.liturgical-calendar-table :is(.mat-column-expand,.mat-column-occurrenceExpand),.mass-occurrences-table .mat-column-occurrenceExpand{width:8%}.liturgical-calendar-table .mat-column-date,.mass-occurrences-table .mat-column-church{width:15%}.liturgical-calendar-table .mat-column-name,.mass-occurrences-table .mat-column-dateTime{width:25%}.liturgical-calendar-table .mat-column-year,.mass-occurrences-table .mat-column-cancelled,.liturgical-calendar-table .mat-column-weekendMass,.mass-occurrences-table .mat-column-occurrenceWeekendMass,.liturgical-calendar-table .mat-column-notes,.mass-occurrences-table .mat-column-notes{width:15%}.liturgical-calendar-table .mat-column-actions,.mass-occurrences-table .mat-column-occurrenceActions{width:7%}.liturgical-calendar-entry-row-expanded>td{background-color:var(--app-success-container);color:var(--app-primary)}.liturgical-calendar-entry-row-expanded>td :is(button,mat-icon){color:var(--app-primary)!important}.liturgical-calendar-entry-row-expanded button[aria-expanded=true]:is(:hover,:focus-visible){background:var(--app-surface);color:var(--app-primary)!important}.liturgical-calendar-entry-row-expanded button[aria-expanded=true]:is(:hover,:focus-visible) mat-icon{color:var(--app-primary)!important}.roster-dialog-role{margin-top:var(--app-space-2)}.roster-dialog-role h3{margin:0 0 var(--app-space-1)}.roster-dialog-role mat-chip-set{display:block;min-height:var(--app-roster-row-space)}.roster-dialog-role app-person-autocomplete{display:block;margin-top:var(--app-space-1);max-width:var(--app-control-max-width)}.roster-assignment app-person-autocomplete{display:block;max-width:var(--app-select-max-width)}.roster-quick-edit-person{--roster-quick-edit-control-height: 48px;contain:inline-size;display:block;max-width:100%;min-width:0;padding-top:var(--app-space-1);width:100%}.roster-quick-edit-assignment{align-items:center;display:flex;gap:var(--app-space-1);min-width:0}.roster-quick-edit-assignment .roster-quick-edit-person{flex:1 1 auto}.roster-quick-edit-assignment>.roster-borrowed-indicator{flex:0 0 auto}.roster-quick-edit-person :is(mat-form-field,.mat-mdc-form-field){max-width:100%;min-width:0;position:relative;width:100%}.roster-quick-edit-person .mat-mdc-text-field-wrapper,.roster-quick-edit-person .mat-mdc-form-field-infix{box-sizing:border-box;height:var(--roster-quick-edit-control-height);min-height:var(--roster-quick-edit-control-height)}.roster-person-suffix{align-items:center;display:inline-flex;margin-inline-start:auto}.roster-person-status-icon{align-items:center;background-color:var(--app-warning);border-radius:var(--app-radius-small);box-sizing:border-box;display:inline-flex;color:var(--app-on-warning);height:1.75rem;justify-content:center;width:1.75rem}.roster-person-status-icon app-validation-icon{align-items:center;display:inline-flex;justify-content:center}.roster-person-status-icon app-validation-icon mat-icon{align-items:center;display:inline-flex;height:1.5rem;justify-content:center;line-height:1.5rem;transform:none;width:1.5rem}.roster-person-status-icon--invalid{background-color:var(--app-error);color:var(--app-on-error)}.roster-autocomplete-panel{--roster-option-grid: minmax(8rem, 1fr) 6rem 5rem 5.5rem 2rem;max-width:calc(100vw - 2rem)}.roster-autocomplete-panel--simple{--roster-option-grid: minmax(12rem, 1fr) 2rem}.roster-autocomplete-panel mat-option .mdc-list-item__primary-text{align-items:center;display:grid;gap:var(--app-space-1);grid-template-columns:var(--roster-option-grid);font:var(--mat-sys-body-medium);min-width:0;padding:calc(var(--app-space-1) / 2);width:100%}.roster-autocomplete-panel mat-option{height:auto;min-height:1.5rem}.roster-option-header{background:var(--mat-sys-surface-container, var(--mat-sys-surface));display:grid;gap:var(--app-space-1);grid-template-columns:var(--roster-option-grid);margin-inline:var(--app-space-1);padding:calc(var(--app-space-1) / 2);position:sticky;top:0;z-index:1;color:var(--mat-sys-on-surface-variant);font:var(--mat-sys-label-small)}.roster-option-header button{background:transparent;border:0;color:inherit;cursor:pointer;font:inherit;min-width:0;padding:0;text-align:start}.roster-option-header button:hover,.roster-option-header button:focus-visible{color:var(--app-primary);text-decoration:underline}.roster-option-header button.roster-option-column--numeric,.roster-option-column--numeric{text-align:center}.roster-autocomplete-panel mat-option .roster-option-name{display:block;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.roster-autocomplete-panel mat-option:is(.warning,.invalid){background-color:transparent;border-radius:0;color:var(--mat-sys-on-surface)}.roster-autocomplete-panel mat-option.warning .mdc-list-item__primary-text,.roster-autocomplete-panel mat-option.warning app-validation-icon mat-icon{color:var(--app-warning)}.roster-autocomplete-panel mat-option.invalid .mdc-list-item__primary-text{color:var(--app-error)}.roster-autocomplete-panel mat-option.invalid app-validation-icon mat-icon{color:var(--app-error)}.roster-autocomplete-panel mat-divider{border-color:var(--app-table-border);margin:0 var(--app-space-1)}.roster-option-section-divider{background:var(--app-surface-container);color:var(--app-on-surface-variant);font:var(--mat-sys-label-medium);padding:var(--app-space-1) var(--app-space-2)}.roster-date{font-weight:700}.roster-assignment{align-items:center;display:flex;gap:var(--app-space-1);margin:calc(var(--app-space-1) / 2) 0;padding-inline:0}.roster-assignment:is(.warning,.invalid,.unfilled){margin-inline:calc(var(--app-space-1) / -2);padding-inline:calc(var(--app-space-1) / 2)}.schedule-cell-content{align-items:center;display:inline-flex;margin:calc(var(--app-space-1) / 2) var(--app-space-1);max-width:calc(100% - var(--app-space-2));min-width:0;padding-inline:var(--app-space-1)}.schedule-cell-content--editing{box-sizing:border-box;display:flex;max-width:none;margin-inline:0;padding-inline:0;width:100%}.schedule-cell-content--editing mat-select{display:block;flex:1 1 auto;min-width:0;width:100%}.app-select-panel--wide{min-width:16rem!important}.schedule-cell-content.unfilled mat-select .mat-mdc-select-arrow{color:var(--app-on-secondary)}.schedule-cell-content.invalid mat-select .mat-mdc-select-arrow{color:var(--app-on-error)}.roster-assignment app-validation-icon{margin-inline-start:auto;order:3}.roster-borrowed-indicator{margin-inline-start:var(--app-space-1)}.roster-borrowed-indicator mat-icon{color:var(--app-warning)}.icon-actions{display:flex;gap:var(--app-space-1)}.roster-role-icon{flex:0 0 var(--app-role-icon-size);height:var(--app-role-icon-size);width:var(--app-role-icon-size);font-variation-settings:"FILL" 0,"wght" 200,"GRAD" 0,"opsz" 24}.mass-occurrences-panel{background:transparent;border:0;margin:0;padding:0;text-align:left}.mass-occurrences-actions{display:flex;justify-content:flex-end;margin-top:var(--app-space-1);margin-bottom:var(--app-space-1)}.mass-occurrences-table{min-width:0;width:100%}.mass-occurrence-cancelled{color:var(--app-error);font-size:.875rem;font-weight:700}@media(max-width:900px){.roster-control-row{grid-template-columns:1fr}.roster-control-row>.right-section,.roster-control-actions{justify-self:start}}@media(max-width:680px){app-multi-select-filter,.filter-stack-end{align-items:flex-start}app-multi-select-filter{flex-direction:column;gap:0}}
