@charset "UTF-8";@font-face{font-family:Montserrat;font-style:normal;font-weight:300 800;font-display:swap;src:url(/fonts/montserrat-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Montserrat;font-style:normal;font-weight:300 800;font-display:swap;src:url(/fonts/montserrat-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Material Icons;font-style:normal;font-weight:400;font-display:block;src:url(/fonts/material-icons.woff2) format("woff2")}.material-icons{font-family:Material Icons;font-weight:400;font-style:normal;font-size:24px;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-feature-settings:"liga";-webkit-font-smoothing:antialiased}:root{--typo-family-primary: "Montserrat", sans-serif;--typo-family-secondary: "Poppins", sans-serif;--font-xsm: clamp(10px, 1.2rem, 1.2rem);--font-sm: clamp(12px, 1.4rem, 1.4rem);--font-md: 1.6rem;--font-lg: 2rem;--font-xl: 2.4rem;--font-2xl: 2.8rem;--font-3xl: 4.2rem;--font-4xl: 6.2rem;--p-navy: #213555;--p-slate: #3e5879;--p-beige: #d8c4b6;--p-ivory: #f5efe7;--color-bg: #f8f7f4;--color-surface: #ffffff;--color-surface-2: #f6f2ec;--color-border: rgba(33, 53, 85, .274);--color-border-subtle: rgba(33, 53, 85, .05);--color-text: color-mix(in srgb, var(--p-navy) 92%, black 8%);--color-text-muted: color-mix(in srgb, var(--p-navy) 55%, black 35%);--color-text-on-dark: var(--p-ivory);--color-primary: var(--p-navy);--color-primary-contrast: var(--p-ivory);--color-primary-hover: color-mix(in srgb, var(--p-navy) 90%, white 10%);--color-primary-active: color-mix(in srgb, var(--p-navy) 82%, black 18%);--color-secondary: var(--p-slate);--color-secondary-contrast: var(--p-ivory);--color-secondary-hover: color-mix(in srgb, var(--p-slate) 90%, white 10%);--color-secondary-active: color-mix(in srgb, var(--p-slate) 82%, black 18%);--color-accent: var(--p-beige);--color-accent-contrast: var(--p-navy);--color-accent-soft: color-mix(in srgb, var(--p-beige) 35%, var(--p-ivory) 65%);--color-link: var(--p-slate);--color-link-hover: var(--p-navy);--color-focus: color-mix(in srgb, var(--p-slate) 55%, white 45%);--color-disabled: color-mix(in srgb, var(--p-navy) 25%, var(--p-ivory) 75%);--color-disabled-contrast: color-mix(in srgb, var(--p-navy) 45%, var(--p-ivory) 55%);--color-success: #4f6f52;--color-success-contrast: #f5efe7;--color-success-hover: #3f5b41;--color-success-bg: #e6efe7;--color-warning: #ad8d5a;--color-warning-contrast: #2b4163;--color-warning-hover: #a37f48;--color-warning-bg: #ecdec8;--color-danger: #8b3a3a;--color-danger-contrast: #f5efe7;--color-danger-hover: #722f2f;--color-danger-bg: #f1e2e2;--color-info: #3e7a8c;--color-info-contrast: #f5efe7;--color-info-hover: #2f5e6d;--color-info-bg: #dfeaee;--color-purple: #6f4a82;--color-purple-contrast: #f5efe7;--color-purple-hover: #573766;--color-purple-bg: #ebe1f0;--color-teal: #3d7d76;--color-teal-contrast: #f5efe7;--color-teal-hover: #2e615b;--color-teal-bg: #dceae8;--color-orange: #b3623c;--color-orange-contrast: #f5efe7;--color-orange-hover: #8d4d2f;--color-orange-bg: #f3dccf;--color-highlight: #d92027;--color-highlight-contrast: #f5efe7;--color-highlight-bg: #fbe1e2;--color-primary-rgb: 33, 53, 85;--color-success-rgb: 79, 111, 82;--color-warning-rgb: 176, 137, 74;--color-danger-rgb: 139, 58, 58;--color-info-rgb: 62, 122, 140;--color-purple-rgb: 111, 74, 130;--color-teal-rgb: 61, 125, 118;--color-orange-rgb: 179, 98, 60;--color-highlight-rgb: 217, 32, 39;--color-error: var(--color-danger);--color-error-light: var(--color-danger-bg);--color-font: #111111;--color-font-tint: #11111199;--shadow-xs: 0 1px 2px rgba(0, 0, 0, .04);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .06), 0 1px 2px rgba(0, 0, 0, .04);--shadow-md: 0 4px 12px rgba(0, 0, 0, .08);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .12);--spacing-xs: .4rem;--spacing-sm: .8rem;--spacing-md: 1.6rem;--spacing-lg: 2.4rem;--spacing-xl: 3.2rem;--spacing-2xl: 4.8rem;--overlay-light: rgba(0, 0, 0, .4);--overlay-medium: rgba(0, 0, 0, .6);--overlay-heavy: rgba(0, 0, 0, .85);--radius-xs: 3px;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 16px;--radius-xl: 24px;--radius-pill: 100px;--typo-size-xs: 1.2rem;--typo-size-sm: 1.4rem;--typo-size-md: 1.6rem;--typo-size-lg: 2rem;--typo-size-xl: 2.4rem}html{box-sizing:border-box;color:var(--color-font)}:root{font-size:10px}body{position:relative;height:100vh;height:100dvh;max-height:100vh;max-height:100dvh;overflow-x:hidden;font-family:var(--typo-family-primary);background-color:var(--ls-color-bg-1);font-size:1.6rem}*,*:before,*:after{box-sizing:border-box}body,h1,h2,h3,h4,h5,h6,p,ol,ul{margin:0;padding:0}ol,ul{list-style:none}img{max-width:100%}a{color:inherit;text-decoration:none}h1,h2,h3,h4,h5,h6{font-weight:700;letter-spacing:.03em}h1{font-size:var(--font-4xl);line-height:1.28em}h2{font-size:var(--font-3xl)}h3{font-size:var(--font-2xl);line-height:1.34em}h4{font-size:var(--font-xl)}h5{font-size:var(--font-lg)}h6{font-size:var(--font-xsm)}input{font-size:1.6rem}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-thumb{background:#d9d9d9;border-radius:10px}@media screen and (max-width:767.98px){:root{font-size:9px}}@media screen and (max-width:575.98px){:root{font-size:8px}}.btn{all:unset;box-sizing:border-box;cursor:pointer;font-size:var(font-md);flex-shrink:0;border:none;border-radius:50px;font-weight:500;display:flex;align-items:center;justify-content:center;transition:filter .3s}@media(min-width:768px){.btn.w-xsm{min-width:110px}.btn.w-sm{min-width:19rem}.btn.w-md{min-width:22rem}.btn.w-lg{min-width:25.4rem}}.btn.h-sm{padding:.6rem 2rem;border-radius:40px;min-height:36px}.btn.h-md{padding:.6rem 2rem;border-radius:40px;min-height:4.2rem}.btn.h-lg{padding:1.7rem 3.7rem;min-height:5.8rem}@media screen and (max-width:575.98px){.btn.h-sm,.btn.h-md{padding:.6rem 1rem}.btn.h-lg{padding:1.7rem 2.2rem}}.btn:hover:not(:disabled){filter:brightness(1.07)}.btn span[inlinesvg]{display:flex;align-items:center;padding-right:.5rem}.btn:disabled{background-color:var(color-medium)!important;cursor:default}button.basic{background-color:var(--ls-color-bg-2);color:var(color-secondary-contrast);border:1px solid var(color-secondary-contrast)}button.basic:hover{color:#fff;background-color:var(color-secondary-contrast)}button.primary{background-color:var(color-primary);color:var(color-primary-contrast)}button.secondary{background-color:var(color-secondary);color:var(color-secondary-contrast)}button.secondary.light{color:#fff}button.fab{display:flex;align-items:center;justify-content:center;border-radius:50%!important;padding:0!important;width:67px;height:67px}button.fab.sm{width:32px;height:32px}button.fab span{display:flex;align-items:center;justify-content:center;padding:0}.underline{cursor:pointer}.underline.primary{color:var(color-primary);text-decoration:underline}.underline.primary:hover{filter:brightness(1.2)}.underline.basic{text-underline-offset:1rem}.underline.basic:hover{text-decoration:underline}.no-select{-webkit-user-select:none;user-select:none}.hover-shadow{position:relative;transition:box-shadow .2s ease-in-out,top .2s ease-in-out;top:0;box-shadow:0 4px 4px #00000040}.hover-shadow:hover{top:-3px;box-shadow:0 10px 20px #0003}.color-label{border-radius:50px;margin-right:6px;font-size:14px;padding:6px 14px;word-break:keep-all;white-space:nowrap;font-weight:700}.color-label [inlinesvg]{display:flex}.color-label.primary{color:var(color-primary);background-color:var(color-primary-tint)}.color-label.grey{background-color:var(color-medium)}.color-label.green{background-color:#e6faf1;color:var(--ls-color-pronunciation)}.color-label.orange{background-color:#fff3e8;color:var(--ls-color-grammar)}.color-label.blue{background-color:#edf5ff;color:var(--ls-color-vocabulary)}.color-label.pink{background-color:#ffeef6;color:var(--ls-color-exam)}.color-label.red{background-color:#f9e7e7;color:var(--ls-color-reading)}.error{color:var(color-danger);font-weight:500}.grecaptcha-badge{visibility:hidden}input[type=text]:not(.mat-mdc-input-element){border-radius:50px;border:1px solid transparent;transition:border .3s;padding:1.7rem 2.8rem;background-color:var(color-medium);outline:var(color-border-1);font-weight:500}input[type=text]:not(.mat-mdc-input-element):hover{border-color:var(color-border-1)}input[type=text]:not(.mat-mdc-input-element):active,input[type=text]:not(.mat-mdc-input-element):focus{border-color:var(color-dark-border-1)}input[type=text]:not(.mat-mdc-input-element).error{border-color:var(color-danger);color:var(color-danger);background-color:var(color-danger-tint)}.page-container{position:relative;display:flex;flex-direction:column;align-items:flex-start;margin-top:4.2rem;left:50%;transform:translate(-50%)}.page-container.sm{width:min(95%,600px)}.page-container.lg{width:min(95%,740px)}.spinner-container.p-absolute{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:1}.spinner-container .mat-spinner.primary circle{stroke:var(color-primary)}.spinner-container.p-fixed{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);z-index:1000}textarea.regular{border-radius:16px;background-color:var(color-medium);resize:none;padding:1rem 1.5rem;font-size:16px}textarea.regular :active{border:1px solid var(color-dark-border-1)}.flex{display:flex}.flex-column{display:flex;flex-direction:column}.flex-center{display:flex;justify-content:center;align-items:center}.flex-between{display:flex;justify-content:space-between;align-items:center}.flex-wrap{flex-wrap:wrap}.flex-1{flex:1}.m-0{margin:0!important}.mt-1{margin-top:var(--spacing-xs)!important}.mt-2{margin-top:var(--spacing-sm)!important}.mt-3{margin-top:var(--spacing-md)!important}.mt-4{margin-top:var(--spacing-lg)!important}.mb-1{margin-bottom:var(--spacing-xs)!important}.mb-2{margin-bottom:var(--spacing-sm)!important}.mb-3{margin-bottom:var(--spacing-md)!important}.mb-4{margin-bottom:var(--spacing-lg)!important}.p-0{padding:0!important}.p-1{padding:var(--spacing-xs)!important}.p-2{padding:var(--spacing-sm)!important}.p-3{padding:var(--spacing-md)!important}.p-4{padding:var(--spacing-lg)!important}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.text-primary{color:var(--color-primary)}.text-secondary{color:var(--color-font-secondary)}.d-none{display:none}.d-block{display:block}.d-inline-block{display:inline-block}.w-100{width:100%}.h-100{height:100%}.position-relative{position:relative}.position-absolute{position:absolute}.shadow-sm{box-shadow:var(--shadow-sm)}.shadow-md{box-shadow:var(--shadow-md)}.shadow-lg{box-shadow:var(--shadow-lg)}.rounded-sm{border-radius:var(--radius-sm)}.rounded-md{border-radius:var(--radius-md)}.rounded-lg{border-radius:var(--radius-lg)}.rounded-full{border-radius:50%}.empty-state{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-md);padding:var(--spacing-2xl);color:var(--color-text-muted);text-align:center}.empty-state__icon{font-size:3rem;width:3rem;height:3rem}.empty-state__title{font-size:var(--typo-size-md);font-weight:600;margin:0;color:var(--color-text)}.empty-state__message{font-size:var(--typo-size-sm);margin:0}.icon-lg{font-size:3rem!important;width:3rem!important;height:3rem!important}.svg-icon{width:1em;height:1em;fill:currentColor}.surface-card{background-color:var(--color-surface);border:1px solid var(--color-border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.icon-badge{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:5.6rem;height:5.6rem;border-radius:50%;background-color:var(--color-accent-soft);color:var(--color-primary);font-size:var(--font-xl)}.cms-content h2{font-size:var(--font-2xl);margin-bottom:2rem}.cms-content h3{font-size:var(--font-lg);margin:3.2rem 0 1.2rem;padding-top:2.4rem;border-top:1px solid var(--color-border-subtle)}.cms-content p{margin-bottom:1.2rem}.cms-content .lead{font-size:var(--font-lg);color:var(--color-secondary);margin-bottom:2rem}.cms-content ul,.cms-content ol{margin:0 0 1.2rem 2rem;list-style:disc}.cms-content ol{list-style:decimal}.cms-content li{margin-bottom:.8rem}.cms-content a{color:var(--color-link);text-decoration:underline}.cms-content a:hover{color:var(--color-link-hover)}.gradient-panel{background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-secondary) 100%);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:4.8rem 4rem;color:var(--color-text-on-dark)}@media screen and (max-width:575.98px){.gradient-panel{padding:3.2rem 2.4rem}}.gradient-panel__title{font-size:var(--font-2xl);color:var(--color-text-on-dark);text-align:center;margin-bottom:.8rem}.gradient-panel__title:after{content:"";display:block;width:6.4rem;height:.4rem;border-radius:var(--radius-pill);background-color:var(--color-accent);margin:1.6rem auto 3.2rem}.gradient-panel__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(24rem,1fr));gap:2.4rem}.gradient-feature{text-align:center;padding:3.2rem 2.4rem;border-radius:var(--radius-md);background-color:#ffffff14;border:1px solid rgba(255,255,255,.15);transition:background-color .2s ease,transform .2s ease}.gradient-feature:hover{background-color:#ffffff24;transform:translateY(-.2rem)}.gradient-feature__icon{background-color:var(--color-accent);color:var(--color-accent-contrast);font-size:var(--font-lg);margin-bottom:1.6rem}.gradient-feature__title{font-size:var(--font-lg);color:var(--color-text-on-dark);margin-bottom:.8rem}.gradient-feature__text{font-size:var(--font-sm);color:var(--color-text-on-dark);opacity:.85}.gradient-panel__button{display:inline-flex;align-items:center;gap:.8rem;padding:1.2rem 2.8rem;border-radius:var(--radius-pill);background-color:var(--color-accent);color:var(--color-accent-contrast);font-weight:600;text-decoration:none;transition:filter .2s ease}.gradient-panel__button:hover{filter:brightness(1.05)}.gradient-panel__button:focus-visible{outline:.3rem solid var(--color-focus);outline-offset:.2rem}.svg-sprite{display:none}.form-submit{align-self:flex-start;display:inline-flex;align-items:center;gap:var(--spacing-sm);background-color:var(--color-primary);color:var(--color-text-on-dark);border:none;border-radius:var(--radius-md);padding:1.2rem 3.2rem;font-size:var(--font-md);font-weight:600;font-family:inherit;cursor:pointer;transition:filter .3s}.form-submit:hover:not(:disabled){filter:brightness(1.1)}.form-submit:disabled{opacity:.5;cursor:default}.form-spinner{display:inline-block;width:1.6rem;height:1.6rem;border-radius:50%;border:2px solid currentColor;border-top-color:transparent;animation:form-spin .8s linear infinite}@keyframes form-spin{to{transform:rotate(360deg)}}@media screen and (max-width:576px){.dialog-primary{max-width:90vw!important}.dialog-primary .mat-mdc-dialog-container{max-height:100vh}}.primary-btn{background-color:var(--color-primary)!important;color:var(--color-primary-contrast)!important}.primary-btn:hover:not(:disabled){background-color:var(--color-secondary)!important}.primary-btn:disabled{opacity:.5}.primary-btn--outline{border-color:var(--color-primary)!important;color:var(--color-primary)!important}.primary-btn--outline:hover:not(:disabled){background-color:#2135550f!important}html{--mat-sys-background: light-dark(, );--mat-sys-error: light-dark(, );--mat-sys-error-container: light-dark(, );--mat-sys-inverse-on-surface: light-dark(, );--mat-sys-inverse-primary: light-dark(, );--mat-sys-inverse-surface: light-dark(, );--mat-sys-on-background: light-dark(, );--mat-sys-on-error: light-dark(, );--mat-sys-on-error-container: light-dark(, );--mat-sys-on-primary: light-dark(#c8cdd6, );--mat-sys-on-primary-container: light-dark(, );--mat-sys-on-primary-fixed: light-dark(, );--mat-sys-on-primary-fixed-variant: light-dark(, );--mat-sys-on-secondary: light-dark(, );--mat-sys-on-secondary-container: light-dark(, );--mat-sys-on-secondary-fixed: light-dark(, );--mat-sys-on-secondary-fixed-variant: light-dark(, );--mat-sys-on-surface: light-dark(, );--mat-sys-on-surface-variant: light-dark(, );--mat-sys-on-tertiary: light-dark(#f2ede9, );--mat-sys-on-tertiary-container: light-dark(, );--mat-sys-on-tertiary-fixed: light-dark(, );--mat-sys-on-tertiary-fixed-variant: light-dark(, );--mat-sys-outline: light-dark(, );--mat-sys-outline-variant: light-dark(, );--mat-sys-primary: light-dark(, );--mat-sys-primary-container: light-dark(, );--mat-sys-primary-fixed: light-dark(, );--mat-sys-primary-fixed-dim: light-dark(, );--mat-sys-scrim: light-dark(, );--mat-sys-secondary: light-dark(, );--mat-sys-secondary-container: light-dark(, );--mat-sys-secondary-fixed: light-dark(, );--mat-sys-secondary-fixed-dim: light-dark(, );--mat-sys-shadow: light-dark(, );--mat-sys-surface: light-dark(, );--mat-sys-surface-bright: light-dark(, );--mat-sys-surface-container: light-dark(, );--mat-sys-surface-container-high: light-dark(, );--mat-sys-surface-container-highest: light-dark(, );--mat-sys-surface-container-low: light-dark(, );--mat-sys-surface-container-lowest: light-dark(, );--mat-sys-surface-dim: light-dark(, );--mat-sys-surface-tint: light-dark(, );--mat-sys-surface-variant: light-dark(, );--mat-sys-tertiary: light-dark(, );--mat-sys-tertiary-container: light-dark(, );--mat-sys-tertiary-fixed: light-dark(, );--mat-sys-tertiary-fixed-dim: light-dark(, );--mat-sys-neutral-variant20: ;--mat-sys-neutral10: ;--mat-sys-level0: 0px 0px 0px 0px , 0px 0px 0px 0px , 0px 0px 0px 0px ;--mat-sys-level1: 0px 2px 1px -1px , 0px 1px 1px 0px , 0px 1px 3px 0px ;--mat-sys-level2: 0px 3px 3px -2px , 0px 3px 4px 0px , 0px 1px 8px 0px ;--mat-sys-level3: 0px 3px 5px -1px , 0px 6px 10px 0px , 0px 1px 18px 0px ;--mat-sys-level4: 0px 5px 5px -3px , 0px 8px 10px 1px , 0px 3px 14px 2px ;--mat-sys-level5: 0px 7px 8px -4px , 0px 12px 17px 2px , 0px 5px 22px 4px ;--mat-sys-body-large: 400 1rem / 1.5rem Montserrat, sans-serif;--mat-sys-body-large-font: Montserrat, sans-serif;--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 Montserrat, sans-serif;--mat-sys-body-medium-font: Montserrat, sans-serif;--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 Montserrat, sans-serif;--mat-sys-body-small-font: Montserrat, sans-serif;--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 Montserrat, sans-serif;--mat-sys-display-large-font: Montserrat, sans-serif;--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 Montserrat, sans-serif;--mat-sys-display-medium-font: Montserrat, sans-serif;--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 Montserrat, sans-serif;--mat-sys-display-small-font: Montserrat, sans-serif;--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 Montserrat, sans-serif;--mat-sys-headline-large-font: Montserrat, sans-serif;--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 Montserrat, sans-serif;--mat-sys-headline-medium-font: Montserrat, sans-serif;--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 Montserrat, sans-serif;--mat-sys-headline-small-font: Montserrat, sans-serif;--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 Montserrat, sans-serif;--mat-sys-label-large-font: Montserrat, sans-serif;--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 Montserrat, sans-serif;--mat-sys-label-medium-font: Montserrat, sans-serif;--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 Montserrat, sans-serif;--mat-sys-label-small-font: Montserrat, sans-serif;--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 Montserrat, sans-serif;--mat-sys-title-large-font: Montserrat, sans-serif;--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 Montserrat, sans-serif;--mat-sys-title-medium-font: Montserrat, sans-serif;--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 Montserrat, sans-serif;--mat-sys-title-small-font: Montserrat, sans-serif;--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;--mat-sys-display-large-size: 5.7rem;--mat-sys-display-medium-size: 4.5rem;--mat-sys-display-small-size: 3.6rem;--mat-sys-headline-large-size: 3.2rem;--mat-sys-headline-medium-size: 2.8rem;--mat-sys-headline-small-size: 2.4rem;--mat-sys-title-large-size: 2.2rem;--mat-sys-title-medium-size: 1.6rem;--mat-sys-title-small-size: 1.4rem;--mat-sys-body-large-size: 1.6rem;--mat-sys-body-medium-size: 1.4rem;--mat-sys-body-small-size: 1.2rem;--mat-sys-label-large-size: 1.4rem;--mat-sys-label-medium-size: 1.2rem;--mat-sys-label-small-size: 1.1rem;--mat-sys-display-large-line-height: 6.4rem;--mat-sys-display-medium-line-height: 5.2rem;--mat-sys-display-small-line-height: 4.4rem;--mat-sys-headline-large-line-height: 4rem;--mat-sys-headline-medium-line-height: 3.6rem;--mat-sys-headline-small-line-height: 3.2rem;--mat-sys-title-large-line-height: 2.8rem;--mat-sys-title-medium-line-height: 2.4rem;--mat-sys-title-small-line-height: 2rem;--mat-sys-body-large-line-height: 2.4rem;--mat-sys-body-medium-line-height: 2rem;--mat-sys-body-small-line-height: 1.6rem;--mat-sys-label-large-line-height: 2rem;--mat-sys-label-medium-line-height: 1.6rem;--mat-sys-label-small-line-height: 1.6rem;--mat-icon-size: 2.4rem;--mat-sys-surface: #ffffff;--mat-sys-surface-container: #ffffff;--mat-sys-surface-container-low: #ffffff;--mat-sys-surface-container-high: #ffffff;--mat-sys-surface-container-highest: #ffffff;--mtx-datetimepicker-container-background-color: var(--mat-sys-surface);--mtx-datetimepicker-container-text-color: var(--color-text);--mtx-datetimepicker-container-shape: var(--radius-md);--mtx-datetimepicker-container-touch-shape: var(--radius-lg);--mtx-datetimepicker-clock-dial-background-color: var(--color-border-subtle);--mtx-datetimepicker-clock-hand-background-color: var(--color-primary);--mtx-datetimepicker-clock-cell-text-color: var(--color-text);--mtx-datetimepicker-clock-cell-hover-state-background-color: var(--color-accent-soft);--mtx-datetimepicker-clock-cell-disabled-state-text-color: var(--color-disabled);--mtx-datetimepicker-clock-text-size: 1.4rem;--mtx-datetimepicker-calendar-header-background-color: transparent;--mtx-datetimepicker-calendar-header-text-color: var(--color-text-muted);--mtx-datetimepicker-calendar-header-divider-color: var(--color-border);--mtx-datetimepicker-calendar-body-label-text-color: var(--color-text);--mtx-datetimepicker-calendar-table-header-text-color: var(--color-text-muted);--mtx-datetimepicker-calendar-date-text-color: var(--color-text);--mtx-datetimepicker-calendar-date-outline-color: transparent;--mtx-datetimepicker-calendar-date-hover-state-background-color: var(--color-accent-soft);--mtx-datetimepicker-calendar-date-focus-state-background-color: var(--color-accent-soft);--mtx-datetimepicker-calendar-date-selected-state-text-color: var(--color-primary-contrast);--mtx-datetimepicker-calendar-date-selected-state-background-color: var(--color-primary);--mtx-datetimepicker-calendar-date-selected-disabled-state-background-color: var( --color-disabled );--mtx-datetimepicker-calendar-date-today-outline-color: var(--color-primary);--mtx-datetimepicker-calendar-date-today-selected-state-outline-color: var(--color-primary);--mtx-datetimepicker-calendar-date-disabled-state-text-color: var(--color-disabled);--mtx-datetimepicker-calendar-text-font: var(--typo-family-primary);--mtx-datetimepicker-calendar-text-size: 1.4rem;--mtx-datetimepicker-calendar-body-label-text-size: 1.4rem;--mtx-datetimepicker-calendar-body-label-text-weight: 500;--mtx-datetimepicker-calendar-period-button-text-size: 1.4rem;--mtx-datetimepicker-calendar-period-button-text-weight: 500;--mtx-datetimepicker-toggle-icon-color: var(--color-text-muted);--mtx-datetimepicker-toggle-active-state-icon-color: var(--color-primary);--mtx-datetimepicker-time-input-text-color: var(--color-text);--mtx-datetimepicker-time-input-background-color: var(--color-border-subtle);--mtx-datetimepicker-time-input-active-state-text-color: var(--color-primary);--mtx-datetimepicker-time-input-active-state-background-color: var(--color-accent-soft);--mtx-datetimepicker-time-input-focus-state-outline-color: var(--color-primary);--mtx-datetimepicker-time-input-focus-state-background-color: var(--color-accent-soft);--mtx-datetimepicker-time-input-focus-state-placeholder-text-color: var(--color-text-muted);--mtx-datetimepicker-time-input-warn-state-outline-color: var(--color-error);--mtx-datetimepicker-selector-container-shape: var(--radius-sm)}html .mat-icon{font-size:var(--mat-icon-size, 24px);width:var(--mat-icon-size, 24px);height:var(--mat-icon-size, 24px)}html .mat-mdc-button>.mat-icon,html .mat-mdc-unelevated-button>.mat-icon,html .mat-mdc-raised-button>.mat-icon,html .mat-mdc-outlined-button>.mat-icon,html .mat-tonal-button>.mat-icon{font-size:1.8rem;height:1.8rem;width:1.8rem}.dialog-primary .mat-mdc-dialog-container{border-radius:var(--radius-lg);max-height:100vh;overflow:visible!important;padding:0;box-shadow:var(--shadow-lg)}.dialog-primary .dialog-header{display:flex;align-items:center;justify-content:space-between;background:var(--color-primary);color:var(--color-primary-contrast);padding:1rem 2rem;padding-right:var(--spacing-xs);border-radius:var(--radius-lg) var(--radius-lg) 0 0}.dialog-primary .dialog-header h2{margin-bottom:0;padding:0}.dialog-primary .dialog-header .dialog-close{color:var(--color-primary-contrast)}.dialog-primary .dialog-title{display:flex;align-items:center;gap:var(--spacing-sm);margin:0;font-weight:600;color:inherit}.dialog-primary .mat-mdc-form-field .mat-mdc-text-field-wrapper{padding:0}.dialog-primary .mat-mdc-form-field .mat-mdc-text-field-wrapper .mat-mdc-form-field-infix{min-height:auto!important;padding:4px!important;width:100%}.dialog-primary .mat-mdc-form-field .mat-mdc-text-field-wrapper input.mat-mdc-input-element{padding:8px 12px;height:40px;box-sizing:border-box}.dialog-primary .mat-mdc-form-field .mat-mdc-text-field-wrapper input.mat-mdc-input-element::placeholder{opacity:.5;color:currentColor}.dialog-primary .mat-mdc-form-field .mat-mdc-text-field-wrapper textarea.mat-mdc-input-element{padding:8px 12px}.dialog-primary .mat-mdc-form-field .mat-mdc-text-field-wrapper textarea.mat-mdc-input-element::placeholder{opacity:.5;color:currentColor}.dialog-primary .mat-mdc-form-field .mat-mdc-text-field-wrapper .mat-mdc-select{padding:8px 12px;height:40px;box-sizing:border-box;display:flex;align-items:center}.dialog-primary .mat-mdc-form-field .mdc-floating-label{display:none}.dialog-primary .mat-mdc-form-field .mdc-notched-outline__notch{border-right:none}.dialog-primary .mat-mdc-form-field .mat-mdc-form-field-subscript-wrapper{display:none}.dialog-primary .mat-mdc-dialog-actions{display:flex;justify-content:space-between;border-top:1px solid rgba(0,0,0,.12);padding:var(--spacing-md) var(--spacing-lg)}.dialog-primary .btn-save{background-color:var(--color-primary)!important;color:var(--color-primary-contrast)!important}.dialog-primary .btn-save:hover:not(:disabled){background-color:var(--color-secondary)!important}.dialog-primary .btn-save:disabled{opacity:.5}.dialog-primary .btn-cancel{border-color:var(--color-primary)!important;color:var(--color-primary)!important}.dialog-primary .btn-cancel:hover:not(:disabled){background-color:#2135550f!important}.dialog-primary .dialog-form{display:flex;flex-direction:column;gap:var(--spacing-lg);padding:var(--spacing-lg) 0 var(--spacing-md)}.dialog-primary .dialog-form__section{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-md) var(--spacing-xl)}.dialog-primary .dialog-form__col{display:flex;flex-direction:column;gap:var(--spacing-xs)}.dialog-primary .dialog-form__col--full{grid-column:1/-1}.dialog-primary .dialog-form__divider{border:none;border-top:1px solid var(--color-border);margin:0}.admin-filters{display:flex;align-items:center;gap:var(--spacing-sm)}.admin-filters .mat-mdc-form-field .mat-mdc-text-field-wrapper{padding:0}.admin-filters .mat-mdc-form-field .mat-mdc-text-field-wrapper .mat-mdc-form-field-infix{min-height:auto!important;padding:4px!important;width:100%}.admin-filters .mat-mdc-form-field .mat-mdc-text-field-wrapper .mat-mdc-select{padding:8px 12px;height:40px;box-sizing:border-box;display:flex;align-items:center}.admin-filters .mat-mdc-form-field .mdc-floating-label{display:none}.admin-filters .mat-mdc-form-field .mdc-notched-outline__notch{border-right:none}.admin-filters .mat-mdc-form-field .mat-mdc-form-field-subscript-wrapper{display:none}.admin-filters app-ui-select{min-width:160px}.mat-select-arrow-wrapper .mat-select-arrow{border:solid var(--color-font)!important;border-width:0 2px 2px 0!important;display:inline-block!important;padding:4px!important;transition:.3s transform!important;transform:rotate(45deg)!important;position:relative;top:-2px;margin-left:1rem}.mat-mdc-dialog-surface{overflow-y:visible!important}.cdk-overlay-pane.mat-mdc-dialog-panel{--mat-dialog-container-max-width: 840px}.mat-content.mat-content-hide-toggle{margin-right:0!important}@media(max-width:1280px){.mat-mdc-cell.mdc-data-table__cell,.mat-mdc-header-cell.mdc-data-table__header-cell{padding:.8rem 1.3rem}}.mtx-calendar-header-date-time{font-size:18px;line-height:26px}.mtx-calendar-header-hour-minute-separator{width:4px}.mtx-calendar-header-ampm-container{font-size:10px}.mat-mdc-form-field .mat-mdc-text-field-wrapper{background-color:var(--color-surface)}.mat-mdc-form-field{--mat-form-field-outlined-outline-color: var(--color-primary);--mat-form-field-outlined-hover-outline-color: var(--color-primary-hover);--mat-form-field-outlined-focus-outline-color: var(--color-primary);--mat-form-field-outlined-disabled-outline-color: var(--color-disabled)}.mat-mdc-form-field input.mat-mdc-input-element::placeholder,.mat-mdc-form-field textarea.mat-mdc-input-element::placeholder{color:var(--color-text-muted);opacity:.6}.mat-mdc-form-field .mat-mdc-select-placeholder{color:var(--color-text-muted);opacity:.6}.mat-mdc-form-field-infix{min-height:48px!important}.mdc-text-field--outlined .mat-mdc-form-field-infix,.mdc-text-field--no-label .mat-mdc-form-field-infix{padding-top:12px!important;padding-bottom:12px!important}.mat-mdc-checkbox{--mdc-checkbox-selected-checkmark-color: var(--color-primary-contrast);--mdc-checkbox-selected-focus-icon-color: var(--color-primary);--mdc-checkbox-selected-hover-icon-color: var(--color-primary-hover);--mdc-checkbox-selected-icon-color: var(--color-primary);--mdc-checkbox-selected-pressed-icon-color: var(--color-primary-active);--mdc-checkbox-selected-focus-state-layer-color: var(--color-primary);--mdc-checkbox-selected-hover-state-layer-color: var(--color-primary);--mdc-checkbox-selected-pressed-state-layer-color: var(--color-primary)}.mat-pseudo-checkbox-checked,.mat-pseudo-checkbox-indeterminate{background-color:var(--color-primary)!important;color:var(--color-primary-contrast)!important}.mat-mdc-tooltip .mdc-tooltip__surface{background-color:var(--color-surface)!important;color:var(--color-text)!important;padding:var(--spacing-xs) var(--spacing-sm)!important;font-size:var(--typo-size-xs);box-shadow:var(--shadow-md);border-radius:var(--radius-sm)}.app-snackbar.mat-mdc-snack-bar-container{--mdc-snackbar-container-color: var(--color-surface);--mdc-snackbar-supporting-text-color: var(--color-text)}.app-snackbar .mdc-snackbar__surface{border-radius:var(--radius-md)!important;box-shadow:var(--shadow-lg)!important;padding:0!important}.app-snackbar .mdc-snackbar__label{padding:0!important}.app-snackbar.app-snackbar--error .mdc-snackbar__surface{background:var(--color-danger-bg);border-left:4px solid var(--color-danger)}.app-snackbar.app-snackbar--success .mdc-snackbar__surface{background:var(--color-success-bg);border-left:4px solid var(--color-success)}.app-snackbar.app-snackbar--info .mdc-snackbar__surface{background:var(--color-surface);border-left:4px solid var(--color-primary)}.app-snackbar.app-snackbar--admin .mdc-snackbar__surface{font-size:var(--typo-size-sm)}.app-snackbar.app-snackbar--public .mdc-snackbar__surface{font-size:var(--typo-size-md)}html{height:100%;font-size:1.6rem}body{color-scheme:light;background-color:var(--color-bg);color:var(--color-font);margin:0;padding:0;font-family:var(--typo-family-primary);overflow-x:hidden}body,html{position:relative;height:100%}::-webkit-scrollbar{width:8px;border-radius:10px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#00000040;border-radius:10px}::-webkit-scrollbar-thumb:hover{background:#00000059}@keyframes route-fade{0%{opacity:0}to{opacity:1}}::view-transition-old(root){animation:route-fade .18s ease reverse both}::view-transition-new(root){animation:route-fade .18s ease both}@media(prefers-reduced-motion:reduce){::view-transition-old(root),::view-transition-new(root){animation:none}}[mode=auto] .mtx-calendar .mtx-calendar-header-time .mtx-calendar-header-hours,[mode=auto] .mtx-calendar .mtx-calendar-header-time .mtx-calendar-header-minutes,[mode=auto] .mtx-calendar .mtx-calendar-header-time .mtx-calendar-header-ampm{width:55px!important}
