.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;inset:0;pointer-events:auto;-webkit-tap-highlight-color:transparent;opacity:0;touch-action:manipulation;z-index:1000;transition:opacity .4s cubic-bezier(.25,.8,.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:.6}}.cdk-overlay-dark-backdrop{background:#00000052}.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:0 auto auto 0}.cdk-overlay-popover::backdrop{display:none}.cdk-overlay-popover .cdk-overlay-backdrop{position:fixed;z-index:auto}:root{--bg: #f6f8f8;--surface: #ffffff;--fg: #17262c;--muted: #627379;--border: #dde5e6;--accent: #087e8b;--accent-hover: #08717c;--accent-pressed: #0e5a65;--accent-soft: #dff3f1;--accent-halo: #e4f5f4;--focus-ring-color: #2aaeb355;--focus-ring: 0 0 0 3px var(--focus-ring-color);--success: #147a50;--success-bg: #e8f6ef;--warning: #8b5b00;--warning-bg: #fff5d8;--danger: #a83d3d;--danger-bg: #fcebec;--sidebar-base: #0a3441;--sidebar-deep: #082d39;--sidebar-gradient: linear-gradient(180deg, var(--sidebar-base), var(--sidebar-deep));--sidebar-active: #125362;--sidebar-active-rail: #3cc3c2;--sidebar-text: #c9dbde;--sidebar-text-strong: #ffffff;--sidebar-text-muted: #9bb2b7;--sidebar-section: #8eabb1;--sidebar-divider: #ffffff17;--sidebar-hover: #ffffff12;--sidebar-block: #ffffff0d;--sidebar-icon-bg: #ffffff14;--sidebar-switcher-border: #ffffff26;--radius-sm: 6px;--radius-md: 8px;--radius-lg: 12px;--radius-pill: 99px;--motion-fast: .15s;--motion-base: .2s;--ease-standard: cubic-bezier(.2, 0, 0, 1);--font-display: "Manrope", "Inter", Arial, sans-serif;--font-body: "Inter", Arial, sans-serif;--sidebar-width: 256px;--sidebar-width-rail: 76px;--topbar-height: 72px;--content-max-width: 1240px;--content-gutter: 28px;--grid: 8px;--grid-micro: 4px}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important}}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:700;src:url("./media/manrope-cyrillic-ext-700-normal-LJBM5ICA.woff2") format("woff2"),url("./media/manrope-cyrillic-ext-700-normal-5KNENMKG.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:Manrope;font-style:normal;font-display:swap;font-weight:700;src:url("./media/manrope-cyrillic-700-normal-UOVYS47P.woff2") format("woff2"),url("./media/manrope-cyrillic-700-normal-G6GX7EQ7.woff") format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:700;src:url("./media/manrope-greek-700-normal-CDMUANUE.woff2") format("woff2"),url("./media/manrope-greek-700-normal-7TUBUZJY.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:Manrope;font-style:normal;font-display:swap;font-weight:700;src:url("./media/manrope-vietnamese-700-normal-BFHQAP4S.woff2") format("woff2"),url("./media/manrope-vietnamese-700-normal-BDCK3BKG.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:Manrope;font-style:normal;font-display:swap;font-weight:700;src:url("./media/manrope-latin-ext-700-normal-ZRNEGYSR.woff2") format("woff2"),url("./media/manrope-latin-ext-700-normal-2THVGD2M.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:Manrope;font-style:normal;font-display:swap;font-weight:700;src:url("./media/manrope-latin-700-normal-J7BHEPTZ.woff2") format("woff2"),url("./media/manrope-latin-700-normal-SE4WUS6C.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:Manrope;font-style:normal;font-display:swap;font-weight:800;src:url("./media/manrope-cyrillic-ext-800-normal-JGAT7TJN.woff2") format("woff2"),url("./media/manrope-cyrillic-ext-800-normal-HZBD4HVI.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:Manrope;font-style:normal;font-display:swap;font-weight:800;src:url("./media/manrope-cyrillic-800-normal-M7RM7SIJ.woff2") format("woff2"),url("./media/manrope-cyrillic-800-normal-NNOCM2MM.woff") format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:800;src:url("./media/manrope-greek-800-normal-UJV4OFY6.woff2") format("woff2"),url("./media/manrope-greek-800-normal-PUI7DJWA.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:Manrope;font-style:normal;font-display:swap;font-weight:800;src:url("./media/manrope-vietnamese-800-normal-GOGRNLWU.woff2") format("woff2"),url("./media/manrope-vietnamese-800-normal-MXHO6THS.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:Manrope;font-style:normal;font-display:swap;font-weight:800;src:url("./media/manrope-latin-ext-800-normal-CW55OQTE.woff2") format("woff2"),url("./media/manrope-latin-ext-800-normal-ZDN6HMGG.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:Manrope;font-style:normal;font-display:swap;font-weight:800;src:url("./media/manrope-latin-800-normal-CIONJRO4.woff2") format("woff2"),url("./media/manrope-latin-800-normal-YJC24PKF.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:Inter;font-style:normal;font-display:swap;font-weight:400;src:url("./media/inter-cyrillic-ext-400-normal-6VZLC4H3.woff2") format("woff2"),url("./media/inter-cyrillic-ext-400-normal-FIY4AS7B.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:Inter;font-style:normal;font-display:swap;font-weight:400;src:url("./media/inter-cyrillic-400-normal-G4TQJ72A.woff2") format("woff2"),url("./media/inter-cyrillic-400-normal-U23O635P.woff") format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url("./media/inter-greek-ext-400-normal-JTQ56XIH.woff2") format("woff2"),url("./media/inter-greek-ext-400-normal-RDW6D2QK.woff") format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url("./media/inter-greek-400-normal-24BA4PDP.woff2") format("woff2"),url("./media/inter-greek-400-normal-ZRMMCGZA.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:Inter;font-style:normal;font-display:swap;font-weight:400;src:url("./media/inter-vietnamese-400-normal-3ZH4IT4J.woff2") format("woff2"),url("./media/inter-vietnamese-400-normal-VHOS7L4B.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:Inter;font-style:normal;font-display:swap;font-weight:400;src:url("./media/inter-latin-ext-400-normal-GKRFIQRI.woff2") format("woff2"),url("./media/inter-latin-ext-400-normal-J3OKVTXA.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:Inter;font-style:normal;font-display:swap;font-weight:400;src:url("./media/inter-latin-400-normal-55WT6UWF.woff2") format("woff2"),url("./media/inter-latin-400-normal-FR5HOXA4.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:Inter;font-style:normal;font-display:swap;font-weight:500;src:url("./media/inter-cyrillic-ext-500-normal-7YGZWFHX.woff2") format("woff2"),url("./media/inter-cyrillic-ext-500-normal-LJV3DWSQ.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:Inter;font-style:normal;font-display:swap;font-weight:500;src:url("./media/inter-cyrillic-500-normal-PQK3XKF6.woff2") format("woff2"),url("./media/inter-cyrillic-500-normal-XH4MSKNN.woff") format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url("./media/inter-greek-ext-500-normal-ZPKR4LNJ.woff2") format("woff2"),url("./media/inter-greek-ext-500-normal-PJFKOJVL.woff") format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url("./media/inter-greek-500-normal-6QPUHW6Z.woff2") format("woff2"),url("./media/inter-greek-500-normal-3GRTEB6X.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:Inter;font-style:normal;font-display:swap;font-weight:500;src:url("./media/inter-vietnamese-500-normal-PQFGSX3P.woff2") format("woff2"),url("./media/inter-vietnamese-500-normal-UOTTXFJL.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:Inter;font-style:normal;font-display:swap;font-weight:500;src:url("./media/inter-latin-ext-500-normal-3G2JDXWM.woff2") format("woff2"),url("./media/inter-latin-ext-500-normal-UGNIJJWL.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:Inter;font-style:normal;font-display:swap;font-weight:500;src:url("./media/inter-latin-500-normal-W62DVTXI.woff2") format("woff2"),url("./media/inter-latin-500-normal-ZNGIZ2YB.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:Inter;font-style:normal;font-display:swap;font-weight:600;src:url("./media/inter-cyrillic-ext-600-normal-66Z4CWZK.woff2") format("woff2"),url("./media/inter-cyrillic-ext-600-normal-5S66ZLPP.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:Inter;font-style:normal;font-display:swap;font-weight:600;src:url("./media/inter-cyrillic-600-normal-F5BISKXR.woff2") format("woff2"),url("./media/inter-cyrillic-600-normal-YOMHVXBS.woff") format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url("./media/inter-greek-ext-600-normal-D4Z5GF6D.woff2") format("woff2"),url("./media/inter-greek-ext-600-normal-BCNJL3T4.woff") format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url("./media/inter-greek-600-normal-ZRJSSN4C.woff2") format("woff2"),url("./media/inter-greek-600-normal-J3AMDQNF.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:Inter;font-style:normal;font-display:swap;font-weight:600;src:url("./media/inter-vietnamese-600-normal-TVIYLGI7.woff2") format("woff2"),url("./media/inter-vietnamese-600-normal-YXHD7S3I.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:Inter;font-style:normal;font-display:swap;font-weight:600;src:url("./media/inter-latin-ext-600-normal-HCYHLWH6.woff2") format("woff2"),url("./media/inter-latin-ext-600-normal-JH5KI6RD.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:Inter;font-style:normal;font-display:swap;font-weight:600;src:url("./media/inter-latin-600-normal-R6Y2SZCR.woff2") format("woff2"),url("./media/inter-latin-600-normal-ZYHV6QZT.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:Inter;font-style:normal;font-display:swap;font-weight:700;src:url("./media/inter-cyrillic-ext-700-normal-OS2RNUST.woff2") format("woff2"),url("./media/inter-cyrillic-ext-700-normal-JNACFJVQ.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:Inter;font-style:normal;font-display:swap;font-weight:700;src:url("./media/inter-cyrillic-700-normal-5HS3FXHB.woff2") format("woff2"),url("./media/inter-cyrillic-700-normal-SPV2HQ4Q.woff") format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url("./media/inter-greek-ext-700-normal-QJ6NMGCB.woff2") format("woff2"),url("./media/inter-greek-ext-700-normal-GHYQOXL3.woff") format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url("./media/inter-greek-700-normal-S7YO524B.woff2") format("woff2"),url("./media/inter-greek-700-normal-L3DMOWHF.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:Inter;font-style:normal;font-display:swap;font-weight:700;src:url("./media/inter-vietnamese-700-normal-7LYSQCP6.woff2") format("woff2"),url("./media/inter-vietnamese-700-normal-XRULDGKE.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:Inter;font-style:normal;font-display:swap;font-weight:700;src:url("./media/inter-latin-ext-700-normal-WY62UGW6.woff2") format("woff2"),url("./media/inter-latin-ext-700-normal-SNJUWUAD.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:Inter;font-style:normal;font-display:swap;font-weight:700;src:url("./media/inter-latin-700-normal-SU5XVJMF.woff2") format("woff2"),url("./media/inter-latin-700-normal-TQQ5JXGD.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}body{font-family:var(--font-body);font-size:13px;font-weight:400;line-height:1.5;color:var(--fg);-webkit-font-smoothing:antialiased}.page-title{font-family:var(--font-display);font-size:26px;font-weight:700;letter-spacing:-.01em;margin:0}.project-title{font-family:var(--font-display);font-size:18px;font-weight:700;margin:0}.highlight-title{font-family:var(--font-display);font-size:20px;font-weight:700}@media(max-width:780px){.highlight-title{font-size:17px}}.card-title{font-family:var(--font-display);font-size:16px;font-weight:700;margin:0}.modal-title{font-family:var(--font-display);font-size:18px;font-weight:700;margin:0}.detail-title{font-size:14.5px;font-weight:700;margin:0}.identifier{font-family:var(--font-display);font-weight:700;color:var(--accent-pressed)}.text-table{font-size:12.5px}.text-meta{font-size:11.5px;color:var(--muted)}.eyebrow{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--accent-pressed)}.tabular-nums{font-variant-numeric:tabular-nums}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;background:var(--bg);overflow-x:clip}.app-shell{display:grid;grid-template-columns:var(--sidebar-width) minmax(0,1fr);min-height:100vh;transition:grid-template-columns var(--motion-base) var(--ease-standard)}@media(min-width:781px){.app-shell.is-collapsed{grid-template-columns:var(--sidebar-width-rail) minmax(0,1fr)}}@media(max-width:780px){.app-shell{grid-template-columns:minmax(0,1fr)}}.app-main{min-width:0;container-type:inline-size;container-name:content}.page{max-width:var(--content-max-width);width:calc(100% - 2 * var(--content-gutter));margin:0 auto;padding:24px 0 48px}@media(max-width:780px){.page{width:calc(100% - 28px);padding:20px 0 32px}}:focus-visible{outline:none;box-shadow:var(--focus-ring)}.visually-hidden{position:absolute;left:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}html.is-scroll-locked{overflow:hidden}html.is-scroll-locked.keeps-scrollbar-gutter{scrollbar-gutter:stable}.confirm-backdrop{background:color-mix(in oklch,var(--sidebar-base) 45%,transparent)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:36px;padding:0 13px;border:1px solid transparent;border-radius:var(--radius-md);font:inherit;font-size:12.5px;font-weight:600;text-decoration:none;white-space:nowrap;cursor:pointer;transition:background var(--motion-fast) var(--ease-standard),border-color var(--motion-fast) var(--ease-standard)}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.btn-busy{opacity:.8;cursor:progress}.btn.btn-busy:before{content:"";flex:none;width:12px;height:12px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:btn-busy-spin .7s linear infinite}.btn-busy:not(.btn){cursor:progress}.btn-busy:not(.btn)>svg{display:none}.btn-busy:not(.btn):before{content:"";flex:none;width:12px;height:12px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:btn-busy-spin .7s linear infinite}@keyframes btn-busy-spin{to{transform:rotate(360deg)}}.form-fieldset{display:contents}.btn-sm{height:32px;padding:0 10px;font-size:11.5px}.btn-primary{border-color:var(--accent);background:var(--accent);color:#fff}.btn-primary:hover{background:var(--accent-hover)}.btn-primary:active{background:var(--accent-pressed)}.btn-outline{border-color:var(--border);background:var(--surface);color:var(--fg)}.btn-outline:hover{border-color:color-mix(in oklch,var(--border) 70%,var(--fg));background:var(--bg)}.btn-danger{border-color:color-mix(in oklch,var(--danger) 40%,transparent);background:var(--surface);color:var(--danger)}.btn-danger:hover{background:var(--danger-bg)}.btn-link{padding:0;border:0;background:none;color:var(--accent-pressed);font:inherit;font-size:12px;font-weight:600;text-decoration:underline;text-underline-offset:2px;cursor:pointer}.btn-link:hover{color:var(--fg)}.field{display:grid;align-content:start;gap:6px;margin-bottom:16px}.field>label{font-size:12px;font-weight:600}.field-label{font-size:12px;font-weight:600}legend.field-label{margin-bottom:6px;padding:0}.field-required{color:var(--danger)}.input,.select{height:38px;padding:0 12px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);color:var(--fg);font:inherit;font-size:13px}.input:focus,.select:focus{outline:none;border-color:var(--accent);box-shadow:var(--focus-ring)}.input[aria-invalid=true],.select[aria-invalid=true]{border-color:var(--danger)}.search{height:34px;max-width:280px;font-size:12.5px}.field-hint{margin:0;color:var(--muted);font-size:11.5px}.field-error{margin:0;color:var(--danger);font-size:11.5px;font-weight:500}.checkbox{display:flex;align-items:center;gap:8px;font-size:13px}.checkbox>input{margin:0}.card{margin-bottom:20px;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);overflow:hidden}.card-header{display:flex;align-items:center;gap:12px;min-height:78px;padding:18px 20px;border-bottom:1px solid var(--border)}.card-header-text{flex:1;min-width:0}.card-header-text p{margin:2px 0 0;color:var(--muted);font-size:12px}.card-body{padding:18px 20px}.toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding:12px 16px}.page-header{display:flex;align-items:center;gap:12px;margin-bottom:20px}.page-header .page-title{flex:1}.data-sheet{display:grid;grid-template-columns:minmax(140px,220px) 1fr;gap:10px 16px;margin:0}.data-sheet dt{color:var(--muted)}.data-sheet dd{margin:0;font-weight:500}.modal{display:block;width:min(560px,100vw - 32px);max-height:88vh;overflow-y:auto;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);box-shadow:0 24px 48px color-mix(in oklch,var(--sidebar-base) 22%,transparent)}.modal-header{padding:20px 22px 0}.modal-body{padding:18px 22px}.modal-footer{display:flex;justify-content:flex-end;gap:10px;padding:0 22px 20px}
