@charset "UTF-8";

/* node_modules/@angular/cdk/overlay-prebuilt.css */
.cdk-overlay-container,
.cdk-global-overlay-wrapper {
  pointer-events: none;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
}
.cdk-overlay-container {
  position: fixed;
  z-index: 1000;
}
.cdk-overlay-container:empty {
  display: none;
}
.cdk-global-overlay-wrapper {
  display: flex;
  position: absolute;
  z-index: 1000;
}
.cdk-overlay-pane {
  position: absolute;
  pointer-events: auto;
  box-sizing: border-box;
  display: flex;
  max-width: 100%;
  max-height: 100%;
  z-index: 1000;
}
.cdk-overlay-backdrop {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  pointer-events: auto;
  -webkit-tap-highlight-color: transparent;
  opacity: 0;
  touch-action: manipulation;
  z-index: 1000;
  transition: opacity 400ms cubic-bezier(0.25, 0.8, 0.25, 1);
}
@media (prefers-reduced-motion) {
  .cdk-overlay-backdrop {
    transition-duration: 1ms;
  }
}
.cdk-overlay-backdrop-showing {
  opacity: 1;
}
@media (forced-colors: active) {
  .cdk-overlay-backdrop-showing {
    opacity: 0.6;
  }
}
.cdk-overlay-dark-backdrop {
  background: rgba(0, 0, 0, 0.32);
}
.cdk-overlay-transparent-backdrop {
  transition: visibility 1ms linear, opacity 1ms linear;
  visibility: hidden;
  opacity: 1;
}
.cdk-overlay-transparent-backdrop.cdk-overlay-backdrop-showing,
.cdk-high-contrast-active .cdk-overlay-transparent-backdrop {
  opacity: 0;
  visibility: visible;
}
.cdk-overlay-backdrop-noop-animation {
  transition: none;
}
.cdk-overlay-connected-position-bounding-box {
  position: absolute;
  display: flex;
  flex-direction: column;
  min-width: 1px;
  min-height: 1px;
  z-index: 1000;
}
.cdk-global-scrollblock {
  position: fixed;
  width: 100%;
  overflow-y: scroll;
}
.cdk-overlay-popover {
  background: none;
  border: none;
  padding: 0;
  outline: 0;
  overflow: visible;
  position: fixed;
  pointer-events: none;
  white-space: normal;
  color: inherit;
  text-decoration: none;
  width: 100%;
  height: 100%;
  inset: auto;
  top: 0;
  left: 0;
}
.cdk-overlay-popover::backdrop {
  display: none;
}
.cdk-overlay-popover .cdk-overlay-backdrop {
  position: fixed;
  z-index: auto;
}

/* node_modules/@fontsource/open-sans/400.css */
@font-face {
  font-family: "Open Sans";
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url("./media/open-sans-cyrillic-ext-400-normal.woff2") format("woff2"), url("./media/open-sans-cyrillic-ext-400-normal.woff") format("woff");
  unicode-range:
    U+0460-052F,
    U+1C80-1C8A,
    U+20B4,
    U+2DE0-2DFF,
    U+A640-A69F,
    U+FE2E-FE2F;
}
@font-face {
  font-family: "Open Sans";
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url("./media/open-sans-cyrillic-400-normal.woff2") format("woff2"), url("./media/open-sans-cyrillic-400-normal.woff") format("woff");
  unicode-range:
    U+0301,
    U+0400-045F,
    U+0490-0491,
    U+04B0-04B1,
    U+2116;
}
@font-face {
  font-family: "Open Sans";
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url("./media/open-sans-greek-ext-400-normal.woff2") format("woff2"), url("./media/open-sans-greek-ext-400-normal.woff") format("woff");
  unicode-range: U+1F00-1FFF;
}
@font-face {
  font-family: "Open Sans";
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url("./media/open-sans-greek-400-normal.woff2") format("woff2"), url("./media/open-sans-greek-400-normal.woff") format("woff");
  unicode-range:
    U+0370-0377,
    U+037A-037F,
    U+0384-038A,
    U+038C,
    U+038E-03A1,
    U+03A3-03FF;
}
@font-face {
  font-family: "Open Sans";
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url("./media/open-sans-hebrew-400-normal.woff2") format("woff2"), url("./media/open-sans-hebrew-400-normal.woff") format("woff");
  unicode-range:
    U+0307-0308,
    U+0590-05FF,
    U+200C-2010,
    U+20AA,
    U+25CC,
    U+FB1D-FB4F;
}
@font-face {
  font-family: "Open Sans";
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url("./media/open-sans-math-400-normal.woff2") format("woff2"), url("./media/open-sans-math-400-normal.woff") format("woff");
  unicode-range:
    U+0302-0303,
    U+0305,
    U+0307-0308,
    U+0310,
    U+0312,
    U+0315,
    U+031A,
    U+0326-0327,
    U+032C,
    U+032F-0330,
    U+0332-0333,
    U+0338,
    U+033A,
    U+0346,
    U+034D,
    U+0391-03A1,
    U+03A3-03A9,
    U+03B1-03C9,
    U+03D1,
    U+03D5-03D6,
    U+03F0-03F1,
    U+03F4-03F5,
    U+2016-2017,
    U+2034-2038,
    U+203C,
    U+2040,
    U+2043,
    U+2047,
    U+2050,
    U+2057,
    U+205F,
    U+2070-2071,
    U+2074-208E,
    U+2090-209C,
    U+20D0-20DC,
    U+20E1,
    U+20E5-20EF,
    U+2100-2112,
    U+2114-2115,
    U+2117-2121,
    U+2123-214F,
    U+2190,
    U+2192,
    U+2194-21AE,
    U+21B0-21E5,
    U+21F1-21F2,
    U+21F4-2211,
    U+2213-2214,
    U+2216-22FF,
    U+2308-230B,
    U+2310,
    U+2319,
    U+231C-2321,
    U+2336-237A,
    U+237C,
    U+2395,
    U+239B-23B7,
    U+23D0,
    U+23DC-23E1,
    U+2474-2475,
    U+25AF,
    U+25B3,
    U+25B7,
    U+25BD,
    U+25C1,
    U+25CA,
    U+25CC,
    U+25FB,
    U+266D-266F,
    U+27C0-27FF,
    U+2900-2AFF,
    U+2B0E-2B11,
    U+2B30-2B4C,
    U+2BFE,
    U+3030,
    U+FF5B,
    U+FF5D,
    U+1D400-1D7FF,
    U+1EE00-1EEFF;
}
@font-face {
  font-family: "Open Sans";
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url("./media/open-sans-symbols-400-normal.woff2") format("woff2"), url("./media/open-sans-symbols-400-normal.woff") format("woff");
  unicode-range:
    U+0001-000C,
    U+000E-001F,
    U+007F-009F,
    U+20DD-20E0,
    U+20E2-20E4,
    U+2150-218F,
    U+2190,
    U+2192,
    U+2194-2199,
    U+21AF,
    U+21E6-21F0,
    U+21F3,
    U+2218-2219,
    U+2299,
    U+22C4-22C6,
    U+2300-243F,
    U+2440-244A,
    U+2460-24FF,
    U+25A0-27BF,
    U+2800-28FF,
    U+2921-2922,
    U+2981,
    U+29BF,
    U+29EB,
    U+2B00-2BFF,
    U+4DC0-4DFF,
    U+FFF9-FFFB,
    U+10140-1018E,
    U+10190-1019C,
    U+101A0,
    U+101D0-101FD,
    U+102E0-102FB,
    U+10E60-10E7E,
    U+1D2C0-1D2D3,
    U+1D2E0-1D37F,
    U+1F000-1F0FF,
    U+1F100-1F1AD,
    U+1F1E6-1F1FF,
    U+1F30D-1F30F,
    U+1F315,
    U+1F31C,
    U+1F31E,
    U+1F320-1F32C,
    U+1F336,
    U+1F378,
    U+1F37D,
    U+1F382,
    U+1F393-1F39F,
    U+1F3A7-1F3A8,
    U+1F3AC-1F3AF,
    U+1F3C2,
    U+1F3C4-1F3C6,
    U+1F3CA-1F3CE,
    U+1F3D4-1F3E0,
    U+1F3ED,
    U+1F3F1-1F3F3,
    U+1F3F5-1F3F7,
    U+1F408,
    U+1F415,
    U+1F41F,
    U+1F426,
    U+1F43F,
    U+1F441-1F442,
    U+1F444,
    U+1F446-1F449,
    U+1F44C-1F44E,
    U+1F453,
    U+1F46A,
    U+1F47D,
    U+1F4A3,
    U+1F4B0,
    U+1F4B3,
    U+1F4B9,
    U+1F4BB,
    U+1F4BF,
    U+1F4C8-1F4CB,
    U+1F4D6,
    U+1F4DA,
    U+1F4DF,
    U+1F4E3-1F4E6,
    U+1F4EA-1F4ED,
    U+1F4F7,
    U+1F4F9-1F4FB,
    U+1F4FD-1F4FE,
    U+1F503,
    U+1F507-1F50B,
    U+1F50D,
    U+1F512-1F513,
    U+1F53E-1F54A,
    U+1F54F-1F5FA,
    U+1F610,
    U+1F650-1F67F,
    U+1F687,
    U+1F68D,
    U+1F691,
    U+1F694,
    U+1F698,
    U+1F6AD,
    U+1F6B2,
    U+1F6B9-1F6BA,
    U+1F6BC,
    U+1F6C6-1F6CF,
    U+1F6D3-1F6D7,
    U+1F6E0-1F6EA,
    U+1F6F0-1F6F3,
    U+1F6F7-1F6FC,
    U+1F700-1F7FF,
    U+1F800-1F80B,
    U+1F810-1F847,
    U+1F850-1F859,
    U+1F860-1F887,
    U+1F890-1F8AD,
    U+1F8B0-1F8BB,
    U+1F8C0-1F8C1,
    U+1F900-1F90B,
    U+1F93B,
    U+1F946,
    U+1F984,
    U+1F996,
    U+1F9E9,
    U+1FA00-1FA6F,
    U+1FA70-1FA7C,
    U+1FA80-1FA89,
    U+1FA8F-1FAC6,
    U+1FACE-1FADC,
    U+1FADF-1FAE9,
    U+1FAF0-1FAF8,
    U+1FB00-1FBFF;
}
@font-face {
  font-family: "Open Sans";
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url("./media/open-sans-vietnamese-400-normal.woff2") format("woff2"), url("./media/open-sans-vietnamese-400-normal.woff") format("woff");
  unicode-range:
    U+0102-0103,
    U+0110-0111,
    U+0128-0129,
    U+0168-0169,
    U+01A0-01A1,
    U+01AF-01B0,
    U+0300-0301,
    U+0303-0304,
    U+0308-0309,
    U+0323,
    U+0329,
    U+1EA0-1EF9,
    U+20AB;
}
@font-face {
  font-family: "Open Sans";
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url("./media/open-sans-latin-ext-400-normal.woff2") format("woff2"), url("./media/open-sans-latin-ext-400-normal.woff") format("woff");
  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: "Open Sans";
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url("./media/open-sans-latin-400-normal.woff2") format("woff2"), url("./media/open-sans-latin-400-normal.woff") format("woff");
  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;
}

