@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-display:swap;font-weight:300;src:url("./media/plus-jakarta-sans-cyrillic-ext-300-normal-RO6N5AN2.woff2") format("woff2"),url("./media/plus-jakarta-sans-cyrillic-ext-300-normal-DI7IJMSF.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:Plus Jakarta Sans;font-style:normal;font-display:swap;font-weight:300;src:url("./media/plus-jakarta-sans-vietnamese-300-normal-MB2ZSXL6.woff2") format("woff2"),url("./media/plus-jakarta-sans-vietnamese-300-normal-HUTLPQNL.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:Plus Jakarta Sans;font-style:normal;font-display:swap;font-weight:300;src:url("./media/plus-jakarta-sans-latin-ext-300-normal-NBWUA56B.woff2") format("woff2"),url("./media/plus-jakarta-sans-latin-ext-300-normal-SH7JJZBE.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:Plus Jakarta Sans;font-style:normal;font-display:swap;font-weight:300;src:url("./media/plus-jakarta-sans-latin-300-normal-KMCMHUC2.woff2") format("woff2"),url("./media/plus-jakarta-sans-latin-300-normal-ZMZIIDHD.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}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-display:swap;font-weight:400;src:url("./media/plus-jakarta-sans-cyrillic-ext-400-normal-2NNEY4IT.woff2") format("woff2"),url("./media/plus-jakarta-sans-cyrillic-ext-400-normal-R5TFPZPA.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:Plus Jakarta Sans;font-style:normal;font-display:swap;font-weight:400;src:url("./media/plus-jakarta-sans-vietnamese-400-normal-4YNBRCN2.woff2") format("woff2"),url("./media/plus-jakarta-sans-vietnamese-400-normal-7YKB3GLW.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:Plus Jakarta Sans;font-style:normal;font-display:swap;font-weight:400;src:url("./media/plus-jakarta-sans-latin-ext-400-normal-DETV4OMK.woff2") format("woff2"),url("./media/plus-jakarta-sans-latin-ext-400-normal-3TVPHM4Q.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:Plus Jakarta Sans;font-style:normal;font-display:swap;font-weight:400;src:url("./media/plus-jakarta-sans-latin-400-normal-EIG3GRNB.woff2") format("woff2"),url("./media/plus-jakarta-sans-latin-400-normal-GNGT626H.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}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-display:swap;font-weight:500;src:url("./media/plus-jakarta-sans-cyrillic-ext-500-normal-ICQOKO3Z.woff2") format("woff2"),url("./media/plus-jakarta-sans-cyrillic-ext-500-normal-EYPG33CN.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:Plus Jakarta Sans;font-style:normal;font-display:swap;font-weight:500;src:url("./media/plus-jakarta-sans-vietnamese-500-normal-VNXHDEF3.woff2") format("woff2"),url("./media/plus-jakarta-sans-vietnamese-500-normal-INHXTASZ.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:Plus Jakarta Sans;font-style:normal;font-display:swap;font-weight:500;src:url("./media/plus-jakarta-sans-latin-ext-500-normal-ZEMRWY4K.woff2") format("woff2"),url("./media/plus-jakarta-sans-latin-ext-500-normal-UA6NZWG2.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:Plus Jakarta Sans;font-style:normal;font-display:swap;font-weight:500;src:url("./media/plus-jakarta-sans-latin-500-normal-NGHMNRZC.woff2") format("woff2"),url("./media/plus-jakarta-sans-latin-500-normal-77CDR4QO.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}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-display:swap;font-weight:600;src:url("./media/plus-jakarta-sans-cyrillic-ext-600-normal-S7UNJGCL.woff2") format("woff2"),url("./media/plus-jakarta-sans-cyrillic-ext-600-normal-QYPGW4MS.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:Plus Jakarta Sans;font-style:normal;font-display:swap;font-weight:600;src:url("./media/plus-jakarta-sans-vietnamese-600-normal-V3IXZNX5.woff2") format("woff2"),url("./media/plus-jakarta-sans-vietnamese-600-normal-P5XL7VYH.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:Plus Jakarta Sans;font-style:normal;font-display:swap;font-weight:600;src:url("./media/plus-jakarta-sans-latin-ext-600-normal-7SBJ4PZZ.woff2") format("woff2"),url("./media/plus-jakarta-sans-latin-ext-600-normal-KTG2KSBM.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:Plus Jakarta Sans;font-style:normal;font-display:swap;font-weight:600;src:url("./media/plus-jakarta-sans-latin-600-normal-EJXYMLOY.woff2") format("woff2"),url("./media/plus-jakarta-sans-latin-600-normal-FM56PCEU.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}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-display:swap;font-weight:700;src:url("./media/plus-jakarta-sans-cyrillic-ext-700-normal-BPSWBP5S.woff2") format("woff2"),url("./media/plus-jakarta-sans-cyrillic-ext-700-normal-5PWJCKSC.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:Plus Jakarta Sans;font-style:normal;font-display:swap;font-weight:700;src:url("./media/plus-jakarta-sans-vietnamese-700-normal-OTDKNK4B.woff2") format("woff2"),url("./media/plus-jakarta-sans-vietnamese-700-normal-WJ3WOQI4.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:Plus Jakarta Sans;font-style:normal;font-display:swap;font-weight:700;src:url("./media/plus-jakarta-sans-latin-ext-700-normal-KUHVEBZO.woff2") format("woff2"),url("./media/plus-jakarta-sans-latin-ext-700-normal-JCLRB63R.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:Plus Jakarta Sans;font-style:normal;font-display:swap;font-weight:700;src:url("./media/plus-jakarta-sans-latin-700-normal-3BBEPNMU.woff2") format("woff2"),url("./media/plus-jakarta-sans-latin-700-normal-F25JOMMF.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}@font-face{font-family:Material Symbols Outlined;font-style:normal;font-display:swap;font-weight:400;src:url("./media/material-symbols-outlined-latin-400-normal-FN7LBJA7.woff2") format("woff2"),url("./media/material-symbols-outlined-latin-400-normal-2D77PVQS.woff") format("woff")}:root{--color-primary: #5d87ff;--color-primary-tint: #ecf2ff;--color-info: #49beff;--color-info-tint: #e8f7ff;--color-success: #13dea1;--color-success-tint: #e6fff3;--color-warning: #ffae1f;--color-warning-tint: #fef5e5;--color-danger: #fa896b;--color-danger-tint: #fdede8;--color-text: #2a3547;--color-text-muted: #7c8fac;--color-border: #e5eaef;--sidebar-width: 270px;--navbar-height: 70px;--sidebar-bg: #ffffff;--sidebar-bg-active: var(--color-primary-tint);--sidebar-text: #2a3547;--sidebar-text-muted: #7c8fac;--sidebar-text-active: var(--color-primary);--surface: #ffffff;--page-bg: #f6f9fc;--radius-large: 24px;--radius-base: 12px;--shadow-card: 0 1px 3px rgba(0, 0, 0, .06), 0 1px 2px rgba(0, 0, 0, .04);--shadow-raised: 0 4px 14px rgba(0, 0, 0, .08)}*{box-sizing:border-box}html,body{height:100%}html{scrollbar-gutter:stable}html:has(.auth-page){scrollbar-gutter:auto}body{margin:0;font-family:Plus Jakarta Sans,Helvetica Neue,Arial,sans-serif;color:var(--color-text);background:var(--page-bg);-webkit-font-smoothing:antialiased}.material-symbols-outlined{font-family:Material Symbols Outlined;font-weight:400;font-style:normal;font-size:24px;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;word-wrap:normal;direction:ltr;font-feature-settings:"liga";-webkit-font-smoothing:antialiased;font-variation-settings:"FILL" 0,"wght" 400,"GRAD" 0,"opsz" 24;vertical-align:middle;line-height:1}h1,h2,h3,h4,h5,h6{font-weight:600;color:var(--color-text)}.btn-primary{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:12px 20px;border:none;border-radius:var(--radius-base);background:var(--color-primary);color:#fff;font:inherit;font-weight:600;text-decoration:none;cursor:pointer;transition:opacity .15s ease}.btn-primary:hover{opacity:.9}.btn-primary:disabled{opacity:.5;cursor:default}.btn-primary--inline{width:auto;padding:8px 18px;font-size:.875rem}.btn-primary .material-symbols-outlined{font-size:18px}.btn-secondary{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:8px 16px;border:1px solid var(--color-border);border-radius:var(--radius-base);background:var(--surface);color:var(--color-text);font:inherit;font-size:.875rem;font-weight:500;text-decoration:none;cursor:pointer;transition:background-color .15s ease}.btn-secondary:hover{background:var(--page-bg)}.btn-secondary:disabled{opacity:.5;cursor:default}.btn-danger{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:8px 16px;border:1px solid var(--color-danger-tint);border-radius:var(--radius-base);background:var(--color-danger-tint);color:var(--color-danger);font:inherit;font-size:.875rem;font-weight:500;text-decoration:none;cursor:pointer;transition:opacity .15s ease}.btn-danger:hover{opacity:.8}.btn-danger:disabled{opacity:.5;cursor:default}.row-nav-chevron{display:inline-flex;color:var(--color-text-muted);font-size:20px}.icon-action-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:none;border-radius:var(--radius-base);background:transparent;color:var(--color-text-muted);cursor:pointer;transition:background-color .15s ease,color .15s ease}.icon-action-btn:hover{background:var(--page-bg);color:var(--color-text)}.icon-action-btn .material-symbols-outlined{font-size:20px}.icon-action-btn--danger{color:var(--color-danger)}.icon-action-btn--danger:hover{background:var(--color-danger-tint)}.spinner{width:16px;height:16px;border:2px solid rgba(255,255,255,.4);border-top-color:#fff;border-radius:50%;animation:spin .6s linear infinite}.confetti-burst{position:fixed;z-index:2000;pointer-events:none}.confetti-burst__particle{position:absolute;width:8px;height:8px;border-radius:2px;animation:confetti-pop 1s ease-out forwards}@keyframes confetti-pop{0%{transform:translate(0) rotate(0) scale(1);opacity:1}to{transform:translate(var(--tx),calc(var(--ty) + 80px)) rotate(var(--rotation)) scale(.4);opacity:0}}@keyframes spin{to{transform:rotate(360deg)}}.auth-page{position:relative;min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;padding:40px 24px}.auth-page:before{content:"";position:fixed;inset:0;z-index:-1;background-color:var(--page-bg);background-image:url(/bg-image.svg);background-repeat:no-repeat;background-position:bottom center;background-size:cover}@media(max-height:850px){.auth-page{gap:16px;padding:28px 24px}}.auth-page__brand-mark{height:40px;width:auto}.auth-page__card{width:100%;max-width:420px}.auth-page__card--wide{max-width:560px}@media(max-height:850px){.auth-page__card--wide{max-width:720px}}.auth-page__switch{font-size:.875rem;color:var(--color-text-muted);background:#ffffffe6;padding:8px 16px;border-radius:999px}@media(max-height:850px){.auth-page__switch{margin:0}}.auth-page__switch a{color:var(--color-primary);font-weight:600;text-decoration:none}.form-field{display:flex;flex-direction:column;gap:6px;margin-bottom:16px;min-width:0}.form-field label{font-size:.8125rem;font-weight:600;color:var(--color-text-muted)}.form-field input,.form-field textarea{width:100%;min-width:0;padding:10px 14px;border:1px solid var(--color-border);border-radius:var(--radius-base);font:inherit;color:var(--color-text);background-color:var(--surface);resize:vertical}.form-field input:focus,.form-field textarea:focus{outline:none;border-color:var(--color-primary)}.form-field input.ng-invalid.ng-touched,.form-field textarea.ng-invalid.ng-touched{border-color:var(--color-danger)}.form-field--checkbox{flex-direction:row;align-items:center}.form-field--checkbox label{display:flex;align-items:center;gap:8px;font-size:.9375rem;font-weight:400;color:var(--color-text)}.form-field--checkbox input[type=checkbox]{width:auto}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}@media(max-width:480px){.form-row{grid-template-columns:1fr}}.form-error{margin:0 0 16px;color:var(--color-danger);font-size:.8125rem}.form-success{margin:0 0 16px;color:var(--color-success);font-size:.8125rem}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.form-field__required{color:var(--color-danger)}.form-field__error{margin:0;color:var(--color-danger);font-size:.75rem}.label-with-help{display:inline-flex;align-items:center;gap:4px}.field-hint{margin:0;color:var(--color-text-muted);font-size:.75rem;line-height:1.4}.field-hint--warning{color:#b07400}:root{--jvm-border-color: #E5E6E7;--jvm-box-shadow: 0 1px 2px 0 rgba(0, 0, 0, .05);--jvm-tooltip-font-size: .9rem;--jvm-tooltip-bg-color: #337FFA;--jvm-tooltip-color: #FFF;--jvm-tooltip-padding: 3px 5px;--jvm-tooltip-shadow: var(--jvm-box-shadow);--jvm-tooltip-radius: 3px;--jvm-zoom-btn-bg-color: #292929;--jvm-zoom-btn-color: #FFF;--jvm-zoom-btn-size: 15px;--jvm-zoom-btn-radius: 3px;--jvm-series-container-right: 15px;--jvm-legend-bg-color: #FFF;--jvm-legend-radius: .15rem;--jvm-legend-margin-left: .75rem;--jvm-legend-padding: .6rem;--jvm-legend-title-padding-bottom: .5rem;--jvm-legend-title-margin-bottom: .575rem;--jvm-legend-tick-margin-top: .575rem;--jvm-legend-tick-sample-radius: 0;--jvm-legend-tick-sample-height: 12px;--jvm-legend-tick-sample-width: 30px;--jvm-legend-tick-text-font-size: 12px;--jvm-legend-tick-text-margin-top: 3px}image,text,.jvm-zoom-btn{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.jvm-container{position:relative;height:100%;width:100%}.jvm-tooltip{border-radius:var(--jvm-tooltip-radius);background-color:var(--jvm-tooltip-bg-color);color:var(--jvm-tooltip-color);font-size:var(--jvm-tooltip-font-size);box-shadow:var(--jvm-tooltip-shadow);padding:var(--jvm-tooltip-padding);white-space:nowrap;position:absolute;display:none}.jvm-tooltip.active{display:block}.jvm-zoom-btn{background-color:var(--jvm-zoom-btn-bg-color);color:var(--jvm-zoom-btn-color);border-radius:var(--jvm-zoom-btn-radius);height:var(--jvm-zoom-btn-size);width:var(--jvm-zoom-btn-size);box-sizing:border-box;position:absolute;left:10px;line-height:var(--jvm-zoom-btn-size);text-align:center;cursor:pointer}.jvm-zoom-btn.jvm-zoomin{top:var(--jvm-zoom-btn-size)}.jvm-zoom-btn.jvm-zoomout{top:calc(var(--jvm-zoom-btn-size) * 2 + var(--jvm-zoom-btn-size) / 3)}.jvm-series-container{position:absolute;right:var(--jvm-series-container-right)}.jvm-series-container.jvm-series-h{bottom:15px}.jvm-series-container.jvm-series-v{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;gap:.75rem;top:15px}.jvm-legend{background-color:var(--jvm-legend-bg-color);border:1px solid var(--jvm-border-color);margin-left:var(--jvm-legend-margin-left);border-radius:var(--jvm-legend-radius);padding:var(--jvm-legend-padding);box-shadow:var(--jvm-box-shadow)}.jvm-legend-title{line-height:1;border-bottom:1px solid var(--jvm-border-color);padding-bottom:var(--jvm-legend-title-padding-bottom);margin-bottom:var(--jvm-legend-title-margin-bottom);text-align:left}.jvm-legend-tick{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;min-width:40px}.jvm-legend-tick:not(:first-child){margin-top:var(--jvm-legend-tick-margin-top)}.jvm-legend-tick-sample{border-radius:var(--jvm-legend-tick-sample-radius);margin-right:.45rem;height:var(--jvm-legend-tick-sample-height);width:var(--jvm-legend-tick-sample-width)}.jvm-legend-tick-text{font-size:var(--jvm-legend-tick-text-font-size);text-align:center;line-height:1}.jvm-line[animation=true]{-webkit-animation:jvm-line-animation 10s linear forwards infinite;animation:jvm-line-animation 10s linear forwards infinite}@-webkit-keyframes jvm-line-animation{0%{stroke-dashoffset:250}}@keyframes jvm-line-animation{0%{stroke-dashoffset:250}}
