@charset "UTF-8";@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url("./media/inter-cyrillic-ext-wght-normal-IYF56FF6.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:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url("./media/inter-cyrillic-wght-normal-JEOLYBOO.woff2") format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url("./media/inter-greek-ext-wght-normal-EOVOK2B5.woff2") format("woff2-variations");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url("./media/inter-greek-wght-normal-IRE366VL.woff2") format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url("./media/inter-vietnamese-wght-normal-CE5GGD3W.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:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url("./media/inter-latin-ext-wght-normal-HA22NDSG.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:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url("./media/inter-latin-wght-normal-NRMW37G5.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{--tg-navy-950: #041024;--tg-navy-900: #061A33;--tg-navy-800: #0B2545;--tg-navy-700: #0E3A63;--tg-blue: #2F7DE1;--tg-teal: #22C3B5;--tg-green: #10B981;--tg-grad: linear-gradient(135deg, #2F7DE1 0%, #22C3B5 55%, #10B981 100%);--tg-grad-strong: linear-gradient(135deg, #1E6BD6 0%, #0F8A8A 60%, #047857 100%);--primary: #1E6BD6;--primary-hover: #1A5CB8;--primary-press: #154C99;--primary-tint: #EEF4FB;--primary-line: #BFD6F4;--g1: #1E5AA8;--g1-bright: #60A5FA;--g1-tint: #EEF4FB;--g1-line: #C7DBF5;--g2: #0E7490;--g2-bright: #2DD4BF;--g2-tint: #E8F5F7;--g2-line: #BCE3E8;--g3: #047857;--g3-bright: #34D399;--g3-tint: #EAF7F1;--g3-line: #BDE7D3;--bg: #F4F7FB;--paper: #FFFFFF;--paper2: #F8FAFC;--paper3: #F1F5F9;--line: #DCE4EE;--line2: #E8EEF5;--ink: #0B2545;--ink2: #1E293B;--body: #334155;--soft: #5B6B80;--faint: #64748B;--danger: #DC2626;--danger-ink: #B91C1C;--danger-tint: #FEECEC;--danger-line: #F7C5C5;--warn: #D97706;--warn-ink: #B45309;--warn-tint: #FFF4E0;--warn-line: #F6D9A8;--ok: #047857;--ok-ink: #047857;--ok-tint: #EAF7F1;--ok-line: #BDE7D3;--info: #1E5AA8;--info-tint: #EEF4FB;--r-xs: 4px;--r-sm: 6px;--r: 10px;--r-lg: 14px;--r-pill: 999px;--font-sans: "Inter Variable", "Inter", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;--font-mono: "JetBrains Mono", "Cascadia Code", Consolas, "SF Mono", Menlo, monospace;--t-display: 40px;--t-h1: 28px;--t-h2: 18px;--t-h3: 15px;--t-base: 14px;--t-sm: 13px;--t-xs: 12px;--t-2xs: 11px;--w-regular: 400;--w-medium: 500;--w-semi: 600;--w-bold: 700;--tr-tight: -.022em;--tr-snug: -.012em;--tr-caps: .08em;--s1: 4px;--s2: 8px;--s3: 12px;--s4: 16px;--s5: 20px;--s6: 24px;--s7: 32px;--s8: 40px;--s9: 48px;--s10: 64px;--gap: var(--s5);--card-pad: var(--s6);--page-pad-x: var(--s7);--page-pad-y: var(--s6);--control-h: 38px;--sh-xs: 0 1px 2px rgba(11, 37, 69, .06);--sh-sm: 0 1px 2px rgba(11, 37, 69, .05), 0 1px 3px rgba(11, 37, 69, .05);--sh-md: 0 1px 2px rgba(11, 37, 69, .05), 0 6px 16px rgba(11, 37, 69, .07);--sh-lg: 0 2px 6px rgba(11, 37, 69, .08), 0 20px 48px rgba(11, 37, 69, .16);--sh-glow-blue: 0 0 0 1px rgba(47, 125, 225, .25), 0 10px 30px rgba(47, 125, 225, .28);--ring: 0 0 0 3px rgba(47, 125, 225, .28);--sidebar-w: 264px;--sidebar-w-rail: 78px;--sidebar-grad: linear-gradient(180deg, #061A33 0%, #0B2545 58%, #0E3A63 100%);--sidebar-hover: rgba(255, 255, 255, .08);--sidebar-active: linear-gradient(90deg, #1E6BD6 0%, #0F8A8A 100%);--sidebar-label: #9CB8DA;--sidebar-text: rgba(255, 255, 255, .82);--sidebar-line: rgba(255, 255, 255, .1);--topbar-h: 64px}:root[data-theme=dark]{--bg: #07142A;--paper: #0D1E38;--paper2: #0A1930;--paper3: #13274A;--line: #1E3558;--line2: #172C4C;--ink: #EAF1FB;--ink2: #D5E0F0;--body: #B9C7DC;--soft: #93A7C4;--faint: #8396B3;--primary: #3B8BEB;--primary-hover: #5A9EF0;--primary-press: #2F7DE1;--primary-tint: #13305A;--primary-line: #24497D;--g1: #7DB5FA;--g1-tint: #12305A;--g1-line: #1F4C85;--g2: #4FD8C8;--g2-tint: #0D3B47;--g2-line: #17606F;--g3: #4ADE9F;--g3-tint: #0B3A2E;--g3-line: #155E48;--danger: #F87171;--danger-ink: #FCA5A5;--danger-tint: #3B1518;--danger-line: #6B2227;--warn: #FBBF24;--warn-ink: #FCD34D;--warn-tint: #3A2A0B;--warn-line: #6B4E12;--ok: #34D399;--ok-ink: #6EE7B7;--ok-tint: #0B3A2E;--ok-line: #155E48;--info: #7DB5FA;--info-tint: #12305A;--sh-xs: 0 1px 2px rgba(0, 0, 0, .3);--sh-sm: 0 1px 2px rgba(0, 0, 0, .3), 0 1px 3px rgba(0, 0, 0, .25);--sh-md: 0 1px 2px rgba(0, 0, 0, .35), 0 8px 20px rgba(0, 0, 0, .3);--sh-lg: 0 2px 6px rgba(0, 0, 0, .4), 0 24px 56px rgba(0, 0, 0, .5);--sidebar-grad: linear-gradient(180deg, #030C1C 0%, #061A33 60%, #0A2A4D 100%)}html{color-scheme:light;--mat-sys-background: light-dark(#faf9fd, #121316);--mat-sys-error: light-dark(#ba1a1a, #ffb4ab);--mat-sys-error-container: light-dark(#ffdad6, #93000a);--mat-sys-inverse-on-surface: light-dark(#f2f0f4, #2f3033);--mat-sys-inverse-primary: light-dark(#abc7ff, #005cbb);--mat-sys-inverse-surface: light-dark(#2f3033, #e3e2e6);--mat-sys-on-background: light-dark(#1a1b1f, #e3e2e6);--mat-sys-on-error: light-dark(#ffffff, #690005);--mat-sys-on-error-container: light-dark(#93000a, #ffdad6);--mat-sys-on-primary: light-dark(#ffffff, #002f65);--mat-sys-on-primary-container: light-dark(#00458f, #d7e3ff);--mat-sys-on-primary-fixed: light-dark(#001b3f, #001b3f);--mat-sys-on-primary-fixed-variant: light-dark(#00458f, #00458f);--mat-sys-on-secondary: light-dark(#ffffff, #283041);--mat-sys-on-secondary-container: light-dark(#3e4759, #dae2f9);--mat-sys-on-secondary-fixed: light-dark(#131c2b, #131c2b);--mat-sys-on-secondary-fixed-variant: light-dark(#3e4759, #3e4759);--mat-sys-on-surface: light-dark(#1a1b1f, #e3e2e6);--mat-sys-on-surface-variant: light-dark(#44474e, #e0e2ec);--mat-sys-on-tertiary: light-dark(#ffffff, #003737);--mat-sys-on-tertiary-container: light-dark(#004f4f, #00fbfb);--mat-sys-on-tertiary-fixed: light-dark(#002020, #002020);--mat-sys-on-tertiary-fixed-variant: light-dark(#004f4f, #004f4f);--mat-sys-outline: light-dark(#74777f, #8e9099);--mat-sys-outline-variant: light-dark(#c4c6d0, #44474e);--mat-sys-primary: light-dark(#005cbb, #abc7ff);--mat-sys-primary-container: light-dark(#d7e3ff, #00458f);--mat-sys-primary-fixed: light-dark(#d7e3ff, #d7e3ff);--mat-sys-primary-fixed-dim: light-dark(#abc7ff, #abc7ff);--mat-sys-scrim: light-dark(#000000, #000000);--mat-sys-secondary: light-dark(#565e71, #bec6dc);--mat-sys-secondary-container: light-dark(#dae2f9, #3e4759);--mat-sys-secondary-fixed: light-dark(#dae2f9, #dae2f9);--mat-sys-secondary-fixed-dim: light-dark(#bec6dc, #bec6dc);--mat-sys-shadow: light-dark(#000000, #000000);--mat-sys-surface: light-dark(#faf9fd, #121316);--mat-sys-surface-bright: light-dark(#faf9fd, #38393c);--mat-sys-surface-container: light-dark(#efedf0, #1f2022);--mat-sys-surface-container-high: light-dark(#e9e7eb, #292a2c);--mat-sys-surface-container-highest: light-dark(#e3e2e6, #343537);--mat-sys-surface-container-low: light-dark(#f4f3f6, #1a1b1f);--mat-sys-surface-container-lowest: light-dark(#ffffff, #0d0e11);--mat-sys-surface-dim: light-dark(#dbd9dd, #121316);--mat-sys-surface-tint: light-dark(#005cbb, #abc7ff);--mat-sys-surface-variant: light-dark(#e0e2ec, #44474e);--mat-sys-tertiary: light-dark(#006a6a, #00dddd);--mat-sys-tertiary-container: light-dark(#00fbfb, #004f4f);--mat-sys-tertiary-fixed: light-dark(#00fbfb, #00fbfb);--mat-sys-tertiary-fixed-dim: light-dark(#00dddd, #00dddd);--mat-sys-neutral-variant20: #2d3038;--mat-sys-neutral10: #1a1b1f;--mat-sys-level0: 0px 0px 0px 0px rgba(0, 0, 0, .2), 0px 0px 0px 0px rgba(0, 0, 0, .14), 0px 0px 0px 0px rgba(0, 0, 0, .12);--mat-sys-level1: 0px 2px 1px -1px rgba(0, 0, 0, .2), 0px 1px 1px 0px rgba(0, 0, 0, .14), 0px 1px 3px 0px rgba(0, 0, 0, .12);--mat-sys-level2: 0px 3px 3px -2px rgba(0, 0, 0, .2), 0px 3px 4px 0px rgba(0, 0, 0, .14), 0px 1px 8px 0px rgba(0, 0, 0, .12);--mat-sys-level3: 0px 3px 5px -1px rgba(0, 0, 0, .2), 0px 6px 10px 0px rgba(0, 0, 0, .14), 0px 1px 18px 0px rgba(0, 0, 0, .12);--mat-sys-level4: 0px 5px 5px -3px rgba(0, 0, 0, .2), 0px 8px 10px 1px rgba(0, 0, 0, .14), 0px 3px 14px 2px rgba(0, 0, 0, .12);--mat-sys-level5: 0px 7px 8px -4px rgba(0, 0, 0, .2), 0px 12px 17px 2px rgba(0, 0, 0, .14), 0px 5px 22px 4px rgba(0, 0, 0, .12);--mat-sys-body-large: 400 1rem / 1.5rem Inter Variable;--mat-sys-body-large-font: Inter Variable;--mat-sys-body-large-line-height: 1.5rem;--mat-sys-body-large-size: 1rem;--mat-sys-body-large-tracking: .031rem;--mat-sys-body-large-weight: 400;--mat-sys-body-medium: 400 .875rem / 1.25rem Inter Variable;--mat-sys-body-medium-font: Inter Variable;--mat-sys-body-medium-line-height: 1.25rem;--mat-sys-body-medium-size: .875rem;--mat-sys-body-medium-tracking: .016rem;--mat-sys-body-medium-weight: 400;--mat-sys-body-small: 400 .75rem / 1rem Inter Variable;--mat-sys-body-small-font: Inter Variable;--mat-sys-body-small-line-height: 1rem;--mat-sys-body-small-size: .75rem;--mat-sys-body-small-tracking: .025rem;--mat-sys-body-small-weight: 400;--mat-sys-display-large: 400 3.562rem / 4rem Inter Variable;--mat-sys-display-large-font: Inter Variable;--mat-sys-display-large-line-height: 4rem;--mat-sys-display-large-size: 3.562rem;--mat-sys-display-large-tracking: -.016rem;--mat-sys-display-large-weight: 400;--mat-sys-display-medium: 400 2.812rem / 3.25rem Inter Variable;--mat-sys-display-medium-font: Inter Variable;--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 Inter Variable;--mat-sys-display-small-font: Inter Variable;--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 Inter Variable;--mat-sys-headline-large-font: Inter Variable;--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 Inter Variable;--mat-sys-headline-medium-font: Inter Variable;--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 Inter Variable;--mat-sys-headline-small-font: Inter Variable;--mat-sys-headline-small-line-height: 2rem;--mat-sys-headline-small-size: 1.5rem;--mat-sys-headline-small-tracking: 0;--mat-sys-headline-small-weight: 400;--mat-sys-label-large: 500 .875rem / 1.25rem Inter Variable;--mat-sys-label-large-font: Inter Variable;--mat-sys-label-large-line-height: 1.25rem;--mat-sys-label-large-size: .875rem;--mat-sys-label-large-tracking: .006rem;--mat-sys-label-large-weight: 500;--mat-sys-label-large-weight-prominent: 700;--mat-sys-label-medium: 500 .75rem / 1rem Inter Variable;--mat-sys-label-medium-font: Inter Variable;--mat-sys-label-medium-line-height: 1rem;--mat-sys-label-medium-size: .75rem;--mat-sys-label-medium-tracking: .031rem;--mat-sys-label-medium-weight: 500;--mat-sys-label-medium-weight-prominent: 700;--mat-sys-label-small: 500 .688rem / 1rem Inter Variable;--mat-sys-label-small-font: Inter Variable;--mat-sys-label-small-line-height: 1rem;--mat-sys-label-small-size: .688rem;--mat-sys-label-small-tracking: .031rem;--mat-sys-label-small-weight: 500;--mat-sys-title-large: 400 1.375rem / 1.75rem Inter Variable;--mat-sys-title-large-font: Inter Variable;--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 Inter Variable;--mat-sys-title-medium-font: Inter Variable;--mat-sys-title-medium-line-height: 1.5rem;--mat-sys-title-medium-size: 1rem;--mat-sys-title-medium-tracking: .009rem;--mat-sys-title-medium-weight: 500;--mat-sys-title-small: 500 .875rem / 1.25rem Inter Variable;--mat-sys-title-small-font: Inter Variable;--mat-sys-title-small-line-height: 1.25rem;--mat-sys-title-small-size: .875rem;--mat-sys-title-small-tracking: .006rem;--mat-sys-title-small-weight: 500;--mat-sys-corner-extra-large: 28px;--mat-sys-corner-extra-large-top: 28px 28px 0 0;--mat-sys-corner-extra-small: 4px;--mat-sys-corner-extra-small-top: 4px 4px 0 0;--mat-sys-corner-full: 9999px;--mat-sys-corner-large: 16px;--mat-sys-corner-large-end: 0 16px 16px 0;--mat-sys-corner-large-start: 16px 0 0 16px;--mat-sys-corner-large-top: 16px 16px 0 0;--mat-sys-corner-medium: 12px;--mat-sys-corner-none: 0;--mat-sys-corner-small: 8px;--mat-sys-dragged-state-layer-opacity: .16;--mat-sys-focus-state-layer-opacity: .12;--mat-sys-hover-state-layer-opacity: .08;--mat-sys-pressed-state-layer-opacity: .12;--mat-sys-primary: var(--primary);--mat-sys-on-primary: #ffffff;--mat-sys-primary-container: var(--primary-tint);--mat-sys-on-primary-container: var(--ink);--mat-sys-surface: var(--paper);--mat-sys-surface-container: var(--paper);--mat-sys-surface-container-low: var(--paper);--mat-sys-surface-container-high: var(--paper);--mat-sys-surface-container-highest: var(--paper3);--mat-sys-on-surface: var(--ink2);--mat-sys-on-surface-variant: var(--soft);--mat-sys-outline: var(--line);--mat-sys-outline-variant: var(--line2);--mat-sys-error: var(--danger);--mat-dialog-container-shape: var(--r-lg);--mat-dialog-container-color: var(--paper);--mat-dialog-subhead-color: var(--ink);--mat-dialog-supporting-text-color: var(--body);--mat-snack-bar-container-shape: var(--r);--mat-menu-container-shape: var(--r);--mat-select-panel-background-color: var(--paper);--mat-tooltip-container-color: var(--tg-navy-800);--mat-tooltip-supporting-text-color: #fff}html[data-theme=dark]{color-scheme:dark}*{box-sizing:border-box;margin:0;padding:0}html,body{height:100%}body{font-family:var(--font-sans);background:var(--bg);color:var(--body);font-size:var(--t-base);line-height:1.55;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-feature-settings:"cv05" 1,"cv08" 1,"ss03" 1}h1,h2,h3,h4{color:var(--ink);letter-spacing:var(--tr-snug);line-height:1.25}button{font:inherit;color:inherit;background:none;border:none;cursor:pointer}input,select,textarea{font:inherit;color:inherit}a{color:var(--primary);text-decoration:none}:focus-visible{outline:2px solid var(--primary);outline-offset:2px}::selection{background:#2f7de138}code,pre,.mono{font-family:var(--font-mono)}.tnum{font-variant-numeric:tabular-nums}mat-icon.mat-icon{flex-shrink:0}.shell{display:grid;grid-template-columns:var(--sidebar-w) minmax(0,1fr);min-height:100vh;min-height:100dvh;transition:grid-template-columns .22s cubic-bezier(.4,0,.2,1)}.shell.collapsed{--sidebar-w: var(--sidebar-w-rail)}.sb{position:sticky;top:0;z-index:40;display:flex;flex-direction:column;height:100vh;height:100dvh;overflow:hidden;color:#fff;background:var(--sidebar-grad)}.sb:before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 110% 105%,rgba(16,185,129,.22),transparent 45%),radial-gradient(circle at -20% -10%,rgba(47,125,225,.25),transparent 45%)}.sb>*{position:relative}.brand{display:flex;align-items:center;gap:var(--s3);min-height:var(--topbar-h);padding:var(--s2) var(--s5);border-bottom:1px solid var(--sidebar-line);overflow:hidden;color:#fff;flex-shrink:0}.brand-logo{width:36px;height:36px;flex-shrink:0}.brand-text{min-width:0}.brand-name{font-size:16px;font-weight:var(--w-bold);letter-spacing:var(--tr-snug);line-height:1.15;white-space:nowrap}.brand-tag{margin-top:2px;font-size:11.5px;font-weight:var(--w-medium);color:var(--sidebar-label);white-space:nowrap}.collapsed .brand{justify-content:center;padding:0}.collapsed .brand-text{display:none}.nav-scroll{flex:1;overflow:hidden auto;padding:var(--s4) 0 var(--s5);scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.25) transparent}.nav-group+.nav-group{margin-top:var(--s5)}.nav-section{padding:0 var(--s5) var(--s2) calc(var(--s3) + var(--s4));font-size:10.5px;font-weight:var(--w-semi);letter-spacing:.12em;text-transform:uppercase;color:var(--sidebar-label);opacity:.8;white-space:nowrap}.collapsed .nav-section{height:0;padding:0;opacity:0;overflow:hidden}.collapsed .nav-group+.nav-group{margin-top:var(--s3);padding-top:var(--s3);border-top:1px solid var(--sidebar-line)}.sb-nav{position:relative;display:flex;align-items:center;gap:var(--s3);height:42px;margin:2px var(--s3);padding:0 var(--s4);border-radius:var(--r-sm);color:var(--sidebar-text);font-size:var(--t-base);font-weight:var(--w-medium);white-space:nowrap;overflow:hidden;transition:background .15s,color .15s,box-shadow .15s}.sb-nav mat-icon{width:20px;height:20px;opacity:.85}.sb-nav:hover{background:var(--sidebar-hover);color:#fff}.sb-nav.active{background:var(--sidebar-active);color:#fff;font-weight:var(--w-semi);box-shadow:0 6px 18px #0f8a8a47,inset 0 1px #fff3}.sb-nav.active mat-icon{opacity:1}.sb-nav:focus-visible{outline:2px solid #fff;outline-offset:-2px}.sb-nav .sb-nav__badge{margin-inline-start:auto;padding:1px 7px;border-radius:var(--r-pill);font-size:10px;font-weight:var(--w-bold);letter-spacing:.06em;color:#062b22;background:#6ee7b7}.collapsed .sb-nav{justify-content:center;gap:0;margin:2px var(--s3);padding:0}.collapsed .sb-nav .sb-nav__label,.collapsed .sb-nav .sb-nav__badge{display:none}.sb-foot{display:flex;align-items:center;gap:var(--s3);margin:var(--s3) var(--s3) var(--s4);padding:var(--s3);border:1px solid var(--sidebar-line);border-radius:var(--r);background:#ffffff0f;flex-shrink:0}.sb-foot__logo{width:40px;height:40px;object-fit:contain;border-radius:8px;background:#fff;padding:3px;flex-shrink:0}.sb-foot__text{min-width:0;line-height:1.3}.sb-foot__title{font-size:var(--t-xs);font-weight:var(--w-semi);color:#ffffffeb}.sb-foot__sub{font-size:10.5px;color:var(--sidebar-label)}.collapsed .sb-foot{justify-content:center;padding:var(--s2) 0}.collapsed .sb-foot .sb-foot__text{display:none}.main{display:flex;flex-direction:column;min-width:0}.topbar{position:sticky;top:0;z-index:30;display:flex;align-items:center;gap:var(--s2);height:var(--topbar-h);padding:0 var(--s5) 0 var(--s3);background:color-mix(in srgb,var(--paper) 88%,transparent);-webkit-backdrop-filter:saturate(1.4) blur(10px);backdrop-filter:saturate(1.4) blur(10px);border-bottom:1px solid var(--line);flex-shrink:0}.tb-spacer{flex:1}.page{flex:1;width:100%;padding:var(--page-pad-y) var(--page-pad-x) var(--s10);overflow-x:hidden}@media(max-width:859.98px){.shell{grid-template-columns:minmax(0,1fr)}.sb{position:fixed;inset:0 auto 0 0;width:var(--sidebar-w);transform:translate(-100%);transition:transform .22s ease}.shell.drawer-open .sb{transform:none;box-shadow:var(--sh-lg)}.page{padding:var(--s4) var(--s4) var(--s9)}}.scrim{position:fixed;inset:0;z-index:35;background:#04102473;opacity:0;pointer-events:none;transition:opacity .2s}.scrim.show{opacity:1;pointer-events:auto}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--s4);flex-wrap:wrap;margin-bottom:var(--s6)}.page-title{font-size:var(--t-h1);font-weight:var(--w-bold);letter-spacing:var(--tr-tight);color:var(--ink)}.page-sub{margin-top:var(--s1);font-size:var(--t-h3);color:var(--soft);max-width:820px}.eyebrow{display:inline-flex;align-items:center;gap:var(--s2);margin-bottom:var(--s2);font-size:var(--t-2xs);font-weight:var(--w-bold);letter-spacing:var(--tr-caps);text-transform:uppercase;color:var(--primary)}.page-actions{display:flex;align-items:center;gap:var(--s2);flex-wrap:wrap}.card{display:flex;flex-direction:column;min-width:0;background:var(--paper);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--sh-md)}.card-head{display:flex;align-items:center;justify-content:space-between;gap:var(--s4);flex-wrap:wrap;padding:var(--s5) var(--card-pad);border-bottom:1px solid var(--line2)}.card-title{display:flex;align-items:center;gap:var(--s2);font-size:var(--t-h2);font-weight:var(--w-bold);color:var(--ink)}.card-sub{margin-top:2px;font-size:var(--t-sm);color:var(--soft)}.card-body{padding:var(--card-pad)}.card.interactive{cursor:pointer;transition:transform .18s,box-shadow .18s,border-color .18s}.card.interactive:hover{transform:translateY(-2px);box-shadow:var(--sh-lg);border-color:var(--primary-line)}.grid{display:grid;gap:var(--gap)}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}@media(max-width:1099.98px){.grid-3,.grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:639.98px){.grid-2,.grid-3,.grid-4{grid-template-columns:minmax(0,1fr)}}.stack{display:flex;flex-direction:column;gap:var(--gap)}.row{display:flex;align-items:center;gap:var(--s3)}.muted{color:var(--soft)}.faint{color:var(--faint);font-size:var(--t-xs)}.source-note{display:inline-flex;align-items:center;gap:6px;font-size:var(--t-xs);color:var(--faint)}.source-note mat-icon{width:14px;height:14px}.gate-g1{--gate: var(--g1);--gate-bright: var(--g1-bright);--gate-tint: var(--g1-tint);--gate-line: var(--g1-line)}.gate-g2{--gate: var(--g2);--gate-bright: var(--g2-bright);--gate-tint: var(--g2-tint);--gate-line: var(--g2-line)}.gate-g3{--gate: var(--g3);--gate-bright: var(--g3-bright);--gate-tint: var(--g3-tint);--gate-line: var(--g3-line)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--s2);height:var(--control-h);padding:0 var(--s4);border:1px solid transparent;border-radius:var(--r-sm);font-size:var(--t-sm);font-weight:var(--w-semi);line-height:1;white-space:nowrap;transition:background .15s,border-color .15s,color .15s,box-shadow .15s,transform .12s}.btn mat-icon{width:18px;height:18px}.btn:active:not(:disabled){transform:translateY(1px)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn.primary{background:var(--primary);color:#fff;box-shadow:inset 0 1px #ffffff29,0 1px 2px #0b25452e}.btn.primary:hover:not(:disabled){background:var(--primary-hover)}.btn.grad{background:var(--tg-grad-strong);color:#fff;box-shadow:0 6px 18px #0f8a8a47,inset 0 1px #fff3}.btn.grad:hover:not(:disabled){filter:brightness(1.07);box-shadow:0 10px 26px #0f8a8a57,inset 0 1px #fff3}.btn.ghost{background:var(--paper);border-color:var(--line);color:var(--ink2);box-shadow:var(--sh-xs)}.btn.ghost:hover:not(:disabled){border-color:var(--primary-line);background:var(--primary-tint);color:var(--primary)}.btn.danger{background:var(--paper);border-color:var(--danger-line);color:var(--danger-ink)}.btn.danger:hover:not(:disabled){background:var(--danger-tint)}.btn.danger-solid{background:var(--danger);color:#fff}.btn.danger-solid:hover:not(:disabled){filter:brightness(.94)}.btn.text{height:auto;padding:0;color:var(--primary)}.btn.sm{height:32px;padding:0 var(--s3);font-size:var(--t-xs)}.btn.lg{height:46px;padding:0 var(--s6);font-size:var(--t-base)}.btn.block{width:100%}.icon-btn{display:grid;place-items:center;width:38px;height:38px;border-radius:var(--r-sm);color:var(--soft);transition:background .15s,color .15s;flex-shrink:0}.icon-btn mat-icon{width:20px;height:20px}.icon-btn:hover{background:var(--paper3);color:var(--primary)}.chip{display:inline-flex;align-items:center;gap:5px;height:24px;padding:0 9px;border:1px solid var(--line);border-radius:var(--r-pill);background:var(--paper2);color:var(--ink2);font-size:var(--t-xs);font-weight:var(--w-semi);white-space:nowrap}.chip mat-icon{width:14px;height:14px}.chip.ok{background:var(--ok-tint);border-color:var(--ok-line);color:var(--ok-ink)}.chip.danger{background:var(--danger-tint);border-color:var(--danger-line);color:var(--danger-ink)}.chip.warn{background:var(--warn-tint);border-color:var(--warn-line);color:var(--warn-ink)}.chip.info{background:var(--info-tint);border-color:var(--primary-line);color:var(--info)}.chip.gate{background:var(--gate-tint);border-color:var(--gate-line);color:var(--gate)}.chip.clickable{cursor:pointer;transition:border-color .15s,background .15s}.chip.clickable:hover{border-color:var(--primary-line);background:var(--primary-tint);color:var(--primary)}.suggestion-chips{display:flex;flex-wrap:wrap;gap:var(--s2)}.suggestion{display:inline-flex;align-items:center;gap:6px;max-width:100%;padding:7px 12px;border:1px solid var(--line);border-radius:var(--r-pill);background:var(--paper);color:var(--ink2);font-size:var(--t-sm);text-align:left;transition:border-color .15s,background .15s,color .15s,transform .15s}.suggestion mat-icon{width:16px;height:16px;color:var(--primary)}.suggestion:hover{border-color:var(--primary-line);background:var(--primary-tint);color:var(--primary);transform:translateY(-1px)}.suggestion.attack{border-color:var(--danger-line)}.suggestion.attack mat-icon{color:var(--danger)}.suggestion.attack:hover{background:var(--danger-tint);color:var(--danger-ink)}.tg-field{display:flex;flex-direction:column;gap:6px;margin-bottom:var(--s4)}.tg-label{font-size:var(--t-sm);font-weight:var(--w-semi);color:var(--ink2)}.tg-input{display:flex;align-items:center;gap:var(--s2);height:44px;padding:0 var(--s3);border:1px solid var(--line);border-radius:var(--r-sm);background:var(--paper);transition:border-color .15s,box-shadow .15s}.tg-input mat-icon{width:19px;height:19px;color:var(--faint)}.tg-input input{flex:1;min-width:0;height:100%;border:none;outline:none;background:transparent;color:var(--ink);font-size:var(--t-base)}.tg-input input::placeholder{color:var(--faint)}.tg-input:focus-within{border-color:var(--primary);box-shadow:var(--ring)}.tg-input.invalid{border-color:var(--danger)}.tg-textarea{width:100%;min-height:96px;padding:var(--s3);border:1px solid var(--line);border-radius:var(--r-sm);background:var(--paper);color:var(--ink);font-size:var(--t-base);line-height:1.5;resize:vertical;outline:none}.tg-textarea:focus{border-color:var(--primary);box-shadow:var(--ring)}.tg-textarea.mono{font-size:13px}.form-error{display:flex;align-items:flex-start;gap:var(--s2);margin-bottom:var(--s4);padding:var(--s3);border:1px solid var(--danger-line);border-radius:var(--r-sm);background:var(--danger-tint);color:var(--danger-ink);font-size:var(--t-sm)}.form-error mat-icon{width:18px;height:18px}.mat-mdc-form-field{width:100%}.tg-table-wrap{overflow-x:auto}table.mat-mdc-table{width:100%;background:transparent}table.mat-mdc-table th.mat-mdc-header-cell{background:var(--paper2);color:var(--soft);font-size:var(--t-xs);font-weight:var(--w-semi);letter-spacing:.04em;text-transform:uppercase;border-bottom-color:var(--line)}table.mat-mdc-table td.mat-mdc-cell{color:var(--ink2);font-size:var(--t-sm);border-bottom-color:var(--line2)}table.mat-mdc-table tr.mat-mdc-row{transition:background .12s}table.mat-mdc-table tr.mat-mdc-row.clickable{cursor:pointer}table.mat-mdc-table tr.mat-mdc-row.clickable:hover{background:var(--primary-tint)}.mat-mdc-paginator{background:transparent!important}.simple-table{width:100%;border-collapse:collapse;font-size:var(--t-sm)}.simple-table th{padding:10px 12px;text-align:left;font-size:var(--t-xs);font-weight:var(--w-semi);letter-spacing:.04em;text-transform:uppercase;color:var(--soft);background:var(--paper2);border-bottom:1px solid var(--line)}.simple-table td{padding:10px 12px;color:var(--ink2);border-bottom:1px solid var(--line2)}.simple-table tr:last-child td{border-bottom:none}.simple-table .num{text-align:right;font-variant-numeric:tabular-nums}.tg-dialog .mat-mdc-dialog-surface{border:1px solid var(--line);box-shadow:var(--sh-lg)}.cdk-overlay-dark-backdrop{background:#0410248c;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.dlg-head{display:flex;align-items:flex-start;gap:var(--s3);padding:var(--s5) var(--s6) var(--s3)}.dlg-title{font-size:19px;font-weight:var(--w-bold);color:var(--ink)}.dlg-sub{margin-top:2px;font-size:var(--t-sm);color:var(--soft)}.dlg-body{padding:var(--s2) var(--s6) var(--s5);overflow:auto}.dlg-foot{display:flex;justify-content:flex-end;gap:var(--s2);padding:var(--s4) var(--s6);border-top:1px solid var(--line2);background:var(--paper2)}.skeleton{position:relative;overflow:hidden;border-radius:var(--r-sm);background:var(--paper3)}.skeleton:after{content:"";position:absolute;inset:0;transform:translate(-100%);background:linear-gradient(90deg,transparent,rgba(255,255,255,.55),transparent);animation:tg-shimmer 1.3s infinite}:root[data-theme=dark] .skeleton:after{background:linear-gradient(90deg,transparent,rgba(255,255,255,.08),transparent)}.banner{display:flex;align-items:center;gap:var(--s3);padding:var(--s3) var(--s4);border:1px solid var(--line);border-radius:var(--r);font-size:var(--t-sm)}.banner mat-icon{width:20px;height:20px}.banner.ok{background:var(--ok-tint);border-color:var(--ok-line);color:var(--ok-ink)}.banner.danger{background:var(--danger-tint);border-color:var(--danger-line);color:var(--danger-ink)}.banner.warn{background:var(--warn-tint);border-color:var(--warn-line);color:var(--warn-ink)}.banner.info{background:var(--info-tint);border-color:var(--primary-line);color:var(--info)}.spin{display:inline-block;width:16px;height:16px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:tg-spin .7s linear infinite}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.mock-ribbon{position:fixed;right:-46px;bottom:26px;z-index:2000;width:190px;padding:6px 0;transform:rotate(-45deg);background:#d97706;color:#fff;font-size:11px;font-weight:800;letter-spacing:.14em;text-align:center;box-shadow:0 4px 12px #00000040;pointer-events:none}.enter-up{animation:tg-fade-up .45s cubic-bezier(.2,.7,.2,1) both}.stagger>*{animation:tg-fade-up .45s cubic-bezier(.2,.7,.2,1) both}.stagger>*:nth-child(1){animation-delay:45ms}.stagger>*:nth-child(2){animation-delay:90ms}.stagger>*:nth-child(3){animation-delay:135ms}.stagger>*:nth-child(4){animation-delay:.18s}.stagger>*:nth-child(5){animation-delay:225ms}.stagger>*:nth-child(6){animation-delay:.27s}.stagger>*:nth-child(7){animation-delay:315ms}.stagger>*:nth-child(8){animation-delay:.36s}.stagger>*:nth-child(9){animation-delay:405ms}.stagger>*:nth-child(10){animation-delay:.45s}.stagger>*:nth-child(11){animation-delay:495ms}.stagger>*:nth-child(12){animation-delay:.54s}@keyframes tg-fade-up{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes tg-shimmer{to{transform:translate(100%)}}@keyframes tg-spin{to{transform:rotate(360deg)}}@keyframes tg-pulse-ring{0%{transform:scale(.85);opacity:.7}to{transform:scale(1.5);opacity:0}}@keyframes tg-shake{0%,to{transform:translate(0)}20%{transform:translate(-6px)}40%{transform:translate(6px)}60%{transform:translate(-4px)}80%{transform:translate(4px)}}@keyframes tg-dash{to{stroke-dashoffset:-200}}.nice-scroll{scrollbar-width:thin;scrollbar-color:var(--line) transparent}body::-webkit-scrollbar{width:10px}body::-webkit-scrollbar-thumb{background:#c3cfdd;border-radius:10px;border:2px solid var(--bg)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