/* node_modules/@fontsource/open-sans/500.css */
@font-face {
  font-family: "Open Sans";
  font-style: normal;
  font-display: swap;
  font-weight: 500;
  src: url("./media/open-sans-cyrillic-ext-500-normal.woff2") format("woff2"), url("./media/open-sans-cyrillic-ext-500-normal.woff") format("woff");
  unicode-range:
    U+0460-052F,
    U+1C80-1C8A,
    U+20B4,
    U+2DE0-2DFF,
    U+A640-A69F,
    U+FE2E-FE2F;
}
@font-face {
  font-family: "Open Sans";
  font-style: normal;
  font-display: swap;
  font-weight: 500;
  src: url("./media/open-sans-cyrillic-500-normal.woff2") format("woff2"), url("./media/open-sans-cyrillic-500-normal.woff") format("woff");
  unicode-range:
    U+0301,
    U+0400-045F,
    U+0490-0491,
    U+04B0-04B1,
    U+2116;
}
@font-face {
  font-family: "Open Sans";
  font-style: normal;
  font-display: swap;
  font-weight: 500;
  src: url("./media/open-sans-greek-ext-500-normal.woff2") format("woff2"), url("./media/open-sans-greek-ext-500-normal.woff") format("woff");
  unicode-range: U+1F00-1FFF;
}
@font-face {
  font-family: "Open Sans";
  font-style: normal;
  font-display: swap;
  font-weight: 500;
  src: url("./media/open-sans-greek-500-normal.woff2") format("woff2"), url("./media/open-sans-greek-500-normal.woff") format("woff");
  unicode-range:
    U+0370-0377,
    U+037A-037F,
    U+0384-038A,
    U+038C,
    U+038E-03A1,
    U+03A3-03FF;
}
@font-face {
  font-family: "Open Sans";
  font-style: normal;
  font-display: swap;
  font-weight: 500;
  src: url("./media/open-sans-hebrew-500-normal.woff2") format("woff2"), url("./media/open-sans-hebrew-500-normal.woff") format("woff");
  unicode-range:
    U+0307-0308,
    U+0590-05FF,
    U+200C-2010,
    U+20AA,
    U+25CC,
    U+FB1D-FB4F;
}
@font-face {
  font-family: "Open Sans";
  font-style: normal;
  font-display: swap;
  font-weight: 500;
  src: url("./media/open-sans-math-500-normal.woff2") format("woff2"), url("./media/open-sans-math-500-normal.woff") format("woff");
  unicode-range:
    U+0302-0303,
    U+0305,
    U+0307-0308,
    U+0310,
    U+0312,
    U+0315,
    U+031A,
    U+0326-0327,
    U+032C,
    U+032F-0330,
    U+0332-0333,
    U+0338,
    U+033A,
    U+0346,
    U+034D,
    U+0391-03A1,
    U+03A3-03A9,
    U+03B1-03C9,
    U+03D1,
    U+03D5-03D6,
    U+03F0-03F1,
    U+03F4-03F5,
    U+2016-2017,
    U+2034-2038,
    U+203C,
    U+2040,
    U+2043,
    U+2047,
    U+2050,
    U+2057,
    U+205F,
    U+2070-2071,
    U+2074-208E,
    U+2090-209C,
    U+20D0-20DC,
    U+20E1,
    U+20E5-20EF,
    U+2100-2112,
    U+2114-2115,
    U+2117-2121,
    U+2123-214F,
    U+2190,
    U+2192,
    U+2194-21AE,
    U+21B0-21E5,
    U+21F1-21F2,
    U+21F4-2211,
    U+2213-2214,
    U+2216-22FF,
    U+2308-230B,
    U+2310,
    U+2319,
    U+231C-2321,
    U+2336-237A,
    U+237C,
    U+2395,
    U+239B-23B7,
    U+23D0,
    U+23DC-23E1,
    U+2474-2475,
    U+25AF,
    U+25B3,
    U+25B7,
    U+25BD,
    U+25C1,
    U+25CA,
    U+25CC,
    U+25FB,
    U+266D-266F,
    U+27C0-27FF,
    U+2900-2AFF,
    U+2B0E-2B11,
    U+2B30-2B4C,
    U+2BFE,
    U+3030,
    U+FF5B,
    U+FF5D,
    U+1D400-1D7FF,
    U+1EE00-1EEFF;
}
@font-face {
  font-family: "Open Sans";
  font-style: normal;
  font-display: swap;
  font-weight: 500;
  src: url("./media/open-sans-symbols-500-normal.woff2") format("woff2"), url("./media/open-sans-symbols-500-normal.woff") format("woff");
  unicode-range:
    U+0001-000C,
    U+000E-001F,
    U+007F-009F,
    U+20DD-20E0,
    U+20E2-20E4,
    U+2150-218F,
    U+2190,
    U+2192,
    U+2194-2199,
    U+21AF,
    U+21E6-21F0,
    U+21F3,
    U+2218-2219,
    U+2299,
    U+22C4-22C6,
    U+2300-243F,
    U+2440-244A,
    U+2460-24FF,
    U+25A0-27BF,
    U+2800-28FF,
    U+2921-2922,
    U+2981,
    U+29BF,
    U+29EB,
    U+2B00-2BFF,
    U+4DC0-4DFF,
    U+FFF9-FFFB,
    U+10140-1018E,
    U+10190-1019C,
    U+101A0,
    U+101D0-101FD,
    U+102E0-102FB,
    U+10E60-10E7E,
    U+1D2C0-1D2D3,
    U+1D2E0-1D37F,
    U+1F000-1F0FF,
    U+1F100-1F1AD,
    U+1F1E6-1F1FF,
    U+1F30D-1F30F,
    U+1F315,
    U+1F31C,
    U+1F31E,
    U+1F320-1F32C,
    U+1F336,
    U+1F378,
    U+1F37D,
    U+1F382,
    U+1F393-1F39F,
    U+1F3A7-1F3A8,
    U+1F3AC-1F3AF,
    U+1F3C2,
    U+1F3C4-1F3C6,
    U+1F3CA-1F3CE,
    U+1F3D4-1F3E0,
    U+1F3ED,
    U+1F3F1-1F3F3,
    U+1F3F5-1F3F7,
    U+1F408,
    U+1F415,
    U+1F41F,
    U+1F426,
    U+1F43F,
    U+1F441-1F442,
    U+1F444,
    U+1F446-1F449,
    U+1F44C-1F44E,
    U+1F453,
    U+1F46A,
    U+1F47D,
    U+1F4A3,
    U+1F4B0,
    U+1F4B3,
    U+1F4B9,
    U+1F4BB,
    U+1F4BF,
    U+1F4C8-1F4CB,
    U+1F4D6,
    U+1F4DA,
    U+1F4DF,
    U+1F4E3-1F4E6,
    U+1F4EA-1F4ED,
    U+1F4F7,
    U+1F4F9-1F4FB,
    U+1F4FD-1F4FE,
    U+1F503,
    U+1F507-1F50B,
    U+1F50D,
    U+1F512-1F513,
    U+1F53E-1F54A,
    U+1F54F-1F5FA,
    U+1F610,
    U+1F650-1F67F,
    U+1F687,
    U+1F68D,
    U+1F691,
    U+1F694,
    U+1F698,
    U+1F6AD,
    U+1F6B2,
    U+1F6B9-1F6BA,
    U+1F6BC,
    U+1F6C6-1F6CF,
    U+1F6D3-1F6D7,
    U+1F6E0-1F6EA,
    U+1F6F0-1F6F3,
    U+1F6F7-1F6FC,
    U+1F700-1F7FF,
    U+1F800-1F80B,
    U+1F810-1F847,
    U+1F850-1F859,
    U+1F860-1F887,
    U+1F890-1F8AD,
    U+1F8B0-1F8BB,
    U+1F8C0-1F8C1,
    U+1F900-1F90B,
    U+1F93B,
    U+1F946,
    U+1F984,
    U+1F996,
    U+1F9E9,
    U+1FA00-1FA6F,
    U+1FA70-1FA7C,
    U+1FA80-1FA89,
    U+1FA8F-1FAC6,
    U+1FACE-1FADC,
    U+1FADF-1FAE9,
    U+1FAF0-1FAF8,
    U+1FB00-1FBFF;
}
@font-face {
  font-family: "Open Sans";
  font-style: normal;
  font-display: swap;
  font-weight: 500;
  src: url("./media/open-sans-vietnamese-500-normal.woff2") format("woff2"), url("./media/open-sans-vietnamese-500-normal.woff") format("woff");
  unicode-range:
    U+0102-0103,
    U+0110-0111,
    U+0128-0129,
    U+0168-0169,
    U+01A0-01A1,
    U+01AF-01B0,
    U+0300-0301,
    U+0303-0304,
    U+0308-0309,
    U+0323,
    U+0329,
    U+1EA0-1EF9,
    U+20AB;
}
@font-face {
  font-family: "Open Sans";
  font-style: normal;
  font-display: swap;
  font-weight: 500;
  src: url("./media/open-sans-latin-ext-500-normal.woff2") format("woff2"), url("./media/open-sans-latin-ext-500-normal.woff") format("woff");
  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: "Open Sans";
  font-style: normal;
  font-display: swap;
  font-weight: 500;
  src: url("./media/open-sans-latin-500-normal.woff2") format("woff2"), url("./media/open-sans-latin-500-normal.woff") format("woff");
  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;
}

