:root{--ds-spacing-half: 2px;--ds-spacing-1: 4px;--ds-spacing-1-5: 6px;--ds-spacing-2: 8px;--ds-spacing-3: 12px;--ds-spacing-4: 16px;--ds-spacing-5: 20px;--ds-spacing-6: 24px;--ds-spacing-8: 32px;--ds-spacing-10: 40px;--ds-spacing-12: 48px;--ds-spacing-16: 64px;--ds-spacing-20: 80px;--ds-spacing-24: 96px;--ds-radius-sm: 4px;--ds-radius-md: 8px;--ds-radius-lg: 12px;--ds-radius-xl: 16px;--ds-radius-full: 9999px;--ds-page-inline-padding: var(--ds-spacing-4);--ds-page-block-padding: var(--ds-spacing-16);--ds-card-padding: var(--ds-spacing-6);--ds-section-gap: var(--ds-spacing-8);--ds-content-max-width: 960px;--ds-max-width-narrow: 400px;--ds-page-background: #f5f5f5;--ds-size-step-indicator: 28px;--ds-size-filter-select: 150px;--ds-size-form-select: 200px;--ds-size-form-select-wide: 240px;--ds-form-field-dense-height: 36px;--ds-focus-width: 2px;--ds-focus-offset: 2px;--ds-color-success: #19a185;--ds-color-success-container: #d8f4ed;--ds-color-on-success: #ffffff;--ds-color-info: #d18519;--ds-color-info-container: #fcefd8;--ds-color-on-info: #ffffff;--ds-color-error: #d32f2f;--ds-color-error-container: #fce4ec;--ds-color-on-error: #ffffff;--ds-chip-primary: #6232c9;--ds-chip-primary-container: #eae0fc;--ds-chip-info: #d18519;--ds-chip-info-container: #fcefd8;--ds-chip-warning: #b54708;--ds-chip-warning-container: #fef0c7;--ds-shadow-sm: 0 2px 4px rgb(0 0 0 / .1);--ds-landing-bg-start: #0a3d35;--ds-landing-bg-mid: #061f1b;--ds-landing-bg-end: #031210;--ds-landing-text-muted: rgba(255, 255, 255, .9);--ds-landing-border-muted: rgba(255, 255, 255, .5);--ds-landing-footer-text: #9991a6;--ds-landing-footer-divider: #1a3d35;--ds-landing-logo-accent: #f5c73d;--ds-landing-glow: rgba(0, 107, 94, .15);--ds-landing-feature-dashboard: #006b5e;--ds-landing-feature-students: #008676;--ds-landing-feature-school: #00a28f;--ds-landing-feature-analytics: #e37100;--ds-landing-screenshot-shadow: 0 20px 60px -8px rgba(0, 0, 0, .12), 0 4px 24px -4px rgba(0, 0, 0, .08);--ds-letter-spacing-wide: .06em;--ds-duration-fast: .15s;--ds-duration-normal: .25s;--ds-duration-slow: .4s;--ds-easing-standard: cubic-bezier(.4, 0, .2, 1);--ds-easing-decelerate: cubic-bezier(0, 0, .2, 1)}.ds-table-card{background:var(--mat-sys-surface);border:1px solid var(--mat-sys-outline-variant);border-radius:var(--ds-radius-lg);overflow:hidden}.ds-page-toolbar{display:flex;align-items:stretch;justify-content:space-between;gap:var(--ds-spacing-4);border-bottom:1px solid var(--mat-sys-outline-variant)}.ds-page-toolbar__actions{display:flex;align-items:center;gap:var(--ds-spacing-2);padding-bottom:var(--ds-spacing-2)}.ds-page-toolbar__tabs.mat-mdc-tab-nav-bar.mat-mdc-tab-nav-bar-stretch-tabs .mat-mdc-tab-links{flex-grow:0}.ds-page-toolbar__tabs.mat-mdc-tab-nav-bar.mat-mdc-tab-nav-bar-stretch-tabs .mat-mdc-tab-link.mdc-tab{flex-grow:0;min-width:0;padding:0 var(--ds-spacing-4);font:var(--mat-sys-label-large);text-transform:none;letter-spacing:normal}.ds-tab-label{font-weight:500}.ds-tab-count{margin-left:var(--ds-spacing-2);padding:0 var(--ds-spacing-2);border-radius:var(--ds-radius-md);background:var(--mat-sys-surface-container-high);color:var(--mat-sys-on-surface-variant);font:var(--mat-sys-label-small);font-weight:600}.ds-filter-bar{display:flex;align-items:center;gap:var(--ds-spacing-3)}.ds-filter-bar .mat-mdc-form-field{--mat-form-field-container-height: 40px;--mat-form-field-container-vertical-padding: 8px;--mdc-outlined-text-field-input-text-size: var(--mat-sys-body-medium-size);--mdc-outlined-text-field-outline-color: var(--mat-sys-outline-variant)}.ds-filter-search{flex:1}.ds-table-card table{table-layout:fixed;width:100%}.ds-table-card .mat-mdc-header-row{height:44px;border-bottom-color:var(--mat-sys-outline-variant);background:var(--mat-sys-surface)}.ds-table-card .mat-mdc-header-cell{font:var(--mat-sys-label-large);font-weight:500;color:var(--mat-sys-on-surface)}.ds-table-card .mat-mdc-row{height:48px;border-bottom-color:var(--mat-sys-outline-variant)}.ds-table-card .mat-mdc-cell{font:var(--mat-sys-body-medium);color:var(--mat-sys-on-surface)}.ds-table-card .clickable-row,.clickable-row{cursor:pointer}.ds-cell-primary{font:var(--mat-sys-body-medium);color:var(--mat-sys-on-surface)}.ds-cell-secondary{font:var(--mat-sys-body-small);color:var(--mat-sys-on-surface-variant);margin-top:var(--ds-spacing-half)}.ds-table-footer{padding:var(--ds-spacing-3) var(--ds-card-padding);font:var(--mat-sys-body-small);color:var(--mat-sys-on-surface-variant);border-top:1px solid var(--mat-sys-outline-variant)}.ds-chip{display:inline-flex;align-items:center;padding:var(--ds-spacing-1) var(--ds-spacing-3);border-radius:var(--ds-radius-md);font:var(--mat-sys-label-medium)}.ds-chip__dot{width:var(--ds-spacing-2);height:var(--ds-spacing-2);border-radius:var(--ds-radius-full);background:currentColor;margin-right:var(--ds-spacing-2);display:inline-block}.ds-chip-success{background:var(--ds-color-success-container);color:var(--ds-color-success)}.ds-chip-primary{background:var(--ds-chip-primary-container);color:var(--ds-chip-primary)}.ds-chip-info{background:var(--ds-chip-info-container);color:var(--ds-chip-info)}.ds-chip-warning{background:var(--ds-chip-warning-container);color:var(--ds-chip-warning)}.ds-chip-default{background:var(--mat-sys-surface-variant);color:var(--mat-sys-on-surface-variant)}html{height:100%;--mat-sys-background: light-dark(#f7faf9, #111414);--mat-sys-error: light-dark(#ba1a1a, #ffb4ab);--mat-sys-error-container: light-dark(#ffdad6, #93000a);--mat-sys-inverse-on-surface: light-dark(#eff1f0, #2e3130);--mat-sys-inverse-primary: light-dark(#3edbc3, #006b5e);--mat-sys-inverse-surface: light-dark(#2e3130, #e1e3e2);--mat-sys-on-background: light-dark(#191c1b, #e1e3e2);--mat-sys-on-error: light-dark(#ffffff, #690005);--mat-sys-on-error-container: light-dark(#93000a, #ffdad6);--mat-sys-on-primary: light-dark(#ffffff, #003731);--mat-sys-on-primary-container: light-dark(#005047, #72f7de);--mat-sys-on-primary-fixed: light-dark(#00201c, #00201c);--mat-sys-on-primary-fixed-variant: light-dark(#005047, #005047);--mat-sys-on-secondary: light-dark(#ffffff, #213530);--mat-sys-on-secondary-container: light-dark(#384c46, #d2e9e1);--mat-sys-on-secondary-fixed: light-dark(#0c1f1b, #0c1f1b);--mat-sys-on-secondary-fixed-variant: light-dark(#384c46, #384c46);--mat-sys-on-surface: light-dark(#191c1b, #e1e3e2);--mat-sys-on-surface-variant: light-dark(#3f4946, #dbe6e2);--mat-sys-on-tertiary: light-dark(#ffffff, #502400);--mat-sys-on-tertiary-container: light-dark(#723600, #ffdcc7);--mat-sys-on-tertiary-fixed: light-dark(#311300, #311300);--mat-sys-on-tertiary-fixed-variant: light-dark(#723600, #723600);--mat-sys-outline: light-dark(#6f7a77, #899490);--mat-sys-outline-variant: light-dark(#bfcac6, #3f4946);--mat-sys-primary: light-dark(#006b5e, #3edbc3);--mat-sys-primary-container: light-dark(#72f7de, #005047);--mat-sys-primary-fixed: light-dark(#72f7de, #72f7de);--mat-sys-primary-fixed-dim: light-dark(#3edbc3, #3edbc3);--mat-sys-scrim: light-dark(#000000, #000000);--mat-sys-secondary: light-dark(#4f645e, #b6cdc5);--mat-sys-secondary-container: light-dark(#d2e9e1, #384c46);--mat-sys-secondary-fixed: light-dark(#d2e9e1, #d2e9e1);--mat-sys-secondary-fixed-dim: light-dark(#b6cdc5, #b6cdc5);--mat-sys-shadow: light-dark(#000000, #000000);--mat-sys-surface: light-dark(#f7faf9, #111414);--mat-sys-surface-bright: light-dark(#f7faf9, #383b3a);--mat-sys-surface-container: light-dark(#ecefed, #1d201f);--mat-sys-surface-container-high: light-dark(#e7e9e8, #282b2a);--mat-sys-surface-container-highest: light-dark(#e1e3e2, #333635);--mat-sys-surface-container-low: light-dark(#f2f5f3, #191c1b);--mat-sys-surface-container-lowest: light-dark(#ffffff, #0b0f0e);--mat-sys-surface-dim: light-dark(#d8dbd9, #111414);--mat-sys-surface-tint: light-dark(#006b5e, #3edbc3);--mat-sys-surface-variant: light-dark(#dbe6e2, #3f4946);--mat-sys-tertiary: light-dark(#964900, #ffb787);--mat-sys-tertiary-container: light-dark(#ffdcc7, #723600);--mat-sys-tertiary-fixed: light-dark(#ffdcc7, #ffdcc7);--mat-sys-tertiary-fixed-dim: light-dark(#ffb787, #ffb787);--mat-sys-neutral-variant20: #293230;--mat-sys-neutral10: #191c1b;--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}body{color-scheme:light;background-color:var(--mat-sys-surface);color:var(--mat-sys-on-surface);font:var(--mat-sys-body-medium);margin:0;height:100%}.field-help-tooltip .mdc-tooltip__surface{max-width:280px}.snackbar-error .mdc-snackbar__surface{background:var(--ds-color-error)!important;color:var(--ds-color-on-error)!important}.snackbar-error .mdc-snackbar__surface .mat-mdc-button{color:var(--ds-color-on-error)!important}.snackbar-success .mdc-snackbar__surface{background:var(--ds-color-success)!important;color:var(--ds-color-on-success)!important}.snackbar-success .mdc-snackbar__surface .mat-mdc-button{color:var(--ds-color-on-success)!important}
