html{--mat-sys-background: #faf9fd;--mat-sys-error: #ba1a1a;--mat-sys-error-container: #ffdad6;--mat-sys-inverse-on-surface: #f2f0f4;--mat-sys-inverse-primary: #abc7ff;--mat-sys-inverse-surface: #2f3033;--mat-sys-on-background: #1a1b1f;--mat-sys-on-error: #ffffff;--mat-sys-on-error-container: #93000a;--mat-sys-on-primary: #ffffff;--mat-sys-on-primary-container: #00458f;--mat-sys-on-primary-fixed: #001b3f;--mat-sys-on-primary-fixed-variant: #00458f;--mat-sys-on-secondary: #ffffff;--mat-sys-on-secondary-container: #3e4759;--mat-sys-on-secondary-fixed: #131c2b;--mat-sys-on-secondary-fixed-variant: #3e4759;--mat-sys-on-surface: #1a1b1f;--mat-sys-on-surface-variant: #44474e;--mat-sys-on-tertiary: #ffffff;--mat-sys-on-tertiary-container: #0000ef;--mat-sys-on-tertiary-fixed: #00006e;--mat-sys-on-tertiary-fixed-variant: #0000ef;--mat-sys-outline: #74777f;--mat-sys-outline-variant: #c4c6d0;--mat-sys-primary: #005cbb;--mat-sys-primary-container: #d7e3ff;--mat-sys-primary-fixed: #d7e3ff;--mat-sys-primary-fixed-dim: #abc7ff;--mat-sys-scrim: #000000;--mat-sys-secondary: #565e71;--mat-sys-secondary-container: #dae2f9;--mat-sys-secondary-fixed: #dae2f9;--mat-sys-secondary-fixed-dim: #bec6dc;--mat-sys-shadow: #000000;--mat-sys-surface: #faf9fd;--mat-sys-surface-bright: #faf9fd;--mat-sys-surface-container: #efedf0;--mat-sys-surface-container-high: #e9e7eb;--mat-sys-surface-container-highest: #e3e2e6;--mat-sys-surface-container-low: #f4f3f6;--mat-sys-surface-container-lowest: #ffffff;--mat-sys-surface-dim: #dbd9dd;--mat-sys-surface-tint: #005cbb;--mat-sys-surface-variant: #e0e2ec;--mat-sys-tertiary: #343dff;--mat-sys-tertiary-container: #e0e0ff;--mat-sys-tertiary-fixed: #e0e0ff;--mat-sys-tertiary-fixed-dim: #bec2ff;--mat-sys-neutral-variant20: #2d3038;--mat-sys-neutral10: #1a1b1f;--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-page-max-width: 1380px;--app-page-padding-x: 1.6rem;--app-page-padding-y: 1.4rem;--app-shell-sidebar-width: 280px;--app-shell-sidebar-padding: 1.35rem 1rem;--app-toolbar-height: 70px;--app-toolbar-background: rgba(246, 250, 255, .82);--app-surface: rgba(255, 255, 255, .84);--app-surface-strong: rgba(255, 255, 255, .92);--app-surface-soft: #f7fafe;--app-border-color: rgba(17, 38, 71, .08);--app-shadow-sm: 0 10px 28px rgba(18, 44, 84, .08);--app-shadow-md: 0 18px 44px rgba(17, 47, 94, .12);--app-radius-panel: 24px;--app-radius-hero: 26px;--app-gradient-hero: linear-gradient(135deg, #0f4c81 0%, #1866a5 45%, #4aa0d8 100%);--app-gradient-shell: linear-gradient(180deg, #f7fbff 0%, #edf4fb 100%);--app-brand-strong: #163b67;--app-brand: #1c63a8;--app-brand-soft: #e9f2ff;--app-text: #172033;--app-text-muted: #657791;--app-hero-padding-y: 1.2rem;--app-hero-padding-x: 1.4rem;--app-hero-gap: .75rem;--app-hero-tag-padding-y: .3rem;--app-hero-tag-padding-x: .72rem;--app-hero-title-size: 1.76rem;--app-hero-title-margin-top: .45rem;--app-hero-title-margin-bottom: .28rem;--app-hero-copy-size: .84rem;--app-hero-copy-max-width: 46rem;--app-font-size-body: .93rem;--app-font-size-body-sm: .8rem;--app-font-size-overline: .72rem;--app-font-size-title-xl: 2.2rem;--app-font-size-title-lg: 1.58rem;--app-font-size-title-md: 1.2rem;--app-toolbar-title-size: .98rem;--app-toolbar-title-weight: 600;--app-toolbar-action-size: .92rem;--app-toolbar-action-weight: 600;--app-toolbar-letter-spacing: -.01em;--app-toolbar-padding-x: 1.1rem;--app-toolbar-gap: .85rem;--app-banner-padding-y: 1.2rem;--app-banner-padding-x: 1.4rem;--app-banner-gap: .95rem;--app-banner-min-height: 132px;--app-banner-title-size: 1.76rem;--app-banner-title-weight: 700;--app-banner-copy-size: .84rem;--app-banner-title-color: #173553;--app-banner-copy-color: #5f7593;--app-banner-tag-gap-bottom: .9rem;--app-banner-tag-letter-spacing: .12em;--app-line-height-body: 1.6;--app-line-height-tight: 1.18}html,body{min-height:100%}body{margin:0;font-family:Roboto,Helvetica Neue,sans-serif;font-size:var(--app-font-size-body);background:radial-gradient(circle at top left,rgba(41,85,234,.08),transparent 28%),radial-gradient(circle at top right,rgba(74,160,216,.12),transparent 34%),linear-gradient(180deg,#f5f8fd,#e9f0f9);color:var(--app-text)}*{box-sizing:border-box}.mat-drawer-container{background:transparent!important}.mat-drawer-content{background:transparent}.mat-toolbar{min-height:var(--app-toolbar-height)}.mat-toolbar[class*=toolbar]{font-family:inherit;color:var(--app-text);min-height:var(--app-toolbar-height);padding-inline:var(--app-toolbar-padding-x);gap:var(--app-toolbar-gap);align-items:center;flex-wrap:nowrap}.mat-toolbar[class*=toolbar]>span:first-child{font-size:var(--app-toolbar-title-size);font-weight:var(--app-toolbar-title-weight);letter-spacing:var(--app-toolbar-letter-spacing);color:#24364f}.mat-toolbar[class*=toolbar] .mat-mdc-button,.mat-toolbar[class*=toolbar] .mat-mdc-outlined-button,.mat-toolbar[class*=toolbar] .mat-mdc-unelevated-button,.mat-toolbar[class*=toolbar] .mat-mdc-raised-button,.mat-toolbar[class*=toolbar] .toolbar-switcher a[mat-stroked-button],.mat-toolbar[class*=toolbar] .toolbar-switcher button[mat-stroked-button],.mat-toolbar[class*=toolbar] .toolbar-tabs button,.mat-toolbar[class*=toolbar] .toolbar-actions button{font-family:inherit;font-size:var(--app-toolbar-action-size);font-weight:var(--app-toolbar-action-weight);letter-spacing:var(--app-toolbar-letter-spacing)}.mat-toolbar[class*=toolbar] .toolbar-switcher,.mat-toolbar[class*=toolbar] .toolbar-tabs,.mat-toolbar[class*=toolbar] .toolbar-actions{display:inline-flex;align-items:center;gap:.65rem;min-width:0}.mat-toolbar[class*=toolbar] .toolbar-switcher,.mat-toolbar[class*=toolbar] .toolbar-tabs{flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;-ms-overflow-style:none}.mat-toolbar[class*=toolbar] .toolbar-switcher::-webkit-scrollbar,.mat-toolbar[class*=toolbar] .toolbar-tabs::-webkit-scrollbar{display:none}.mat-toolbar[class*=toolbar] .toolbar-switcher>*,.mat-toolbar[class*=toolbar] .toolbar-tabs>*,.mat-toolbar[class*=toolbar] .toolbar-actions>*{flex:0 0 auto}.mat-toolbar[class*=toolbar] .toolbar-switcher :is(.mat-mdc-button-base),.mat-toolbar[class*=toolbar] .toolbar-tabs :is(.mat-mdc-button-base),.mat-toolbar[class*=toolbar] .toolbar-actions :is(.mat-mdc-button-base){white-space:nowrap}.student-toolbar,.student-toolbar__search,.student-toolbar__search input,.student-toolbar__profile,.student-toolbar__breadcrumbs,.student-toolbar__logout{font-family:inherit}.student-toolbar{min-height:var(--app-toolbar-height);padding-inline:2rem;gap:var(--app-toolbar-gap)}.student-toolbar__search,.student-toolbar__search input,.student-toolbar__profile,.student-toolbar__breadcrumbs,.student-toolbar__logout{font-size:var(--app-toolbar-action-size);font-weight:var(--app-toolbar-action-weight);letter-spacing:var(--app-toolbar-letter-spacing)}:is(.hero,.hero-box,.hero-card,.courses-hero,.subjects-hero,.teachers-hero){min-height:var(--app-banner-min-height);padding:var(--app-banner-padding-y) var(--app-banner-padding-x);gap:var(--app-banner-gap)}:is(.hero,.hero-box,.hero-card,.courses-hero,.subjects-hero,.teachers-hero) :is(.hero-head){gap:var(--app-banner-gap)}:is(.hero,.hero-box,.hero-card,.courses-hero,.subjects-hero,.teachers-hero) :is(.hero-tag){padding:var(--app-hero-tag-padding-y) var(--app-hero-tag-padding-x);margin-bottom:var(--app-banner-tag-gap-bottom);font-size:var(--app-font-size-overline);font-weight:700;letter-spacing:var(--app-banner-tag-letter-spacing)}:is(.hero,.hero-box,.hero-card,.courses-hero,.subjects-hero,.teachers-hero) :is(h1,.hero-copy h1){margin:var(--app-hero-title-margin-top) 0 var(--app-hero-title-margin-bottom);font-size:var(--app-banner-title-size);line-height:var(--app-line-height-tight);font-weight:var(--app-banner-title-weight)}:is(.hero,.hero-box,.hero-card,.courses-hero,.subjects-hero,.teachers-hero) :is(p,.hero-copy p){margin:0;max-width:var(--app-hero-copy-max-width);font-size:var(--app-banner-copy-size);line-height:var(--app-line-height-body)}:is(.overview-hero,.subject-hero,.page-heading){gap:var(--app-banner-gap)}:is(.overview-hero__copy,.subject-hero__copy,.page-heading__copy){max-width:var(--app-hero-copy-max-width)}:is(.overview-hero__copy h1,.subject-hero__copy h1,.page-heading__copy h1){margin:0;font-size:var(--app-banner-title-size);line-height:var(--app-line-height-tight);font-weight:var(--app-banner-title-weight);color:var(--app-banner-title-color)}:is(.overview-hero__copy p,.subject-hero__copy p,.page-heading__copy p){margin:0;max-width:var(--app-hero-copy-max-width);font-size:max(var(--app-banner-copy-size),.95rem);line-height:var(--app-line-height-body);color:var(--app-banner-copy-color)}.page-heading__eyebrow{margin-bottom:var(--app-banner-tag-gap-bottom);letter-spacing:var(--app-banner-tag-letter-spacing)}@media(max-width:900px){.student-toolbar{padding-inline:1.25rem}:is(.hero,.hero-box,.hero-card,.courses-hero,.subjects-hero,.teachers-hero){min-height:auto;padding:1rem}}@media(max-width:1200px){.mat-toolbar[class*=toolbar]{flex-wrap:wrap;align-items:stretch;row-gap:.65rem;padding-block:.75rem}.mat-toolbar[class*=toolbar] .toolbar-spacer{display:none}.mat-toolbar[class*=toolbar] .toolbar-switcher,.mat-toolbar[class*=toolbar] .toolbar-tabs,.mat-toolbar[class*=toolbar] .toolbar-actions{order:3;width:100%;justify-content:flex-start;padding-bottom:.1rem}.mat-toolbar[class*=toolbar]>.mat-mdc-button-base:last-child,.mat-toolbar[class*=toolbar]>button:last-child{margin-left:auto}}@media(max-width:768px){.mat-toolbar[class*=toolbar]{padding-inline:1rem}.mat-toolbar[class*=toolbar] .toolbar-switcher,.mat-toolbar[class*=toolbar] .toolbar-tabs,.mat-toolbar[class*=toolbar] .toolbar-actions{gap:.55rem}.mat-toolbar[class*=toolbar] .toolbar-actions{flex-wrap:wrap}}.mat-mdc-raised-button,.mat-mdc-unelevated-button,.mat-mdc-outlined-button{border-radius:14px!important}.mat-mdc-card{box-shadow:var(--app-shadow-sm);border-color:var(--app-border-color)!important}.mat-icon,.material-icons{font-family:Material Icons!important;font-weight:400;font-style:normal;font-size:24px;line-height:1;letter-spacing:normal;text-transform:none;display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-feature-settings:"liga"}.course-dialog-panel .mat-mdc-dialog-surface{border-radius:28px;overflow:hidden;box-shadow:0 24px 80px #132c5633}.course-dialog-panel .mat-mdc-dialog-content{max-height:calc(88vh - 170px)}.course-dialog-panel .mat-mdc-dialog-actions{min-height:72px}.activities-month-dialog-panel .mat-mdc-dialog-surface{border-radius:24px;overflow:hidden;box-shadow:0 24px 80px #132c562e}.activities-month-dialog-panel .month-detail-dialog{background:#fff}.activities-month-dialog-panel .month-detail-dialog__header{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:.85rem;padding:.8rem 1rem;border-bottom:1px solid #eef2f7}.activities-month-dialog-panel .month-detail-dialog__heading{display:flex;align-items:center;justify-content:flex-start}.activities-month-dialog-panel .month-detail-dialog__nav,.activities-month-dialog-panel .month-detail-dialog__actions{display:flex;align-items:center;gap:.45rem;justify-content:flex-end}.activities-month-dialog-panel .month-detail-dialog__eyebrow{display:inline-flex;padding:.45rem .8rem;border-radius:999px;background:#eff6ff;color:#2563eb;font-size:.64rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.activities-month-dialog-panel .month-detail-dialog__title{display:flex;align-items:center;justify-content:center;gap:.35rem;min-width:0}.activities-month-dialog-panel .month-detail-dialog__title strong{font-size:1.1rem;font-weight:800;color:#12233d}.activities-month-dialog-panel .month-detail-dialog__title .mat-icon{color:#12233d}.activities-month-dialog-panel .month-detail-dialog__calendar{max-height:calc(92vh - 84px);overflow:auto}.activities-month-dialog-panel .month-detail-dialog__calendar .weekdays-row{padding:.5rem .7rem;font-size:.72rem}.activities-month-dialog-panel .month-detail-dialog__calendar .calendar-day{min-height:112px;padding:.38rem .42rem}.activities-month-dialog-panel .month-detail-dialog__calendar .activity-pill{cursor:pointer;padding:.24rem .34rem;border-radius:7px}.activities-month-dialog-panel .month-detail-dialog__calendar .activity-pill strong{font-size:.68rem;line-height:1.14}.activities-month-dialog-panel .month-detail-dialog__calendar .activity-pill span{font-size:.6rem}.activities-month-dialog-panel .month-detail-dialog__calendar .day-number{font-size:.92rem}@media(max-width:900px){.activities-month-dialog-panel .month-detail-dialog__header{grid-template-columns:1fr;justify-items:stretch}.activities-month-dialog-panel .month-detail-dialog__title{justify-content:flex-start}.activities-month-dialog-panel .month-detail-dialog__actions{justify-content:flex-end}}.activities-page .activity-sidebar__detail{height:44px;min-width:46px;padding-inline:1rem;border-radius:14px;font-size:.76rem;font-weight:700;color:#7c3aed;border-color:#7c3aed47;background:#fff}.activities-page .activity-sidebar__detail .mat-icon{color:#7c3aed;margin-right:.2rem}.activities-page .activity-sidebar__detail:hover{background:#faf5ff;border-color:#7c3aed57}.activities-page .activity-sidebar__add{width:44px;height:44px;min-width:44px;padding:0;border-radius:14px;background:#2563eb;color:#fff;display:grid;place-items:center}.activities-page .activity-sidebar__add .mat-icon{width:20px;height:20px;font-size:20px;margin:0}.activities-page .activity-sidebar__list{display:grid;gap:.7rem;padding:.6rem;max-height:355px;overflow-y:auto}.activities-page .activity-empty{display:grid;grid-template-columns:28px 1fr;align-items:center;column-gap:.65rem;row-gap:.12rem;padding:1.1rem .2rem .35rem;text-align:left;color:#64748b}.activities-page .activity-empty .mat-icon{grid-column:1;grid-row:1/span 2;width:28px;height:28px;font-size:28px;color:#475569;flex-shrink:0}.activities-page .activity-empty strong{grid-column:2;color:#1e293b;font-size:.8rem;font-weight:800;line-height:1.2}.activities-page .activity-empty span{grid-column:2;font-size:.76rem;color:#64748b;line-height:1.2}