/* node_modules/@fontsource/open-sans/600.css */
@font-face {
  font-family: "Open Sans";
  font-style: normal;
  font-display: swap;
  font-weight: 600;
  src: url("./media/open-sans-cyrillic-ext-600-normal.woff2") format("woff2"), url("./media/open-sans-cyrillic-ext-600-normal.woff") format("woff");
  unicode-range:
    U+0460-052F,
    U+1C80-1C8A,
    U+20B4,
    U+2DE0-2DFF,
    U+A640-A69F,
    U+FE2E-FE2F;
}
@font-face {
  font-family: "Open Sans";
  font-style: normal;
  font-display: swap;
  font-weight: 600;
  src: url("./media/open-sans-cyrillic-600-normal.woff2") format("woff2"), url("./media/open-sans-cyrillic-600-normal.woff") format("woff");
  unicode-range:
    U+0301,
    U+0400-045F,
    U+0490-0491,
    U+04B0-04B1,
    U+2116;
}
@font-face {
  font-family: "Open Sans";
  font-style: normal;
  font-display: swap;
  font-weight: 600;
  src: url("./media/open-sans-greek-ext-600-normal.woff2") format("woff2"), url("./media/open-sans-greek-ext-600-normal.woff") format("woff");
  unicode-range: U+1F00-1FFF;
}
@font-face {
  font-family: "Open Sans";
  font-style: normal;
  font-display: swap;
  font-weight: 600;
  src: url("./media/open-sans-greek-600-normal.woff2") format("woff2"), url("./media/open-sans-greek-600-normal.woff") format("woff");
  unicode-range:
    U+0370-0377,
    U+037A-037F,
    U+0384-038A,
    U+038C,
    U+038E-03A1,
    U+03A3-03FF;
}
@font-face {
  font-family: "Open Sans";
  font-style: normal;
  font-display: swap;
  font-weight: 600;
  src: url("./media/open-sans-hebrew-600-normal.woff2") format("woff2"), url("./media/open-sans-hebrew-600-normal.woff") format("woff");
  unicode-range:
    U+0307-0308,
    U+0590-05FF,
    U+200C-2010,
    U+20AA,
    U+25CC,
    U+FB1D-FB4F;
}
@font-face {
  font-family: "Open Sans";
  font-style: normal;
  font-display: swap;
  font-weight: 600;
  src: url("./media/open-sans-math-600-normal.woff2") format("woff2"), url("./media/open-sans-math-600-normal.woff") format("woff");
  unicode-range:
    U+0302-0303,
    U+0305,
    U+0307-0308,
    U+0310,
    U+0312,
    U+0315,
    U+031A,
    U+0326-0327,
    U+032C,
    U+032F-0330,
    U+0332-0333,
    U+0338,
    U+033A,
    U+0346,
    U+034D,
    U+0391-03A1,
    U+03A3-03A9,
    U+03B1-03C9,
    U+03D1,
    U+03D5-03D6,
    U+03F0-03F1,
    U+03F4-03F5,
    U+2016-2017,
    U+2034-2038,
    U+203C,
    U+2040,
    U+2043,
    U+2047,
    U+2050,
    U+2057,
    U+205F,
    U+2070-2071,
    U+2074-208E,
    U+2090-209C,
    U+20D0-20DC,
    U+20E1,
    U+20E5-20EF,
    U+2100-2112,
    U+2114-2115,
    U+2117-2121,
    U+2123-214F,
    U+2190,
    U+2192,
    U+2194-21AE,
    U+21B0-21E5,
    U+21F1-21F2,
    U+21F4-2211,
    U+2213-2214,
    U+2216-22FF,
    U+2308-230B,
    U+2310,
    U+2319,
    U+231C-2321,
    U+2336-237A,
    U+237C,
    U+2395,
    U+239B-23B7,
    U+23D0,
    U+23DC-23E1,
    U+2474-2475,
    U+25AF,
    U+25B3,
    U+25B7,
    U+25BD,
    U+25C1,
    U+25CA,
    U+25CC,
    U+25FB,
    U+266D-266F,
    U+27C0-27FF,
    U+2900-2AFF,
    U+2B0E-2B11,
    U+2B30-2B4C,
    U+2BFE,
    U+3030,
    U+FF5B,
    U+FF5D,
    U+1D400-1D7FF,
    U+1EE00-1EEFF;
}
@font-face {
  font-family: "Open Sans";
  font-style: normal;
  font-display: swap;
  font-weight: 600;
  src: url("./media/open-sans-symbols-600-normal.woff2") format("woff2"), url("./media/open-sans-symbols-600-normal.woff") format("woff");
  unicode-range:
    U+0001-000C,
    U+000E-001F,
    U+007F-009F,
    U+20DD-20E0,
    U+20E2-20E4,
    U+2150-218F,
    U+2190,
    U+2192,
    U+2194-2199,
    U+21AF,
    U+21E6-21F0,
    U+21F3,
    U+2218-2219,
    U+2299,
    U+22C4-22C6,
    U+2300-243F,
    U+2440-244A,
    U+2460-24FF,
    U+25A0-27BF,
    U+2800-28FF,
    U+2921-2922,
    U+2981,
    U+29BF,
    U+29EB,
    U+2B00-2BFF,
    U+4DC0-4DFF,
    U+FFF9-FFFB,
    U+10140-1018E,
    U+10190-1019C,
    U+101A0,
    U+101D0-101FD,
    U+102E0-102FB,
    U+10E60-10E7E,
    U+1D2C0-1D2D3,
    U+1D2E0-1D37F,
    U+1F000-1F0FF,
    U+1F100-1F1AD,
    U+1F1E6-1F1FF,
    U+1F30D-1F30F,
    U+1F315,
    U+1F31C,
    U+1F31E,
    U+1F320-1F32C,
    U+1F336,
    U+1F378,
    U+1F37D,
    U+1F382,
    U+1F393-1F39F,
    U+1F3A7-1F3A8,
    U+1F3AC-1F3AF,
    U+1F3C2,
    U+1F3C4-1F3C6,
    U+1F3CA-1F3CE,
    U+1F3D4-1F3E0,
    U+1F3ED,
    U+1F3F1-1F3F3,
    U+1F3F5-1F3F7,
    U+1F408,
    U+1F415,
    U+1F41F,
    U+1F426,
    U+1F43F,
    U+1F441-1F442,
    U+1F444,
    U+1F446-1F449,
    U+1F44C-1F44E,
    U+1F453,
    U+1F46A,
    U+1F47D,
    U+1F4A3,
    U+1F4B0,
    U+1F4B3,
    U+1F4B9,
    U+1F4BB,
    U+1F4BF,
    U+1F4C8-1F4CB,
    U+1F4D6,
    U+1F4DA,
    U+1F4DF,
    U+1F4E3-1F4E6,
    U+1F4EA-1F4ED,
    U+1F4F7,
    U+1F4F9-1F4FB,
    U+1F4FD-1F4FE,
    U+1F503,
    U+1F507-1F50B,
    U+1F50D,
    U+1F512-1F513,
    U+1F53E-1F54A,
    U+1F54F-1F5FA,
    U+1F610,
    U+1F650-1F67F,
    U+1F687,
    U+1F68D,
    U+1F691,
    U+1F694,
    U+1F698,
    U+1F6AD,
    U+1F6B2,
    U+1F6B9-1F6BA,
    U+1F6BC,
    U+1F6C6-1F6CF,
    U+1F6D3-1F6D7,
    U+1F6E0-1F6EA,
    U+1F6F0-1F6F3,
    U+1F6F7-1F6FC,
    U+1F700-1F7FF,
    U+1F800-1F80B,
    U+1F810-1F847,
    U+1F850-1F859,
    U+1F860-1F887,
    U+1F890-1F8AD,
    U+1F8B0-1F8BB,
    U+1F8C0-1F8C1,
    U+1F900-1F90B,
    U+1F93B,
    U+1F946,
    U+1F984,
    U+1F996,
    U+1F9E9,
    U+1FA00-1FA6F,
    U+1FA70-1FA7C,
    U+1FA80-1FA89,
    U+1FA8F-1FAC6,
    U+1FACE-1FADC,
    U+1FADF-1FAE9,
    U+1FAF0-1FAF8,
    U+1FB00-1FBFF;
}
@font-face {
  font-family: "Open Sans";
  font-style: normal;
  font-display: swap;
  font-weight: 600;
  src: url("./media/open-sans-vietnamese-600-normal.woff2") format("woff2"), url("./media/open-sans-vietnamese-600-normal.woff") format("woff");
  unicode-range:
    U+0102-0103,
    U+0110-0111,
    U+0128-0129,
    U+0168-0169,
    U+01A0-01A1,
    U+01AF-01B0,
    U+0300-0301,
    U+0303-0304,
    U+0308-0309,
    U+0323,
    U+0329,
    U+1EA0-1EF9,
    U+20AB;
}
@font-face {
  font-family: "Open Sans";
  font-style: normal;
  font-display: swap;
  font-weight: 600;
  src: url("./media/open-sans-latin-ext-600-normal.woff2") format("woff2"), url("./media/open-sans-latin-ext-600-normal.woff") format("woff");
  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: "Open Sans";
  font-style: normal;
  font-display: swap;
  font-weight: 600;
  src: url("./media/open-sans-latin-600-normal.woff2") format("woff2"), url("./media/open-sans-latin-600-normal.woff") format("woff");
  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;
}

/* node_modules/@fontsource/public-sans/400.css */
@font-face {
  font-family: "Public Sans";
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url("./media/public-sans-vietnamese-400-normal.woff2") format("woff2"), url("./media/public-sans-vietnamese-400-normal.woff") format("woff");
  unicode-range:
    U+0102-0103,
    U+0110-0111,
    U+0128-0129,
    U+0168-0169,
    U+01A0-01A1,
    U+01AF-01B0,
    U+0300-0301,
    U+0303-0304,
    U+0308-0309,
    U+0323,
    U+0329,
    U+1EA0-1EF9,
    U+20AB;
}
@font-face {
  font-family: "Public Sans";
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url("./media/public-sans-latin-ext-400-normal.woff2") format("woff2"), url("./media/public-sans-latin-ext-400-normal.woff") format("woff");
  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: "Public Sans";
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url("./media/public-sans-latin-400-normal.woff2") format("woff2"), url("./media/public-sans-latin-400-normal.woff") format("woff");
  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;
}

