@font-face{font-family:Mulish Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url("./media/mulish-cyrillic-ext-wght-normal-QXXQAOVC.woff2") format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Mulish Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url("./media/mulish-cyrillic-wght-normal-A4WJDYNU.woff2") format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Mulish Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url("./media/mulish-vietnamese-wght-normal-53DCN73C.woff2") format("woff2-variations");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:Mulish Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url("./media/mulish-latin-ext-wght-normal-5YTK7GM6.woff2") format("woff2-variations");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:Mulish Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url("./media/mulish-latin-wght-normal-YTEYPLZ6.woff2") format("woff2-variations");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}:root{--color-black: #252526;--color-dark-gray: #484848;--color-mid-gray: #888888;--color-gray: #a8a8a8;--color-light-gray: #e5e7eb;--color-off-white: #f4f4f6;--color-white: #ffffff;--color-navy-deep: #0d3578;--color-navy: #092881;--color-indigo: #2d4998;--color-blue: #248aff;--color-blue-light: #4d8cff;--color-blue-lighter: #5da5ff;--color-blue-pale: #deeefe;--color-blue-ice: #eef6ff;--color-blue-mist: #c4e1ff;--color-pink: #ff437e;--color-pink-light: #ff6a9a;--color-pink-faded: #ffbdd2;--color-pink-pale: #ffe9f0;--color-green: #47c997;--color-green-bright: #30d59b;--color-green-dark: #1f7c61;--color-green-forest: #225041;--color-green-light: #9ae1c6;--color-green-pale: #edfaf5;--color-orange: #ff9d59;--color-amber: #c17a2e;--color-brown: #8f582a;--color-orange-light: #ffe3ce;--color-orange-pale: #fff3eb;--color-red: #f0524b;--color-red-coral: #ff6b66;--color-red-dark: #922924;--color-red-maroon: #621a16;--color-red-light: #f7a09c;--color-red-pale: #fdeeed;color-scheme:light;--bg: var(--color-off-white);--surface: var(--color-white);--surface-raised: var(--color-white);--surface-sunken: var(--color-off-white);--surface-hover: var(--color-blue-ice);--surface-selected: var(--color-blue-pale);--text: var(--color-black);--text-muted: var(--color-dark-gray);--text-on-primary: var(--color-white);--text-link: var(--color-indigo);--border: var(--color-light-gray);--border-strong: var(--color-mid-gray);--primary: var(--color-indigo);--primary-hover: var(--color-navy);--primary-soft: var(--color-blue-pale);--accent: var(--color-blue);--secondary: var(--color-pink);--focus-ring: var(--color-blue);--focus-ring-contrast: var(--color-navy-deep);--success-text: var(--color-green-dark);--success-bg: var(--color-green-pale);--success-border: var(--color-green);--warning-text: var(--color-brown);--warning-bg: var(--color-orange-pale);--warning-border: var(--color-orange);--danger-text: var(--color-red-dark);--danger-bg: var(--color-red-pale);--danger-border: var(--color-red);--danger: var(--color-red-dark);--series-1: #2a78d6;--series-2: #eb6834;--series-3: #1baf7a;--series-4: #eda100;--series-5: #e87ba4;--series-6: #008300;--series-7: #6250d6;--series-8: #e34948;--info-text: var(--color-navy-deep);--info-bg: var(--color-blue-ice);--info-border: var(--color-blue);--sidebar-bg: var(--color-off-white);--sidebar-text: var(--color-dark-gray);--sidebar-text-muted: var(--color-dark-gray);--sidebar-hover: var(--color-blue-pale);--sidebar-active-bg: var(--color-blue-pale);--sidebar-active-text: var(--color-navy-deep);--brand-word-start: #0095ff;--brand-word-end: #0057b3;--shadow-sm: 0 1px 2px rgb(13 53 120 / .08);--shadow-md: 0 4px 16px rgb(13 53 120 / .12);--backdrop: rgb(37 37 38 / .5);--font-family: "Mulish Variable", "Mulish", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--text-scale: 1;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-md: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 1.875rem;--font-weight-regular: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--line-height: 1.5;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.5rem;--space-6: 2rem;--space-7: 3rem;--radius-sm: .375rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-full: 999px;--target-size: 2.5rem;--control-height: 2.75rem;--sidebar-width: 16rem;--topbar-height: 4rem;--duration-fast: .12s;--duration-base: .2s}:root[data-theme=dark]{color-scheme:dark;--bg: #1b1b1c;--surface: var(--color-black);--surface-raised: #2e2e30;--surface-sunken: #1b1b1c;--surface-hover: #33363d;--surface-selected: #2a3550;--text: var(--color-white);--text-muted: var(--color-gray);--text-on-primary: var(--color-black);--text-link: var(--color-blue-lighter);--border: var(--color-dark-gray);--border-strong: var(--color-mid-gray);--primary: var(--color-blue-lighter);--primary-hover: var(--color-blue-mist);--primary-soft: #2a3550;--accent: var(--color-blue-lighter);--secondary: var(--color-pink-light);--focus-ring: var(--color-blue-lighter);--focus-ring-contrast: var(--color-white);--success-text: var(--color-green-bright);--success-bg: var(--color-green-forest);--success-border: var(--color-green);--warning-text: var(--color-orange);--warning-bg: #3d2a1a;--warning-border: var(--color-amber);--danger-text: var(--color-red-coral);--danger-bg: var(--color-red-maroon);--danger-border: var(--color-red);--danger: var(--color-red-coral);--series-1: #3987e5;--series-2: #d95926;--series-3: #199e70;--series-4: #c98500;--series-5: #d55181;--series-6: #008300;--series-7: #9085e9;--series-8: #e66767;--info-text: var(--color-blue-lighter);--info-bg: #1e2a40;--info-border: var(--color-blue-light);--sidebar-bg: #141415;--sidebar-text: var(--color-white);--sidebar-text-muted: var(--color-gray);--sidebar-hover: rgb(255 255 255 / .08);--sidebar-active-bg: var(--color-blue-lighter);--sidebar-active-text: var(--color-black);--brand-word-start: var(--color-blue-lighter);--brand-word-end: var(--color-blue-mist);--shadow-sm: 0 1px 2px rgb(0 0 0 / .4);--shadow-md: 0 4px 16px rgb(0 0 0 / .5);--backdrop: rgb(0 0 0 / .65)}:root[data-contrast=high]{--bg: var(--color-white);--surface-sunken: var(--color-white);--text: #000000;--text-muted: var(--color-black);--text-link: var(--color-navy);--border: var(--color-black);--border-strong: #000000;--primary: var(--color-navy);--primary-hover: #000000;--focus-ring: #000000;--focus-ring-contrast: var(--color-white);--success-text: var(--color-green-forest);--warning-text: #5e3a1b;--danger-text: var(--color-red-maroon);--info-text: var(--color-navy);--success-border: var(--color-green-forest);--warning-border: var(--color-brown);--danger-border: var(--color-red-maroon);--info-border: var(--color-navy);--sidebar-bg: #000000;--sidebar-text: var(--color-white);--sidebar-text-muted: var(--color-white);--sidebar-hover: rgb(255 255 255 / .15);--sidebar-active-bg: var(--color-white);--sidebar-active-text: #000000;--brand-word-start: var(--color-navy);--brand-word-end: var(--color-navy)}:root[data-theme=dark][data-contrast=high]{--bg: #000000;--surface: #000000;--surface-raised: #0d0d0d;--surface-sunken: #000000;--text: var(--color-white);--text-muted: var(--color-white);--text-link: var(--color-blue-mist);--border: var(--color-white);--border-strong: var(--color-white);--primary: var(--color-blue-mist);--primary-hover: var(--color-white);--focus-ring: #ffd400;--focus-ring-contrast: #000000;--success-text: var(--color-green-light);--warning-text: var(--color-orange-light);--danger-text: var(--color-red-light);--info-text: var(--color-blue-mist);--success-border: var(--color-green-light);--warning-border: var(--color-orange-light);--danger-border: var(--color-red-light);--info-border: var(--color-blue-mist);--sidebar-bg: #000000;--sidebar-text-muted: var(--color-white);--sidebar-active-bg: var(--color-white);--sidebar-active-text: #000000;--brand-word-start: var(--color-white);--brand-word-end: var(--color-white)}:root:not([data-contrast=high]) .sidebar[data-env=local],:root:not([data-contrast=high]) .sidebar[data-env=dev]{--sidebar-text: var(--color-white);--sidebar-text-muted: var(--color-light-gray);--sidebar-hover: rgb(255 255 255 / .2);--sidebar-active-bg: var(--color-white)}:root:not([data-contrast=high]) .sidebar[data-env=local]{--sidebar-bg: var(--color-black);--sidebar-active-text: var(--color-black)}:root:not([data-contrast=high]) .sidebar[data-env=dev]{--sidebar-bg: var(--color-indigo);--sidebar-active-text: var(--color-indigo)}*,*:before,*:after{box-sizing:border-box}html{font-size:calc(100% * var(--text-scale));-webkit-text-size-adjust:100%;text-size-adjust:100%}@media(min-width:160rem){html{font-size:calc(125% * var(--text-scale))}}@media(min-width:220rem){html{font-size:calc(175% * var(--text-scale))}}body{margin:0;min-height:100dvh;font-family:var(--font-family);font-size:var(--font-size-md);line-height:var(--line-height);color:var(--text);background:var(--bg);overflow-wrap:break-word;-webkit-font-smoothing:antialiased}h1,h2,h3,h4,p,figure,blockquote,dl,dd{margin:0}h1,h2,h3,h4{line-height:1.25;font-weight:var(--font-weight-bold);text-wrap:balance}h1{font-size:var(--font-size-2xl)}h2{font-size:var(--font-size-xl)}h3{font-size:var(--font-size-lg)}p{text-wrap:pretty;max-width:75ch}img,svg{display:block;max-width:100%}button,input,select,textarea{font:inherit;color:inherit}a{color:var(--text-link);text-underline-offset:.2em}a:not([class]){text-decoration:none}a:not([class]):hover,:root[data-underline-links] a:not([class]){text-decoration:underline}:root[data-underline-links] a.nav-link{text-decoration:underline}:focus{outline:none}:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px;box-shadow:0 0 0 5px var(--focus-ring-contrast);border-radius:var(--radius-sm)}[tabindex="-1"]:focus-visible{outline:none;box-shadow:none}:root[data-motion=reduce] *,:root[data-motion=reduce] *:before,:root[data-motion=reduce] *:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}@media(forced-colors:active){:focus-visible{outline:3px solid CanvasText;box-shadow:none}}.cdk-visually-hidden,.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.skip-link{position:fixed;top:var(--space-2);left:var(--space-2);z-index:1000;padding:var(--space-3) var(--space-4);background:var(--primary);color:var(--text-on-primary);font-weight:var(--font-weight-bold);border-radius:var(--radius-md);transform:translateY(-200%);transition:transform var(--duration-fast) ease-out}.skip-link:focus-visible{transform:translateY(0)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:var(--control-height);padding:0 var(--space-4);border:1px solid transparent;border-radius:var(--radius-md);font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm);line-height:1.2;text-decoration:none;cursor:pointer;transition:background-color var(--duration-fast),border-color var(--duration-fast),color var(--duration-fast)}.btn:disabled,.btn[aria-disabled=true]{cursor:not-allowed;opacity:.6}.btn--primary{background:var(--primary);color:var(--text-on-primary)}.btn--primary:hover:not(:disabled){background:var(--primary-hover)}.btn--secondary{background:var(--surface);color:var(--primary);border-color:var(--border-strong)}.btn--secondary:hover:not(:disabled){background:var(--surface-hover)}.btn--ghost{background:transparent;color:var(--text)}.btn--ghost:hover:not(:disabled){background:var(--surface-hover)}.btn--danger{background:var(--danger);color:var(--color-white)}:root[data-theme=dark] .btn--danger{color:var(--color-black)}.btn--block{width:100%}.icon-btn{flex:none;display:inline-grid;place-items:center;width:var(--target-size);height:var(--target-size);padding:0;border:1px solid transparent;border-radius:var(--radius-md);background:transparent;color:inherit;cursor:pointer}.icon-btn:hover{background:var(--surface-hover)}.spinner{width:1em;height:1em;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.field{display:grid;align-content:start;gap:var(--space-1)}.field__label{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold)}.field__hint{font-size:var(--font-size-sm);color:var(--text-muted)}.field__error{display:flex;align-items:center;gap:var(--space-1);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--danger-text)}.input,.select{width:100%;min-height:var(--control-height);padding:0 var(--space-3);border:1px solid var(--border-strong);border-radius:var(--radius-md);background:var(--surface);color:var(--text)}.select{padding-right:var(--space-6)}.input::placeholder{color:var(--text-muted)}.input:hover,.select:hover{border-color:var(--text-muted)}.input[aria-invalid=true]{border-color:var(--danger-border);border-width:2px}.input-group{position:relative}.input-group .input{padding-right:calc(var(--target-size) + var(--space-2))}.input-group__action{position:absolute;top:50%;right:var(--space-1);transform:translateY(-50%)}fieldset.choice-group{margin:0;padding:0;border:0;display:grid;gap:var(--space-2)}fieldset.choice-group legend{padding:0;margin-bottom:var(--space-2);font-weight:var(--font-weight-semibold)}.choice-group__options{display:flex;flex-wrap:wrap;gap:var(--space-2)}.choice{display:inline-flex;align-items:center;gap:var(--space-2);min-height:var(--target-size);padding:0 var(--space-3);border:1px solid var(--border-strong);border-radius:var(--radius-full);cursor:pointer;font-size:var(--font-size-sm)}.choice:has(input:checked){border-color:var(--primary);background:var(--primary-soft);font-weight:var(--font-weight-semibold)}.choice:has(input:focus-visible){outline:3px solid var(--focus-ring);outline-offset:2px}.choice input{accent-color:var(--primary);margin:0}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:var(--space-5)}.alert{display:flex;gap:var(--space-3);align-items:flex-start;padding:var(--space-3) var(--space-4);border:1px solid;border-left-width:4px;border-radius:var(--radius-md);font-size:var(--font-size-sm);overflow-wrap:anywhere}.alert>*{min-width:0}.alert--info{color:var(--info-text);background:var(--info-bg);border-color:var(--info-border)}.alert--success{color:var(--success-text);background:var(--success-bg);border-color:var(--success-border)}.alert--warning{color:var(--warning-text);background:var(--warning-bg);border-color:var(--warning-border)}.alert--danger{color:var(--danger-text);background:var(--danger-bg);border-color:var(--danger-border)}.badge{display:inline-flex;align-items:center;gap:var(--space-1);padding:.125rem var(--space-2);border:1px solid;border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);white-space:nowrap}.badge--neutral{color:var(--text-muted);border-color:var(--border-strong);background:var(--surface-sunken)}.badge--info{color:var(--info-text);border-color:var(--info-border);background:var(--info-bg)}.badge--success{color:var(--success-text);border-color:var(--success-border);background:var(--success-bg)}.badge--warning{color:var(--warning-text);border-color:var(--warning-border);background:var(--warning-bg)}.badge--danger{color:var(--danger-text);border-color:var(--danger-border);background:var(--danger-bg)}.table-wrap{position:relative;overflow-x:auto;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface)}.table{width:100%;border-collapse:collapse;font-size:var(--font-size-sm)}.table caption{text-align:left}.table th,.table td{padding:var(--space-3) var(--space-4);text-align:left;vertical-align:middle;border-bottom:1px solid var(--border)}.table thead th{background:var(--surface-sunken);color:var(--text-muted);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);text-transform:uppercase;letter-spacing:.04em;white-space:nowrap}.table tbody tr:last-child td{border-bottom:0}.table tbody tr:hover{background:var(--surface-hover)}.table .cell-muted{color:var(--text-muted)}.table-state{display:grid;justify-items:center;gap:var(--space-3);padding:var(--space-6) var(--space-4);color:var(--text-muted);text-align:center}.toolbar{display:flex;flex-wrap:wrap;align-items:start;gap:var(--space-3)}.toolbar .field{min-width:min(12rem,100%)}.toolbar .field--grow{flex:1 1 18rem}.details{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,14rem),1fr));gap:var(--space-4) var(--space-5)}.details dt{font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em}.details dd{margin-top:var(--space-1);overflow-wrap:anywhere}.section{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-4)}.section__header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-3)}.form-grid{display:grid;align-items:start;grid-template-columns:repeat(auto-fill,minmax(min(100%,16rem),1fr));gap:var(--space-4) var(--space-5)}.form-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:var(--space-2)}.textarea{width:100%;min-height:6rem;padding:var(--space-2) var(--space-3);border:1px solid var(--border-strong);border-radius:var(--radius-md);background:var(--surface);color:var(--text);resize:vertical}.back-link{display:inline-flex;align-items:center;gap:var(--space-1);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold)}.page{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-5);padding:var(--space-5);max-width:90rem}.page__header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-3)}.page--wide{max-width:none}.page__header>*,.section__header>*{min-width:0}.page__subtitle{color:var(--text-muted);margin-top:var(--space-1)}@media(max-width:40rem){.page{padding:var(--space-4)}}.cdk-overlay-container,.cdk-global-overlay-wrapper{position:fixed;inset:0;pointer-events:none;z-index:900}.cdk-overlay-container:empty{display:none}.cdk-global-overlay-wrapper{display:flex;position:absolute}.cdk-overlay-pane{position:absolute;pointer-events:auto;display:flex;max-width:100%;max-height:100%}.cdk-overlay-backdrop{position:absolute;inset:0;pointer-events:auto;background:var(--backdrop)}.cdk-dialog-container{display:block;width:100%;max-height:100%;overflow:auto}.dialog{background:var(--surface-raised);color:var(--text);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);width:min(36rem,calc(100vw - 2rem));max-height:calc(100dvh - 2rem);overflow:auto}.dialog--wide{width:min(52rem,calc(100vw - 2rem))}.dialog__header{display:flex;align-items:center;overflow-wrap:anywhere;justify-content:space-between;gap:var(--space-3);padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--border)}.dialog__body{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-5);padding:var(--space-5)}.dialog__footer{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:var(--space-2);padding:var(--space-4) var(--space-5);border-top:1px solid var(--border)}.tooltip{display:block;max-width:min(20rem,calc(100vw - 1rem));padding:var(--space-1) var(--space-2);border:1px solid transparent;border-radius:var(--radius-md);background:var(--text);color:var(--surface);box-shadow:var(--shadow-md);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);line-height:1.4}.info-tip{display:inline-flex;vertical-align:middle}.info-tip__btn{margin-block:calc((var(--target-size) - 1.5rem) / -2);color:var(--text-muted)}.info-tip__btn:hover,.info-tip__btn[aria-expanded=true]{color:var(--text)}.info-panel{display:block;max-width:min(26rem,calc(100vw - 1rem));max-height:min(32rem,calc(100dvh - 1rem));overflow-y:auto;overflow-wrap:break-word;padding:var(--space-3) var(--space-4);border:1px solid var(--border-strong);border-radius:var(--radius-md);background:var(--surface);color:var(--text);box-shadow:var(--shadow-md);font-size:var(--font-size-sm);font-weight:400;line-height:1.5;text-align:left}.info-panel p{margin:0 0 var(--space-2)}.info-panel p:last-child{margin-bottom:0}.info-panel__title{font-weight:var(--font-weight-semibold)}.info-panel dl{margin:0;display:grid;gap:var(--space-1)}.info-panel dt{font-weight:var(--font-weight-semibold);margin-top:var(--space-1)}.info-panel dd{margin:0;color:var(--text-muted)}.with-info{display:inline-flex;align-items:center;gap:var(--space-1);max-width:100%}.with-info>:not(.info-tip){min-width:0;overflow-wrap:anywhere}.sort-header{display:inline-flex;align-items:center;gap:var(--space-1)}.sort-header__btn{display:inline-flex;align-items:center;gap:var(--space-1);min-height:1.5rem;margin:calc(var(--space-1) * -1);padding:var(--space-1);border:0;border-radius:var(--radius-sm);background:none;color:inherit;font:inherit;letter-spacing:inherit;text-transform:inherit;text-align:inherit;cursor:pointer}.sort-header__btn app-icon{color:var(--text-muted)}.sort-header__btn:hover{background:var(--surface-hover)}.sort-header__btn--active,.sort-header__btn--active app-icon{color:var(--text)}