/* node_modules/@fontsource/public-sans/500.css */
@font-face {
  font-family: "Public Sans";
  font-style: normal;
  font-display: swap;
  font-weight: 500;
  src: url("./media/public-sans-vietnamese-500-normal.woff2") format("woff2"), url("./media/public-sans-vietnamese-500-normal.woff") format("woff");
  unicode-range:
    U+0102-0103,
    U+0110-0111,
    U+0128-0129,
    U+0168-0169,
    U+01A0-01A1,
    U+01AF-01B0,
    U+0300-0301,
    U+0303-0304,
    U+0308-0309,
    U+0323,
    U+0329,
    U+1EA0-1EF9,
    U+20AB;
}
@font-face {
  font-family: "Public Sans";
  font-style: normal;
  font-display: swap;
  font-weight: 500;
  src: url("./media/public-sans-latin-ext-500-normal.woff2") format("woff2"), url("./media/public-sans-latin-ext-500-normal.woff") format("woff");
  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: "Public Sans";
  font-style: normal;
  font-display: swap;
  font-weight: 500;
  src: url("./media/public-sans-latin-500-normal.woff2") format("woff2"), url("./media/public-sans-latin-500-normal.woff") format("woff");
  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;
}

/* node_modules/@fontsource/public-sans/600.css */
@font-face {
  font-family: "Public Sans";
  font-style: normal;
  font-display: swap;
  font-weight: 600;
  src: url("./media/public-sans-vietnamese-600-normal.woff2") format("woff2"), url("./media/public-sans-vietnamese-600-normal.woff") format("woff");
  unicode-range:
    U+0102-0103,
    U+0110-0111,
    U+0128-0129,
    U+0168-0169,
    U+01A0-01A1,
    U+01AF-01B0,
    U+0300-0301,
    U+0303-0304,
    U+0308-0309,
    U+0323,
    U+0329,
    U+1EA0-1EF9,
    U+20AB;
}
@font-face {
  font-family: "Public Sans";
  font-style: normal;
  font-display: swap;
  font-weight: 600;
  src: url("./media/public-sans-latin-ext-600-normal.woff2") format("woff2"), url("./media/public-sans-latin-ext-600-normal.woff") format("woff");
  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: "Public Sans";
  font-style: normal;
  font-display: swap;
  font-weight: 600;
  src: url("./media/public-sans-latin-600-normal.woff2") format("woff2"), url("./media/public-sans-latin-600-normal.woff") format("woff");
  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;
}

/* node_modules/@fontsource/public-sans/700.css */
@font-face {
  font-family: "Public Sans";
  font-style: normal;
  font-display: swap;
  font-weight: 700;
  src: url("./media/public-sans-vietnamese-700-normal.woff2") format("woff2"), url("./media/public-sans-vietnamese-700-normal.woff") format("woff");
  unicode-range:
    U+0102-0103,
    U+0110-0111,
    U+0128-0129,
    U+0168-0169,
    U+01A0-01A1,
    U+01AF-01B0,
    U+0300-0301,
    U+0303-0304,
    U+0308-0309,
    U+0323,
    U+0329,
    U+1EA0-1EF9,
    U+20AB;
}
@font-face {
  font-family: "Public Sans";
  font-style: normal;
  font-display: swap;
  font-weight: 700;
  src: url("./media/public-sans-latin-ext-700-normal.woff2") format("woff2"), url("./media/public-sans-latin-ext-700-normal.woff") format("woff");
  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: "Public Sans";
  font-style: normal;
  font-display: swap;
  font-weight: 700;
  src: url("./media/public-sans-latin-700-normal.woff2") format("woff2"), url("./media/public-sans-latin-700-normal.woff") format("woff");
  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;
}

/* node_modules/material-icons/iconfont/filled.css */
@font-face {
  font-family: "Material Icons";
  font-style: normal;
  font-weight: 400;
  font-display: block;
  src: url("./media/material-icons.woff2") format("woff2"), url("./media/material-icons.woff") format("woff");
}
.material-icons {
  font-family: "Material Icons";
  font-weight: normal;
  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-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
  font-feature-settings: "liga";
}

/* src/styles.scss */
html {
  --mat-sys-background: #fcf8fd;
  --mat-sys-error: #ba1a1a;
  --mat-sys-error-container: #ffdad6;
  --mat-sys-inverse-on-surface: #f3eff4;
  --mat-sys-inverse-primary: #bec2ff;
  --mat-sys-inverse-surface: #303034;
  --mat-sys-on-background: #1b1b1f;
  --mat-sys-on-error: #ffffff;
  --mat-sys-on-error-container: #93000a;
  --mat-sys-on-primary: #ffffff;
  --mat-sys-on-primary-container: #0000ef;
  --mat-sys-on-primary-fixed: #00006e;
  --mat-sys-on-primary-fixed-variant: #0000ef;
  --mat-sys-on-secondary: #ffffff;
  --mat-sys-on-secondary-container: #444559;
  --mat-sys-on-secondary-fixed: #191a2c;
  --mat-sys-on-secondary-fixed-variant: #444559;
  --mat-sys-on-surface: #1b1b1f;
  --mat-sys-on-surface-variant: #46464f;
  --mat-sys-on-tertiary: #ffffff;
  --mat-sys-on-tertiary-container: #723600;
  --mat-sys-on-tertiary-fixed: #311300;
  --mat-sys-on-tertiary-fixed-variant: #723600;
  --mat-sys-outline: #777680;
  --mat-sys-outline-variant: #c7c5d0;
  --mat-sys-primary: #343dff;
  --mat-sys-primary-container: #e0e0ff;
  --mat-sys-primary-fixed: #e0e0ff;
  --mat-sys-primary-fixed-dim: #bec2ff;
  --mat-sys-scrim: #000000;
  --mat-sys-secondary: #5c5d72;
  --mat-sys-secondary-container: #e1e0f9;
  --mat-sys-secondary-fixed: #e1e0f9;
  --mat-sys-secondary-fixed-dim: #c5c4dd;
  --mat-sys-shadow: #000000;
  --mat-sys-surface: #fcf8fd;
  --mat-sys-surface-bright: #fcf8fd;
  --mat-sys-surface-container: #f0edf1;
  --mat-sys-surface-container-high: #ebe7eb;
  --mat-sys-surface-container-highest: #e5e1e6;
  --mat-sys-surface-container-low: #f6f2f7;
  --mat-sys-surface-container-lowest: #ffffff;
  --mat-sys-surface-dim: #dcd9dd;
  --mat-sys-surface-tint: #343dff;
  --mat-sys-surface-variant: #e4e1ec;
  --mat-sys-tertiary: #964900;
  --mat-sys-tertiary-container: #ffdcc7;
  --mat-sys-tertiary-fixed: #ffdcc7;
  --mat-sys-tertiary-fixed-dim: #ffb787;
  --mat-sys-neutral-variant20: #303038;
  --mat-sys-neutral10: #1b1b1f;
  --mat-sys-level0:
    0px 0px 0px 0px rgba(0, 0, 0, 0.2),
    0px 0px 0px 0px rgba(0, 0, 0, 0.14),
    0px 0px 0px 0px rgba(0, 0, 0, 0.12);
  --mat-sys-level1:
    0px 2px 1px -1px rgba(0, 0, 0, 0.2),
    0px 1px 1px 0px rgba(0, 0, 0, 0.14),
    0px 1px 3px 0px rgba(0, 0, 0, 0.12);
  --mat-sys-level2:
    0px 3px 3px -2px rgba(0, 0, 0, 0.2),
    0px 3px 4px 0px rgba(0, 0, 0, 0.14),
    0px 1px 8px 0px rgba(0, 0, 0, 0.12);
  --mat-sys-level3:
    0px 3px 5px -1px rgba(0, 0, 0, 0.2),
    0px 6px 10px 0px rgba(0, 0, 0, 0.14),
    0px 1px 18px 0px rgba(0, 0, 0, 0.12);
  --mat-sys-level4:
    0px 5px 5px -3px rgba(0, 0, 0, 0.2),
    0px 8px 10px 1px rgba(0, 0, 0, 0.14),
    0px 3px 14px 2px rgba(0, 0, 0, 0.12);
  --mat-sys-level5:
    0px 7px 8px -4px rgba(0, 0, 0, 0.2),
    0px 12px 17px 2px rgba(0, 0, 0, 0.14),
    0px 5px 22px 4px rgba(0, 0, 0, 0.12);
  --mat-sys-body-large:
    400 1rem / 1.5rem Open Sans,
    Helvetica,
    Arial,
    system-ui,
    sans-serif;
  --mat-sys-body-large-font:
    Open Sans,
    Helvetica,
    Arial,
    system-ui,
    sans-serif;
  --mat-sys-body-large-line-height: 1.5rem;
  --mat-sys-body-large-size: 1rem;
  --mat-sys-body-large-tracking: 0.031rem;
  --mat-sys-body-large-weight: 400;
  --mat-sys-body-medium:
    400 0.875rem / 1.25rem Open Sans,
    Helvetica,
    Arial,
    system-ui,
    sans-serif;
  --mat-sys-body-medium-font:
    Open Sans,
    Helvetica,
    Arial,
    system-ui,
    sans-serif;
  --mat-sys-body-medium-line-height: 1.25rem;
  --mat-sys-body-medium-size: 0.875rem;
  --mat-sys-body-medium-tracking: 0.016rem;
  --mat-sys-body-medium-weight: 400;
  --mat-sys-body-small:
    400 0.75rem / 1rem Open Sans,
    Helvetica,
    Arial,
    system-ui,
    sans-serif;
  --mat-sys-body-small-font:
    Open Sans,
    Helvetica,
    Arial,
    system-ui,
    sans-serif;
  --mat-sys-body-small-line-height: 1rem;
  --mat-sys-body-small-size: 0.75rem;
  --mat-sys-body-small-tracking: 0.025rem;
  --mat-sys-body-small-weight: 400;
  --mat-sys-display-large:
    400 3.562rem / 4rem Public Sans,
    Helvetica,
    Arial,
    system-ui,
    sans-serif;
  --mat-sys-display-large-font:
    Public Sans,
    Helvetica,
    Arial,
    system-ui,
    sans-serif;
  --mat-sys-display-large-line-height: 4rem;
  --mat-sys-display-large-size: 3.562rem;
  --mat-sys-display-large-tracking: -0.016rem;
  --mat-sys-display-large-weight: 400;
  --mat-sys-display-medium:
    400 2.812rem / 3.25rem Public Sans,
    Helvetica,
    Arial,
    system-ui,
    sans-serif;
  --mat-sys-display-medium-font:
    Public Sans,
    Helvetica,
    Arial,
    system-ui,
    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 Public Sans,
    Helvetica,
    Arial,
    system-ui,
    sans-serif;
  --mat-sys-display-small-font:
    Public Sans,
    Helvetica,
    Arial,
    system-ui,
    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 Public Sans,
    Helvetica,
    Arial,
    system-ui,
    sans-serif;
  --mat-sys-headline-large-font:
    Public Sans,
    Helvetica,
    Arial,
    system-ui,
    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 Public Sans,
    Helvetica,
    Arial,
    system-ui,
    sans-serif;
  --mat-sys-headline-medium-font:
    Public Sans,
    Helvetica,
    Arial,
    system-ui,
    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 Public Sans,
    Helvetica,
    Arial,
    system-ui,
    sans-serif;
  --mat-sys-headline-small-font:
    Public Sans,
    Helvetica,
    Arial,
    system-ui,
    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 0.875rem / 1.25rem Open Sans,
    Helvetica,
    Arial,
    system-ui,
    sans-serif;
  --mat-sys-label-large-font:
    Open Sans,
    Helvetica,
    Arial,
    system-ui,
    sans-serif;
  --mat-sys-label-large-line-height: 1.25rem;
  --mat-sys-label-large-size: 0.875rem;
  --mat-sys-label-large-tracking: 0.006rem;
  --mat-sys-label-large-weight: 500;
  --mat-sys-label-large-weight-prominent: 600;
  --mat-sys-label-medium:
    500 0.75rem / 1rem Open Sans,
    Helvetica,
    Arial,
    system-ui,
    sans-serif;
  --mat-sys-label-medium-font:
    Open Sans,
    Helvetica,
    Arial,
    system-ui,
    sans-serif;
  --mat-sys-label-medium-line-height: 1rem;
  --mat-sys-label-medium-size: 0.75rem;
  --mat-sys-label-medium-tracking: 0.031rem;
  --mat-sys-label-medium-weight: 500;
  --mat-sys-label-medium-weight-prominent: 600;
  --mat-sys-label-small:
    500 0.688rem / 1rem Open Sans,
    Helvetica,
    Arial,
    system-ui,
    sans-serif;
  --mat-sys-label-small-font:
    Open Sans,
    Helvetica,
    Arial,
    system-ui,
    sans-serif;
  --mat-sys-label-small-line-height: 1rem;
  --mat-sys-label-small-size: 0.688rem;
  --mat-sys-label-small-tracking: 0.031rem;
  --mat-sys-label-small-weight: 500;
  --mat-sys-title-large:
    400 1.375rem / 1.75rem Public Sans,
    Helvetica,
    Arial,
    system-ui,
    sans-serif;
  --mat-sys-title-large-font:
    Public Sans,
    Helvetica,
    Arial,
    system-ui,
    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 Open Sans,
    Helvetica,
    Arial,
    system-ui,
    sans-serif;
  --mat-sys-title-medium-font:
    Open Sans,
    Helvetica,
    Arial,
    system-ui,
    sans-serif;
  --mat-sys-title-medium-line-height: 1.5rem;
  --mat-sys-title-medium-size: 1rem;
  --mat-sys-title-medium-tracking: 0.009rem;
  --mat-sys-title-medium-weight: 500;
  --mat-sys-title-small:
    500 0.875rem / 1.25rem Open Sans,
    Helvetica,
    Arial,
    system-ui,
    sans-serif;
  --mat-sys-title-small-font:
    Open Sans,
    Helvetica,
    Arial,
    system-ui,
    sans-serif;
  --mat-sys-title-small-line-height: 1.25rem;
  --mat-sys-title-small-size: 0.875rem;
  --mat-sys-title-small-tracking: 0.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: 0.16;
  --mat-sys-focus-state-layer-opacity: 0.12;
  --mat-sys-hover-state-layer-opacity: 0.08;
  --mat-sys-pressed-state-layer-opacity: 0.12;
}
html,
body {
  height: 100%;
}
body {
  margin: 0;
  font-family:
    "Open Sans",
    Helvetica,
    Arial,
    system-ui,
    sans-serif;
  font-size: 16px;
  line-height: 1.6;
  color: var(--mat-sys-on-surface);
  background-color: var(--mat-sys-background);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
h1,
h2,
h3,
h4,
h5,
h6 {
  font-family:
    "Public Sans",
    Helvetica,
    Arial,
    system-ui,
    sans-serif;
  font-weight: 600;
  letter-spacing: -0.01em;
  color: var(--mat-sys-on-surface);
}
h1 {
  font-size: 2rem;
  line-height: 1.25;
  margin: 0 0 1rem;
}
h2 {
  font-size: 1.5rem;
  line-height: 1.3;
  margin: 0 0 0.75rem;
}
h3 {
  font-size: 1.25rem;
  line-height: 1.35;
  margin: 0 0 0.5rem;
}
p {
  line-height: 1.6;
  max-width: 70ch;
}
a {
  color: var(--mat-sys-primary);
  text-decoration: none;
  border-radius: 2px;
}
a:hover {
  text-decoration: underline;
}
a:focus-visible {
  outline: 3px solid var(--mat-sys-primary);
  outline-offset: 2px;
}
p a,
li a,
td a {
  text-decoration: underline;
}
table {
  border-collapse: collapse;
  width: 100%;
  margin-top: 1rem;
  font-size: 0.95rem;
}
th,
td {
  padding: 0.75rem 1rem;
  border-bottom: 1px solid var(--mat-sys-outline-variant);
  text-align: left;
}
th {
  font-weight: 600;
  color: var(--mat-sys-on-surface-variant);
  text-transform: uppercase;
  font-size: 0.8125rem;
  letter-spacing: 0.04em;
}
tbody tr:hover {
  background: color-mix(in srgb, var(--mat-sys-primary) 4%, transparent);
}
@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}
.nepf-status-pass-text {
  color: var(--nepf-status-success);
  font-weight: 500;
}
.nepf-status-fail-text,
.nepf-error-text {
  color: var(--nepf-status-error);
  font-weight: 500;
}
.nepf-status-warn-text {
  color: var(--nepf-status-warn);
  font-weight: 500;
}
.nepf-snackbar-error {
  background: var(--nepf-status-error);
  color: #ffffff;
}
.nepf-calc-config-readonly {
  opacity: 0.7;
}
.skip-link {
  position: absolute;
  top: -100px;
  left: 0.5rem;
  background: var(--mat-sys-primary);
  color: var(--mat-sys-on-primary);
  padding: 0.5rem 1rem;
  border-radius: 4px;
  font-weight: 600;
  z-index: 1000;
  transition: top 150ms ease-in-out;
}
.skip-link:focus {
  top: 0.5rem;
  outline: 3px solid var(--mat-sys-tertiary);
  outline-offset: 2px;
}
.visually-hidden {
  position: absolute !important;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
  border: 0;
}
button:focus-visible,
[role=button]:focus-visible,
[tabindex]:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
  outline: 3px solid var(--mat-sys-primary);
  outline-offset: 2px;
}
:root {
  --space-1: 0.25rem;
  --space-2: 0.5rem;
  --space-3: 0.75rem;
  --space-4: 1rem;
  --space-5: 1.25rem;
  --space-6: 1.5rem;
  --space-8: 2rem;
  --space-10: 2.5rem;
  --space-12: 3rem;
  --space-16: 4rem;
  --radius-sm: 6px;
  --radius-md: 10px;
  --radius-lg: 16px;
  --nepf-status-success: #1b5e20;
  --nepf-status-success-bg: color-mix(in srgb, #1b5e20 14%, transparent);
  --nepf-status-warn: #b25800;
  --nepf-status-warn-bg: color-mix(in srgb, #b25800 14%, transparent);
  --nepf-status-error: #b00020;
  --nepf-status-error-bg: color-mix(in srgb, #b00020 14%, transparent);
  --nepf-status-info: var(--mat-sys-primary);
  --nepf-status-info-bg: color-mix(in srgb, var(--mat-sys-primary) 14%, transparent);
  --nepf-status-pending: var(--mat-sys-on-surface-variant);
  --nepf-status-pending-bg: color-mix(in srgb, var(--mat-sys-on-surface) 8%, transparent);
  --nepf-font-mono:
    ui-monospace,
    Consolas,
    "Cascadia Mono",
    Menlo,
    monospace;
}
.mat-mdc-card {
  border: 1px solid var(--mat-sys-outline-variant);
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04) !important;
  border-radius: var(--radius-md);
}
.nepf-snackbar-success {
  background: var(--nepf-status-success);
  color: #ffffff;
}
.nepf-snackbar-warning {
  background: var(--nepf-status-warn);
  color: #ffffff;
}
.nepf-page-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: var(--space-4);
  margin-bottom: var(--space-6);
  padding-bottom: var(--space-4);
  border-bottom: 1px solid var(--mat-sys-outline-variant);
  flex-wrap: wrap;
}
.nepf-page-header h1 {
  margin: 0;
}
.nepf-page-header--flush {
  margin-bottom: 0;
  padding-bottom: 0;
  border-bottom: none;
}
.nepf-page-header .nepf-page-subtitle {
  font-size: 0.9375rem;
  color: var(--mat-sys-on-surface-variant);
  margin: var(--space-1) 0 0;
  max-width: 60ch;
  line-height: 1.5;
}
.nepf-page-context {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-2);
  margin: var(--space-2) 0 0;
  padding: 0;
}
.nepf-page-context__chip {
  display: inline-flex;
  align-items: center;
  gap: var(--space-1);
  padding: 2px 10px;
  background: color-mix(in srgb, var(--mat-sys-on-surface) 6%, transparent);
  border-radius: 999px;
  font-size: 0.8125rem;
  color: var(--mat-sys-on-surface);
}
.nepf-page-context__chip mat-icon {
  font-size: 16px;
  width: 16px;
  height: 16px;
  color: var(--mat-sys-on-surface-variant);
}
.cdk-overlay-pane.nepf-row-detail-dialog-panel .mat-mdc-dialog-surface,
.cdk-overlay-pane.nepf-row-detail-dialog-panel .mat-mdc-dialog-container {
  overflow-x: hidden !important;
  max-width: 100% !important;
}
.cdk-overlay-pane.nepf-row-detail-dialog-panel .mat-mdc-dialog-content {
  overflow-x: hidden;
}
.nepf-empty-state {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: var(--space-12) var(--space-6);
  color: var(--mat-sys-on-surface-variant);
}
.nepf-empty-state .nepf-empty-icon {
  font-size: 48px;
  width: 48px;
  height: 48px;
  line-height: 1;
  margin-bottom: var(--space-3);
  opacity: 0.5;
}
.nepf-empty-state .nepf-empty-title {
  font-family:
    "Public Sans",
    Helvetica,
    Arial,
    system-ui,
    sans-serif;
  font-size: 1.125rem;
  font-weight: 600;
  margin: 0 0 var(--space-2);
  color: var(--mat-sys-on-surface);
}
.nepf-empty-state .nepf-empty-body {
  font-size: 0.9375rem;
  max-width: 42ch;
  margin: 0 0 var(--space-4);
  line-height: 1.5;
}
.nepf-skeleton {
  background:
    linear-gradient(
      90deg,
      var(--mat-sys-surface-variant) 0%,
      color-mix(in srgb, var(--mat-sys-surface-variant) 60%, var(--mat-sys-surface)) 50%,
      var(--mat-sys-surface-variant) 100%);
  background-size: 200% 100%;
  animation: nepf-skeleton-shimmer 1.4s ease-in-out infinite;
  border-radius: var(--radius-sm);
  min-height: 1em;
}
@keyframes nepf-skeleton-shimmer {
  0% {
    background-position: 200% 0;
  }
  100% {
    background-position: -200% 0;
  }
}
.nepf-section {
  padding: var(--space-5) var(--space-6);
  border: 1px solid var(--mat-sys-outline-variant);
  border-radius: var(--radius-md);
  background: var(--mat-sys-surface);
}
.nepf-section + .nepf-section {
  margin-top: var(--space-4);
}
.nepf-section-title {
  font-family:
    "Public Sans",
    Helvetica,
    Arial,
    system-ui,
    sans-serif;
  font-size: 0.9375rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--mat-sys-on-surface-variant);
  margin: 0 0 var(--space-3);
}
table.mat-mdc-table.nepf-table-zebra tbody tr.mat-mdc-row:nth-child(even) {
  background: color-mix(in srgb, var(--mat-sys-surface-variant) 30%, transparent);
}
.nepf-table-wrap {
  border: 1px solid var(--mat-sys-outline-variant);
  border-radius: var(--radius-md);
  background: var(--mat-sys-surface);
  overflow: hidden;
}
.nepf-alert {
  display: flex;
  align-items: flex-start;
  gap: var(--space-2);
  padding: var(--space-3) var(--space-4);
  background: color-mix(in srgb, var(--nepf-status-error) 8%, transparent);
  border-left: 3px solid var(--nepf-status-error);
  border-radius: var(--radius-sm);
  color: var(--mat-sys-on-surface);
  font-size: 0.9375rem;
  line-height: 1.5;
}
.nepf-alert mat-icon {
  color: var(--nepf-status-error);
  flex-shrink: 0;
}
.nepf-alert .nepf-alert__title {
  font-weight: 600;
  margin: 0 0 var(--space-1);
}
.nepf-alert .nepf-alert__body {
  margin: 0;
}
.nepf-alert .nepf-alert__actions {
  display: flex;
  gap: var(--space-2);
  margin-top: var(--space-2);
}
.nepf-alert--warning {
  background: color-mix(in srgb, var(--nepf-status-warn) 8%, transparent);
  border-left-color: var(--nepf-status-warn);
}
.nepf-alert--warning mat-icon {
  color: var(--nepf-status-warn);
}
.nepf-alert--info {
  background: color-mix(in srgb, var(--nepf-status-info) 8%, transparent);
  border-left-color: var(--nepf-status-info);
}
.nepf-alert--info mat-icon {
  color: var(--nepf-status-info);
}
.nepf-alert--success {
  background: color-mix(in srgb, var(--nepf-status-success) 8%, transparent);
  border-left-color: var(--nepf-status-success);
}
.nepf-alert--success mat-icon {
  color: var(--nepf-status-success);
}
.nepf-page {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
  padding: var(--space-2) var(--space-2);
}
.nepf-filter-row {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-3);
  align-items: center;
}
.nepf-filter-row mat-form-field {
  min-width: 180px;
}
.nepf-filter-row__clear {
  margin-left: auto;
}
.nepf-toolbar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-3);
  padding: var(--space-3);
  margin-block-end: var(--space-3);
  background: var(--mat-sys-surface);
  border: 1px solid var(--mat-sys-outline-variant);
  border-radius: var(--radius-md, 8px);
}
.nepf-toolbar__actions {
  flex: 1 0 100%;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: var(--space-3);
}
@media (max-width: 768px) {
  .nepf-toolbar {
    padding: var(--space-2);
    gap: var(--space-2);
  }
}
.nepf-grid-cards {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
  gap: var(--space-4);
}
.nepf-loading-block {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-3);
  padding: var(--space-12) var(--space-2);
}
.nepf-loading-block p {
  margin: 0;
  color: var(--mat-sys-on-surface-variant);
}
.nepf-num {
  text-align: right;
  font-variant-numeric: tabular-nums;
}
.nepf-time {
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}
.nepf-cell-actions {
  text-align: right;
  white-space: nowrap;
}
.nepf-cell-actions > * + * {
  margin-left: var(--space-1);
}
.nepf-cell-primary {
  font-weight: 500;
}
.nepf-row--disabled td {
  opacity: 0.55;
  text-decoration: line-through;
}
.nepf-muted {
  color: var(--mat-sys-on-surface-variant);
}
.nepf-caption {
  font-size: 0.8125rem;
  color: var(--mat-sys-on-surface-variant);
  line-height: 1.5;
}
.nepf-strong {
  font-weight: 600;
}
.nepf-icon-inline {
  vertical-align: middle;
  margin-right: var(--space-1);
  font-size: 18px;
  width: 18px;
  height: 18px;
}
.nepf-list-plain {
  list-style: none;
  padding-left: 0;
}
.nepf-fieldset-plain {
  border: none;
  padding: 0;
  margin: 0;
  min-width: 0;
}
.nepf-form-row {
  display: flex;
  gap: var(--space-3);
}
.nepf-form-row > mat-form-field {
  flex: 1;
  min-width: 0;
}
@media (max-width: 500px) {
  .nepf-form-row {
    flex-direction: column;
    gap: 0;
  }
}
.nepf-form-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--space-3);
}
@media (max-width: 600px) {
  .nepf-form-grid {
    grid-template-columns: 1fr;
  }
}
.nepf-disclosure {
  border: 1px solid var(--mat-sys-outline-variant);
  border-radius: var(--radius-md);
  background: var(--mat-sys-surface);
  overflow: hidden;
}
.nepf-disclosure > summary {
  cursor: pointer;
  list-style: none;
  display: flex;
  align-items: center;
  gap: var(--space-2);
  padding: var(--space-3) var(--space-4);
  font-weight: 500;
  font-size: 0.9375rem;
  -webkit-user-select: none;
  user-select: none;
  transition: background-color 160ms ease-in-out;
}
.nepf-disclosure > summary::-webkit-details-marker {
  display: none;
}
.nepf-disclosure > summary:hover {
  background: color-mix(in srgb, var(--mat-sys-on-surface) 4%, transparent);
}
.nepf-disclosure > summary:focus-visible {
  outline: 3px solid var(--mat-sys-primary);
  outline-offset: -3px;
}
.nepf-disclosure[open] > summary {
  border-bottom: 1px solid var(--mat-sys-outline-variant);
}
.nepf-disclosure__chevron {
  transition: transform 160ms ease-in-out;
  color: var(--mat-sys-on-surface-variant);
}
.nepf-disclosure[open] .nepf-disclosure__chevron {
  transform: rotate(90deg);
}
.nepf-disclosure__hint {
  margin-left: auto;
  font-size: 0.8125rem;
  color: var(--mat-sys-on-surface-variant);
  font-weight: 400;
}
.nepf-disclosure__body {
  padding: var(--space-3) var(--space-4);
}
.nepf-grid-detail {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 320px;
  gap: var(--space-4);
  align-items: start;
}
@media (max-width: 1024px) {
  .nepf-grid-detail {
    grid-template-columns: 1fr;
  }
}
.nepf-grid-detail > .nepf-grid-detail__main {
  min-width: 0;
}
.nepf-grid-detail > .nepf-grid-detail__side {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
}
.nepf-grid-detail--embedded {
  grid-template-columns: 1fr;
}
.nepf-grid-detail--embedded > .nepf-grid-detail__side {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: var(--space-4);
  align-items: start;
}
.nepf-dl-grid {
  display: grid;
  grid-template-columns: max-content 1fr;
  gap: var(--space-2) var(--space-4);
  margin: 0;
}
.nepf-dl-grid dt {
  font-weight: 600;
  color: var(--mat-sys-on-surface-variant);
  font-size: 0.875rem;
}
.nepf-dl-grid dd {
  margin: 0;
}
.mat-mdc-dialog-container .mat-mdc-dialog-surface {
  border-radius: var(--radius-lg) !important;
  border: 1px solid var(--mat-sys-outline-variant);
  box-shadow: 0 16px 40px rgba(15, 23, 42, 0.14), 0 2px 6px rgba(15, 23, 42, 0.06) !important;
}
.mat-mdc-dialog-container .mat-mdc-dialog-title.mdc-dialog__title,
.mat-mdc-dialog-container [mat-dialog-title] {
  font-family:
    "Public Sans",
    Helvetica,
    Arial,
    system-ui,
    sans-serif !important;
  font-size: 1.25rem !important;
  font-weight: 600 !important;
  line-height: 1.3 !important;
  letter-spacing: -0.01em !important;
  padding: var(--space-5) var(--space-6) var(--space-3) !important;
  margin: 0 !important;
  color: var(--mat-sys-on-surface);
  border-bottom: 1px solid var(--mat-sys-outline-variant);
}
.mat-mdc-dialog-container .mat-mdc-dialog-title.mdc-dialog__title::before {
  display: none !important;
}
.mat-mdc-dialog-container .mat-mdc-dialog-content.mdc-dialog__content {
  padding: var(--space-5) var(--space-6) var(--space-3) !important;
  color: var(--mat-sys-on-surface) !important;
  font-size: 0.9375rem;
  line-height: 1.5;
  max-height: 70vh;
}
.mat-mdc-dialog-container .mat-mdc-dialog-actions.mdc-dialog__actions {
  padding: var(--space-3) var(--space-6) var(--space-4) !important;
  border-top: 1px solid var(--mat-sys-outline-variant);
  gap: var(--space-2);
  min-height: 0;
  margin: 0;
  background: color-mix(in srgb, var(--mat-sys-surface-variant) 30%, transparent);
}
.mat-mdc-dialog-container .mat-mdc-form-field {
  width: 100%;
}
.mat-mdc-dialog-container .mat-mdc-dialog-surface {
  min-width: min(440px, 100vw);
}
.cdk-overlay-dark-backdrop.cdk-overlay-backdrop-showing {
  background: rgba(15, 23, 42, 0.45);
  -webkit-backdrop-filter: blur(2px);
  backdrop-filter: blur(2px);
}
.nepf-version-history-field {
  width: 100%;
  max-width: 480px;
}
.nepf-version-history-panel {
  min-width: 320px !important;
}
.nepf-version-history-panel .mat-mdc-option .mdc-list-item__primary-text {
  white-space: normal;
  line-height: 1.4;
}
@media (max-width: 1024px) {
  .nepf-page {
    padding: var(--space-1) var(--space-1);
    gap: var(--space-3);
  }
}
@media (max-width: 768px) {
  h1 {
    font-size: 1.5rem;
    line-height: 1.25;
  }
  h2 {
    font-size: 1.25rem;
  }
  h3 {
    font-size: 1.0625rem;
  }
  .nepf-page-header {
    flex-direction: column;
    align-items: stretch;
    gap: var(--space-2);
    padding-bottom: var(--space-3);
    margin-bottom: var(--space-4);
  }
  .nepf-page-header > div {
    min-width: 0;
  }
  .nepf-page-header > button,
  .nepf-page-header > a[mat-flat-button],
  .nepf-page-header > a[mat-stroked-button] {
    align-self: flex-start;
  }
  .nepf-filter-row mat-form-field {
    flex: 1 1 100%;
    min-width: 0;
  }
  .nepf-filter-row__clear {
    flex: 1 1 100%;
    margin-left: 0;
  }
  .nepf-empty-state {
    padding: var(--space-8) var(--space-3);
  }
  .nepf-alert {
    padding: var(--space-3);
  }
  .nepf-alert .nepf-alert__actions {
    flex-direction: column;
    align-items: stretch;
  }
  .nepf-alert .nepf-alert__actions > button,
  .nepf-alert .nepf-alert__actions > a {
    width: 100%;
  }
  .mat-mdc-card-content {
    padding: var(--space-3) !important;
  }
  .mat-mdc-card-header {
    padding: var(--space-3) var(--space-3) 0 !important;
  }
  .cdk-overlay-pane.mat-mdc-dialog-panel {
    max-width: 100vw !important;
  }
  .mat-mdc-dialog-container .mat-mdc-dialog-surface {
    min-width: 0 !important;
  }
  .mat-mdc-dialog-content {
    max-height: 70vh;
  }
  .nepf-disclosure > summary,
  .nepf-disclosure__body,
  .nepf-section {
    padding: var(--space-3);
  }
}
@media (max-width: 600px) {
  .nepf-table-wrap {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
  .nepf-table-wrap > table {
    min-width: 640px;
  }
}
@media (max-width: 768px) {
  button[mat-icon-button],
  a[mat-icon-button] {
    min-width: 44px;
    min-height: 44px;
  }
}
.nepf-kpi-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: var(--space-3);
  margin-block-end: var(--space-4);
}
.nepf-kpi {
  position: relative;
  background: var(--mat-sys-surface);
  border: 1px solid var(--mat-sys-outline-variant);
  border-radius: var(--radius-md);
  padding: var(--space-3) var(--space-4);
  display: flex;
  flex-direction: column;
  gap: var(--space-1);
  overflow: hidden;
}
.nepf-kpi__label {
  font-size: 0.8125rem;
  color: var(--mat-sys-on-surface-variant);
  text-transform: uppercase;
  letter-spacing: 0.4px;
  font-weight: 500;
}
.nepf-kpi__value {
  font-size: 2rem;
  font-weight: 600;
  font-variant-numeric: tabular-nums;
  color: var(--mat-sys-on-surface);
  line-height: 1.1;
}
.nepf-kpi__sub {
  font-size: 1rem;
  font-weight: 400;
  color: var(--mat-sys-on-surface-variant);
  margin-inline-start: 4px;
}
mat-icon.nepf-kpi__icon {
  position: absolute;
  right: var(--space-3);
  bottom: var(--space-3);
  font-size: 36px;
  width: 36px;
  height: 36px;
  line-height: 1;
  color: color-mix(in srgb, var(--mat-sys-primary) 30%, transparent);
}
.nepf-kpi--warning {
  border-color: color-mix(in srgb, #ed6c02 30%, transparent);
  background: color-mix(in srgb, #ed6c02 4%, var(--mat-sys-surface));
}
.nepf-kpi--warning .nepf-kpi__icon {
  color: color-mix(in srgb, #ed6c02 50%, transparent);
}
.nepf-kpi-strip {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: var(--space-3);
  margin-block-end: var(--space-3);
}
button.nepf-kpi,
a.nepf-kpi {
  appearance: none;
  font: inherit;
  text-align: left;
  cursor: pointer;
  border-left: 3px solid var(--mat-sys-outline-variant);
  transition:
    box-shadow 180ms ease-in-out,
    border-color 180ms ease-in-out,
    transform 180ms ease-in-out;
}
a.nepf-kpi {
  text-decoration: none;
  color: inherit;
}
button.nepf-kpi:hover,
a.nepf-kpi:hover {
  box-shadow: 0 4px 14px rgba(15, 23, 42, 0.08);
  border-color: color-mix(in srgb, var(--mat-sys-primary) 45%, var(--mat-sys-outline-variant));
}
button.nepf-kpi:focus-visible,
a.nepf-kpi:focus-visible {
  outline: 3px solid var(--mat-sys-primary);
  outline-offset: 2px;
}
.nepf-kpi--active {
  border-color: var(--mat-sys-primary);
  box-shadow: inset 0 0 0 1px var(--mat-sys-primary);
}
.nepf-kpi--success {
  border-left-color: var(--nepf-status-success);
}
.nepf-kpi--success .nepf-kpi__icon {
  color: color-mix(in srgb, var(--nepf-status-success) 55%, transparent);
}
.nepf-kpi--success .nepf-kpi__value {
  color: var(--nepf-status-success);
}
.nepf-kpi--warn {
  border-left-color: var(--nepf-status-warn);
}
.nepf-kpi--warn .nepf-kpi__icon {
  color: color-mix(in srgb, var(--nepf-status-warn) 55%, transparent);
}
.nepf-kpi--warn .nepf-kpi__value {
  color: var(--nepf-status-warn);
}
.nepf-kpi--error {
  border-left-color: var(--nepf-status-error);
}
.nepf-kpi--error .nepf-kpi__icon {
  color: color-mix(in srgb, var(--nepf-status-error) 55%, transparent);
}
.nepf-kpi--error .nepf-kpi__value {
  color: var(--nepf-status-error);
}
.nepf-kpi--info {
  border-left-color: var(--nepf-status-info);
}
.nepf-kpi--info .nepf-kpi__icon {
  color: color-mix(in srgb, var(--nepf-status-info) 55%, transparent);
}
.nepf-kpi--info .nepf-kpi__value {
  color: var(--nepf-status-info);
}
.nepf-kpi--neutral {
  border-left-color: var(--mat-sys-outline-variant);
}
@media (prefers-reduced-motion: reduce) {
  button.nepf-kpi {
    transition: none;
  }
}
.nepf-card-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  gap: 0.75rem;
  margin: 0.5rem 0 1rem;
}
.nepf-card-surface {
  border: 1px solid var(--mat-sys-outline-variant);
  border-radius: var(--radius-md, 8px);
  padding: var(--space-3);
  background: var(--mat-sys-surface);
  display: flex;
  flex-direction: column;
  gap: var(--space-1);
}
.pa-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--space-3);
}
.pa-card {
  display: block;
  min-width: 0;
}
.pa-card--wide {
  grid-column: 1/-1;
}
@media (max-width: 960px) {
  .pa-grid {
    grid-template-columns: 1fr;
  }
}
.pa-card__cta {
  margin-block-start: var(--space-2);
}
.pa-card__actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-2);
}
.pa-card__actions a mat-icon {
  margin-inline-end: 4px;
  vertical-align: -3px;
}
.pa-funnel {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.pa-funnel li {
  display: grid;
  grid-template-columns: 140px 1fr 60px;
  align-items: center;
  gap: var(--space-2);
}
.pa-funnel__label {
  font-size: 0.875rem;
  color: var(--mat-sys-on-surface);
}
.pa-funnel__count {
  text-align: right;
  font-variant-numeric: tabular-nums;
  font-weight: 600;
  color: var(--mat-sys-on-surface);
}
.pa-funnel__bar {
  display: block;
  height: 10px;
  border-radius: 999px;
  background: var(--mat-sys-outline-variant);
  min-width: 8px;
  transition: width 240ms ease-in-out;
}
.pa-funnel__bar--info {
  background: color-mix(in srgb, var(--mat-sys-primary) 60%, transparent);
}
.pa-funnel__bar--primary {
  background: var(--mat-sys-primary);
}
.pa-funnel__bar--warning {
  background: #ed6c02;
}
.pa-funnel__bar--success {
  background: var(--nepf-status-success);
}
.pa-funnel__bar--error {
  background: var(--mat-sys-error);
}
.pa-roles {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
}
.pa-role-row {
  display: flex;
  justify-content: space-between;
  padding: 6px 0;
  font-size: 0.875rem;
  border-bottom: 1px solid var(--mat-sys-outline-variant);
}
.pa-role-row:last-child {
  border-bottom: 0;
}
.pa-role-row__label {
  color: var(--mat-sys-on-surface);
}
.pa-role-row__count {
  font-weight: 600;
  font-variant-numeric: tabular-nums;
  color: var(--mat-sys-on-surface);
}
.pa-activity {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 4px;
  max-height: 380px;
  overflow-y: auto;
}
.pa-activity__item {
  display: flex;
  align-items: flex-start;
  gap: var(--space-2);
  padding: 8px 0;
  border-bottom: 1px solid var(--mat-sys-outline-variant);
}
.pa-activity__item:last-child {
  border-bottom: 0;
}
.pa-activity__icon {
  color: var(--mat-sys-on-surface-variant);
  flex-shrink: 0;
  margin-top: 2px;
}
.pa-activity__body {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}
.pa-activity__op {
  font-weight: 500;
  color: var(--mat-sys-on-surface);
  font-size: 0.875rem;
}
.pa-activity__meta {
  font-size: 0.75rem;
  color: var(--mat-sys-on-surface-variant);
  word-break: break-word;
}
.pa-activity__meta code {
  font-family: var(--nepf-font-mono);
  font-size: 0.6875rem;
  background: color-mix(in srgb, var(--mat-sys-on-surface) 6%, transparent);
  padding: 1px 6px;
  border-radius: 4px;
}
.sa-district-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.sa-district-row {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.sa-district-row__head {
  display: flex;
  align-items: baseline;
  gap: var(--space-2);
  font-size: 0.875rem;
}
.sa-district-row__name {
  font-weight: 500;
  color: var(--mat-sys-on-surface);
}
.sa-district-row__code {
  color: var(--mat-sys-on-surface-variant);
  font-size: 0.75rem;
  font-family: var(--nepf-font-mono);
}
.sa-district-row__total {
  margin-inline-start: auto;
  color: var(--mat-sys-on-surface-variant);
  font-size: 0.75rem;
  font-variant-numeric: tabular-nums;
}
.sa-district-row__bar {
  display: flex;
  width: 100%;
  height: 16px;
  border-radius: 999px;
  overflow: hidden;
  background: var(--mat-sys-outline-variant);
}
.sa-district-row__seg {
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.75rem;
  font-weight: 600;
  color: var(--mat-sys-on-surface);
  text-shadow: none;
  min-width: 28px;
  transition: width 240ms ease-in-out;
  overflow: hidden;
}
.sa-district-row__seg + .sa-district-row__seg {
  border-left: 1px solid var(--mat-sys-outline-variant);
}
.sa-district-row__seg--approved {
  background: var(--nepf-status-success-bg);
  color: var(--nepf-status-success);
}
.sa-district-row__seg--inprogress {
  background: var(--nepf-status-info-bg);
  color: var(--nepf-status-info);
}
.sa-district-row__seg--blocked {
  background: var(--nepf-status-error-bg);
  color: var(--nepf-status-error);
}
.sch-template-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.sch-template-row {
  display: grid;
  grid-template-columns: 160px 100px 1fr;
  align-items: center;
  gap: var(--space-2);
  padding: 10px 12px;
  border: 1px solid var(--mat-sys-outline-variant);
  border-radius: var(--radius-sm);
  background: var(--mat-sys-surface);
}
.sch-template-row__name {
  font-weight: 500;
  color: var(--mat-sys-on-surface);
}
.sch-template-row__count {
  color: var(--mat-sys-on-surface-variant);
  font-size: 0.875rem;
  font-variant-numeric: tabular-nums;
}
.sch-template-row__status {
  justify-self: end;
}
.sch-empty {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-2);
  padding: var(--space-6) var(--space-3);
  text-align: center;
}
.sch-empty mat-icon {
  font-size: 40px;
  width: 40px;
  height: 40px;
  line-height: 1;
  color: var(--mat-sys-on-surface-variant);
}
.mat-mdc-chip.nepf-chip {
  height: auto;
  min-height: 26px;
  --mdc-chip-container-height: 26px;
  font-weight: 600;
  letter-spacing: 0.01em;
}
.mat-mdc-chip.nepf-chip .mdc-evolution-chip__text-label {
  font-size: 0.75rem;
}
.mat-mdc-chip.nepf-chip .mat-icon {
  font-size: 16px;
  width: 16px;
  height: 16px;
}
.mat-mdc-chip.nepf-chip--pending {
  --mdc-chip-elevated-container-color: var(--nepf-status-pending-bg);
  --mdc-chip-label-text-color: var(--nepf-status-pending);
  background-color: var(--nepf-status-pending-bg) !important;
  color: var(--nepf-status-pending) !important;
}
.mat-mdc-chip.nepf-chip--info {
  --mdc-chip-elevated-container-color: var(--nepf-status-info-bg);
  --mdc-chip-label-text-color: var(--nepf-status-info);
  background-color: var(--nepf-status-info-bg) !important;
  color: var(--nepf-status-info) !important;
}
.mat-mdc-chip.nepf-chip--warning {
  --mdc-chip-elevated-container-color: var(--nepf-status-warn-bg);
  --mdc-chip-label-text-color: var(--nepf-status-warn);
  background-color: var(--nepf-status-warn-bg) !important;
  color: var(--nepf-status-warn) !important;
}
.mat-mdc-chip.nepf-chip--success {
  --mdc-chip-elevated-container-color: var(--nepf-status-success-bg);
  --mdc-chip-label-text-color: var(--nepf-status-success);
  background-color: var(--nepf-status-success-bg) !important;
  color: var(--nepf-status-success) !important;
}
.mat-mdc-chip.nepf-chip--error {
  --mdc-chip-elevated-container-color: var(--nepf-status-error-bg);
  --mdc-chip-label-text-color: var(--nepf-status-error);
  background-color: var(--nepf-status-error-bg) !important;
  color: var(--nepf-status-error) !important;
}
.mat-mdc-chip.nepf-chip--neutral {
  --mdc-chip-elevated-container-color: color-mix(in srgb, var(--mat-sys-outline-variant) 50%, transparent);
  --mdc-chip-label-text-color: var(--mat-sys-on-surface-variant);
  background-color: color-mix(in srgb, var(--mat-sys-outline-variant) 50%, transparent) !important;
  color: var(--mat-sys-on-surface-variant) !important;
}
.nepf-submission-head {
  align-items: center;
}
.nepf-submission-head__lead {
  min-width: 0;
}
.nepf-submission-head__crumb {
  display: block;
  margin-bottom: var(--space-2);
}
.nepf-submission-head__title {
  font-size: 1.75rem;
  line-height: 1.2;
  margin: 0 0 var(--space-2);
}
.nepf-submission-head__meta {
  font-size: 0.9375rem;
  color: var(--mat-sys-on-surface-variant);
  margin: 0;
  line-height: 1.5;
  max-width: 80ch;
}
.nepf-submission-tabs .mat-mdc-tab-header {
  border-bottom: 1px solid var(--mat-sys-outline-variant);
  margin-bottom: var(--space-2);
}
.nepf-submission-tabs .mat-mdc-tab-body-content {
  padding-top: var(--space-6);
  line-height: 1.5;
  overflow: visible;
  contain: inline-size;
  max-width: 100%;
}
.nepf-submission-tabs .mat-mdc-tab-body,
.nepf-submission-tabs .mat-mdc-tab-body.mat-mdc-tab-body-active {
  overflow: visible;
}
.nepf-submission-tabs .mat-mdc-tab-body-wrapper {
  overflow: visible;
}
.nepf-submission-card.mat-mdc-card {
  border: 1px solid var(--mat-sys-outline-variant);
  border-radius: var(--radius-md);
  transition: box-shadow 200ms ease-in-out, border-color 200ms ease-in-out;
}
.nepf-submission-card.mat-mdc-card:hover {
  box-shadow: 0 4px 14px rgba(15, 23, 42, 0.08) !important;
  border-color: color-mix(in srgb, var(--mat-sys-primary) 35%, var(--mat-sys-outline-variant));
}
.nepf-submission-card .mat-mdc-card-content {
  padding: var(--space-5);
}
.nepf-submission-card .mat-mdc-card-header {
  padding: var(--space-5) var(--space-5) 0;
}
.nepf-submission-card .mat-mdc-card-title {
  font-family:
    "Public Sans",
    Helvetica,
    Arial,
    system-ui,
    sans-serif;
  font-weight: 600;
  font-size: 1.0625rem;
  margin-bottom: var(--space-2);
}
.nepf-submission-card--action.mat-mdc-card {
  border-color: color-mix(in srgb, var(--mat-sys-primary) 45%, var(--mat-sys-outline-variant));
  border-left: 3px solid var(--mat-sys-primary);
  background: color-mix(in srgb, var(--mat-sys-primary) 4%, var(--mat-sys-surface));
}
.nepf-submission-card--action .mat-mdc-card-title {
  display: flex;
  align-items: center;
  gap: var(--space-2);
  color: var(--mat-sys-primary);
}
.nepf-action-card__icon {
  font-size: 20px;
  width: 20px;
  height: 20px;
  flex-shrink: 0;
}
@media (prefers-reduced-motion: reduce) {
  .nepf-submission-card.mat-mdc-card {
    transition: none;
  }
}
.nepf-stat-tiles.nepf-summary-tiles {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
  gap: var(--space-4);
}
.nepf-stat-tile {
  position: relative;
  text-align: left;
  padding: var(--space-4) var(--space-5);
  border-top: 3px solid var(--mat-sys-outline-variant);
  overflow: hidden;
}
.nepf-stat-tile .nepf-summary-tile__inner {
  align-items: flex-start;
  gap: var(--space-1);
}
.nepf-stat-tile .nepf-tile-value {
  font-size: 2rem;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
  line-height: 1.1;
  margin: 0;
}
.nepf-stat-tile .nepf-tile-label {
  font-size: 0.75rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--mat-sys-on-surface-variant);
}
.nepf-stat-tile mat-icon {
  position: absolute;
  top: var(--space-3);
  right: var(--space-3);
  font-size: 22px;
  width: 22px;
  height: 22px;
  margin: 0;
  opacity: 0.55;
}
.nepf-stat-tile--info {
  border-top-color: var(--nepf-status-info);
}
.nepf-stat-tile--success {
  border-top-color: var(--nepf-status-success);
}
.nepf-stat-tile--error {
  border-top-color: var(--nepf-status-error);
}
.nepf-stat-tile--warn {
  border-top-color: var(--nepf-status-warn);
}
@media (max-width: 768px) {
  .nepf-submission-head__title {
    font-size: 1.375rem;
  }
  .nepf-submission-card .mat-mdc-card-content {
    padding: var(--space-4);
  }
}

/* angular:styles/global:styles */
/*# sourceMappingURL=styles.css.map */
