@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/jetbrainsmono/v24/tDbv2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKwBNntkaToggR7BYRbKPx3cwhsk.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/jetbrainsmono/v24/tDbv2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKwBNntkaToggR7BYRbKPxTcwhsk.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/jetbrainsmono/v24/tDbv2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKwBNntkaToggR7BYRbKPxPcwhsk.woff2) format("woff2");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/jetbrainsmono/v24/tDbv2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKwBNntkaToggR7BYRbKPx_cwhsk.woff2) format("woff2");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:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/jetbrainsmono/v24/tDbv2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKwBNntkaToggR7BYRbKPx7cwhsk.woff2) format("woff2");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:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/jetbrainsmono/v24/tDbv2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKwBNntkaToggR7BYRbKPxDcwg.woff2) format("woff2");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:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/jetbrainsmono/v24/tDbv2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKwBNntkaToggR7BYRbKPx3cwhsk.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/jetbrainsmono/v24/tDbv2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKwBNntkaToggR7BYRbKPxTcwhsk.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/jetbrainsmono/v24/tDbv2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKwBNntkaToggR7BYRbKPxPcwhsk.woff2) format("woff2");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/jetbrainsmono/v24/tDbv2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKwBNntkaToggR7BYRbKPx_cwhsk.woff2) format("woff2");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:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/jetbrainsmono/v24/tDbv2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKwBNntkaToggR7BYRbKPx7cwhsk.woff2) format("woff2");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:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/jetbrainsmono/v24/tDbv2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKwBNntkaToggR7BYRbKPxDcwg.woff2) format("woff2");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:JetBrains Mono;font-style:normal;font-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/jetbrainsmono/v24/tDbv2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKwBNntkaToggR7BYRbKPx3cwhsk.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/jetbrainsmono/v24/tDbv2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKwBNntkaToggR7BYRbKPxTcwhsk.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/jetbrainsmono/v24/tDbv2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKwBNntkaToggR7BYRbKPxPcwhsk.woff2) format("woff2");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/jetbrainsmono/v24/tDbv2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKwBNntkaToggR7BYRbKPx_cwhsk.woff2) format("woff2");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:JetBrains Mono;font-style:normal;font-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/jetbrainsmono/v24/tDbv2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKwBNntkaToggR7BYRbKPx7cwhsk.woff2) format("woff2");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:JetBrains Mono;font-style:normal;font-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/jetbrainsmono/v24/tDbv2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKwBNntkaToggR7BYRbKPxDcwg.woff2) format("woff2");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-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/plusjakartasans/v12/LDIoaomQNQcsA88c7O9yZ4KMCoOg4Ko70yyygA.woff2) format("woff2");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-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/plusjakartasans/v12/LDIoaomQNQcsA88c7O9yZ4KMCoOg4Ko50yyygA.woff2) format("woff2");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-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/plusjakartasans/v12/LDIoaomQNQcsA88c7O9yZ4KMCoOg4Ko40yyygA.woff2) format("woff2");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-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/plusjakartasans/v12/LDIoaomQNQcsA88c7O9yZ4KMCoOg4Ko20yw.woff2) format("woff2");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-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/plusjakartasans/v12/LDIoaomQNQcsA88c7O9yZ4KMCoOg4Ko70yyygA.woff2) format("woff2");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-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/plusjakartasans/v12/LDIoaomQNQcsA88c7O9yZ4KMCoOg4Ko50yyygA.woff2) format("woff2");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-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/plusjakartasans/v12/LDIoaomQNQcsA88c7O9yZ4KMCoOg4Ko40yyygA.woff2) format("woff2");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-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/plusjakartasans/v12/LDIoaomQNQcsA88c7O9yZ4KMCoOg4Ko20yw.woff2) format("woff2");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-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/plusjakartasans/v12/LDIoaomQNQcsA88c7O9yZ4KMCoOg4Ko70yyygA.woff2) format("woff2");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-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/plusjakartasans/v12/LDIoaomQNQcsA88c7O9yZ4KMCoOg4Ko50yyygA.woff2) format("woff2");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-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/plusjakartasans/v12/LDIoaomQNQcsA88c7O9yZ4KMCoOg4Ko40yyygA.woff2) format("woff2");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-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/plusjakartasans/v12/LDIoaomQNQcsA88c7O9yZ4KMCoOg4Ko20yw.woff2) format("woff2");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-weight:700;font-display:swap;src:url(https://fonts.gstatic.com/s/plusjakartasans/v12/LDIoaomQNQcsA88c7O9yZ4KMCoOg4Ko70yyygA.woff2) format("woff2");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-weight:700;font-display:swap;src:url(https://fonts.gstatic.com/s/plusjakartasans/v12/LDIoaomQNQcsA88c7O9yZ4KMCoOg4Ko50yyygA.woff2) format("woff2");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-weight:700;font-display:swap;src:url(https://fonts.gstatic.com/s/plusjakartasans/v12/LDIoaomQNQcsA88c7O9yZ4KMCoOg4Ko40yyygA.woff2) format("woff2");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-weight:700;font-display:swap;src:url(https://fonts.gstatic.com/s/plusjakartasans/v12/LDIoaomQNQcsA88c7O9yZ4KMCoOg4Ko20yw.woff2) format("woff2");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-weight:800;font-display:swap;src:url(https://fonts.gstatic.com/s/plusjakartasans/v12/LDIoaomQNQcsA88c7O9yZ4KMCoOg4Ko70yyygA.woff2) format("woff2");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-weight:800;font-display:swap;src:url(https://fonts.gstatic.com/s/plusjakartasans/v12/LDIoaomQNQcsA88c7O9yZ4KMCoOg4Ko50yyygA.woff2) format("woff2");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-weight:800;font-display:swap;src:url(https://fonts.gstatic.com/s/plusjakartasans/v12/LDIoaomQNQcsA88c7O9yZ4KMCoOg4Ko40yyygA.woff2) format("woff2");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-weight:800;font-display:swap;src:url(https://fonts.gstatic.com/s/plusjakartasans/v12/LDIoaomQNQcsA88c7O9yZ4KMCoOg4Ko20yw.woff2) format("woff2");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:Space Grotesk;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/spacegrotesk/v22/V8mDoQDjQSkFtoMM3T6r8E7mPb54C-s0.woff2) format("woff2");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:Space Grotesk;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/spacegrotesk/v22/V8mDoQDjQSkFtoMM3T6r8E7mPb94C-s0.woff2) format("woff2");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:Space Grotesk;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/spacegrotesk/v22/V8mDoQDjQSkFtoMM3T6r8E7mPbF4Cw.woff2) format("woff2");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:Space Grotesk;font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/spacegrotesk/v22/V8mDoQDjQSkFtoMM3T6r8E7mPb54C-s0.woff2) format("woff2");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:Space Grotesk;font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/spacegrotesk/v22/V8mDoQDjQSkFtoMM3T6r8E7mPb94C-s0.woff2) format("woff2");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:Space Grotesk;font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/spacegrotesk/v22/V8mDoQDjQSkFtoMM3T6r8E7mPbF4Cw.woff2) format("woff2");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:Space Grotesk;font-style:normal;font-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/spacegrotesk/v22/V8mDoQDjQSkFtoMM3T6r8E7mPb54C-s0.woff2) format("woff2");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:Space Grotesk;font-style:normal;font-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/spacegrotesk/v22/V8mDoQDjQSkFtoMM3T6r8E7mPb94C-s0.woff2) format("woff2");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:Space Grotesk;font-style:normal;font-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/spacegrotesk/v22/V8mDoQDjQSkFtoMM3T6r8E7mPbF4Cw.woff2) format("woff2");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:Space Grotesk;font-style:normal;font-weight:700;font-display:swap;src:url(https://fonts.gstatic.com/s/spacegrotesk/v22/V8mDoQDjQSkFtoMM3T6r8E7mPb54C-s0.woff2) format("woff2");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:Space Grotesk;font-style:normal;font-weight:700;font-display:swap;src:url(https://fonts.gstatic.com/s/spacegrotesk/v22/V8mDoQDjQSkFtoMM3T6r8E7mPb94C-s0.woff2) format("woff2");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:Space Grotesk;font-style:normal;font-weight:700;font-display:swap;src:url(https://fonts.gstatic.com/s/spacegrotesk/v22/V8mDoQDjQSkFtoMM3T6r8E7mPbF4Cw.woff2) format("woff2");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}@layer properties;@layer theme,base,components,utilities;@layer theme{:root,:host{--font-sans: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--default-transition-duration: .15s;--default-transition-timing-function: cubic-bezier(.4, 0, .2, 1);--default-font-family: var(--font-sans);--default-mono-font-family: var(--font-mono)}}@layer base{*,:after,:before,::backdrop,::file-selector-button{box-sizing:border-box;margin:0;padding:0;border:0 solid}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;tab-size:4;font-family:var(--default-font-family, ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings, normal);font-variation-settings:var(--default-font-variation-settings, normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings, normal);font-variation-settings:var(--default-mono-font-variation-settings, normal);font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea,::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;border-radius:0;background-color:transparent;opacity:1}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not (-webkit-appearance: -apple-pay-button)) or (contain-intrinsic-size: 1px){::placeholder{color:currentcolor}@supports (color: color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit,::-webkit-datetime-edit-year-field,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field,::-webkit-datetime-edit-second-field,::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]),::file-selector-button{appearance:button}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer utilities{.visible{visibility:visible}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border-width:0}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.table{display:table}.grow{flex-grow:1}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.flex-wrap{flex-wrap:wrap}.border{border-style:var(--tw-border-style);border-width:1px}.capitalize{text-transform:capitalize}.shadow{--tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, rgb(0 0 0 / .1)), 0 1px 2px -1px var(--tw-shadow-color, rgb(0 0 0 / .1));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease, var(--default-transition-timing-function));transition-duration:var(--tw-duration, var(--default-transition-duration))}}:root{--brand-50: #EEF1FF;--brand-100: #DEE3FF;--brand-200: #C2CBFF;--brand-300: #9AA8FF;--brand-400: #6E80FF;--brand-500: #4B63FF;--brand-600: #3A4FE6;--brand-700: #2C3CBC;--brand-800: #243196;--accent-300: #7FE6F5;--accent-400: #36CFE8;--accent-500: #12B5D4;--accent-600: #0E92AC;--navy-950: #070C20;--navy-900: #0A1230;--navy-850: #0C1738;--navy-800: #101D45;--navy-700: #182552;--navy-600: #243367;--success: #12B76A;--success-bg: #E7F8F0;--warning: #F59E0B;--warning-bg: #FEF4E2;--danger: #F0453A;--danger-bg: #FDECEB;--info: var(--brand-500);--info-bg: var(--brand-50);--bg: #F4F6FC;--surface: #FFFFFF;--surface-2: #F0F3FB;--surface-3: #E8ECF7;--border: #E4E8F3;--border-strong: #D2D9EA;--text: #0E1A40;--text-2: #515D80;--text-3: #8A93B2;--text-on-brand: #FFFFFF;--sidebar-bg: #0A1230;--sidebar-bg-2: #0E1738;--sidebar-border: #1C2A55;--sidebar-text: #A9B4D6;--sidebar-text-dim: #6C77A0;--sidebar-active-bg: rgba(75,99,255,.16);--sidebar-active-text: #FFFFFF;--r-xs: 6px;--r-sm: 9px;--r-md: 12px;--r-lg: 16px;--r-xl: 22px;--r-2xl: 28px;--r-pill: 999px;--sh-xs: 0 1px 2px rgba(14,26,64,.06);--sh-sm: 0 1px 3px rgba(14,26,64,.08), 0 1px 2px rgba(14,26,64,.04);--sh-md: 0 4px 14px rgba(14,26,64,.08), 0 2px 4px rgba(14,26,64,.04);--sh-lg: 0 12px 32px rgba(14,26,64,.12), 0 4px 10px rgba(14,26,64,.06);--sh-xl: 0 24px 60px rgba(14,26,64,.18);--sh-brand: 0 8px 22px rgba(75,99,255,.32);--s1: 4px;--s2: 8px;--s3: 12px;--s4: 16px;--s5: 20px;--s6: 24px;--s7: 32px;--s8: 40px;--s9: 48px;--s10: 64px;--s11: 80px;--font-display: "Space Grotesk", system-ui, sans-serif;--font-ui: "Plus Jakarta Sans", system-ui, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, monospace;--fs-display: 40px;--fs-h1: 30px;--fs-h2: 24px;--fs-h3: 19px;--fs-h4: 16px;--fs-body: 15px;--fs-sm: 13.5px;--fs-xs: 12px;--fs-2xs: 11px;--topbar-h: 68px;--sidebar-w: 264px;--maxw: 1320px}[data-theme=dark]{--bg: #070C20;--surface: #0E1638;--surface-2: #121E47;--surface-3: #182553;--border: #1E2A55;--border-strong: #29396B;--text: #EAEEFB;--text-2: #9AA6CC;--text-3: #6B779E;--brand-50: rgba(75,99,255,.14);--info-bg: rgba(75,99,255,.14);--success-bg: rgba(18,183,106,.14);--warning-bg: rgba(245,158,11,.14);--danger-bg: rgba(240,69,58,.14);--sidebar-bg: #060A1C;--sidebar-bg-2: #0A1130;--sidebar-border: #16224A;--sh-xs: 0 1px 2px rgba(0,0,0,.4);--sh-sm: 0 1px 3px rgba(0,0,0,.5);--sh-md: 0 4px 14px rgba(0,0,0,.45);--sh-lg: 0 14px 34px rgba(0,0,0,.55);--sh-xl: 0 24px 60px rgba(0,0,0,.6)}*,*:before,*:after{box-sizing:border-box}*{margin:0;padding:0}html{-webkit-text-size-adjust:100%}body{font-family:var(--font-ui);font-size:var(--fs-body);line-height:1.55;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;transition:background .25s ease,color .25s ease}h1,h2,h3,h4,h5{font-family:var(--font-display);font-weight:600;line-height:1.18;letter-spacing:-.01em;color:var(--text)}h1{font-size:var(--fs-h1)}h2{font-size:var(--fs-h2)}h3{font-size:var(--fs-h3)}h4{font-size:var(--fs-h4)}a{color:inherit;text-decoration:none}button{font-family:inherit;cursor:pointer}input,select,textarea{font-family:inherit;font-size:inherit;color:inherit}ul{list-style:none}table{border-collapse:collapse;width:100%}::selection{background:var(--brand-200);color:var(--navy-900)}::-webkit-scrollbar{width:11px;height:11px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:99px;border:3px solid var(--bg)}::-webkit-scrollbar-thumb:hover{background:var(--text-3)}:focus-visible{outline:2.5px solid var(--brand-400);outline-offset:2px;border-radius:4px}.mono{font-family:var(--font-mono);font-feature-settings:"tnum"}.tnum{font-variant-numeric:tabular-nums}.display{font-family:var(--font-display)}.muted{color:var(--text-2)}.faint{color:var(--text-3)}.tk:before{content:"\9f3";margin-right:1px}.row{display:flex;align-items:center}.col{display:flex;flex-direction:column}.gap1{gap:var(--s1)}.gap2{gap:var(--s2)}.gap3{gap:var(--s3)}.gap4{gap:var(--s4)}.gap5{gap:var(--s5)}.gap6{gap:var(--s6)}.between{justify-content:space-between}.center{align-items:center;justify-content:center}.wrap{flex-wrap:wrap}.grow{flex:1}.mlauto{margin-left:auto}.hide{display:none!important}@keyframes spin{to{transform:rotate(360deg)}}@keyframes shimmer{0%{background-position:-400px 0}to{background-position:400px 0}}@keyframes fadeUp{0%{transform:translateY(10px)}to{transform:none}}@keyframes fadeIn{0%{transform:none}to{transform:none}}@keyframes scaleIn{0%{transform:scale(.97) translateY(6px)}to{transform:none}}@keyframes slideInRight{0%{transform:translate(20px)}to{transform:none}}.fade-up{animation:fadeUp .4s cubic-bezier(.22,1,.36,1)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:var(--font-ui);font-weight:600;font-size:var(--fs-sm);padding:10px 16px;border-radius:var(--r-sm);border:1px solid transparent;background:var(--surface-2);color:var(--text);cursor:pointer;transition:all .16s ease;white-space:nowrap;line-height:1;-webkit-user-select:none;user-select:none}.btn svg{width:17px;height:17px;flex:none}.btn:hover{transform:translateY(-1px)}.btn:active{transform:translateY(0)}.btn.primary{background:var(--brand-500);color:#fff;box-shadow:var(--sh-brand)}.btn.primary:hover{background:var(--brand-600)}.btn.secondary{background:var(--surface);color:var(--text);border-color:var(--border-strong);box-shadow:var(--sh-xs)}.btn.secondary:hover{border-color:var(--brand-300);color:var(--brand-600)}.btn.ghost{background:transparent;color:var(--text-2)}.btn.ghost:hover{background:var(--surface-2);color:var(--text);transform:none}.btn.danger{background:var(--danger);color:#fff}.btn.danger:hover{filter:brightness(.93)}.btn.danger-soft{background:var(--danger-bg);color:var(--danger)}.btn.success{background:var(--success);color:#fff}.btn.lg{padding:13px 22px;font-size:var(--fs-body)}.btn.sm{padding:7px 12px;font-size:var(--fs-xs)}.btn.sm svg{width:15px;height:15px}.btn.icon{padding:9px}.btn.icon.sm{padding:7px}.btn.block{width:100%}.btn:disabled,.btn.disabled{opacity:.5;pointer-events:none}.iconbtn{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:var(--r-sm);border:none;background:transparent;color:var(--text-2);transition:all .15s}.iconbtn svg{width:19px;height:19px}.iconbtn:hover{background:var(--surface-2);color:var(--text)}.brand-mark{display:grid;place-items:center;width:34px;height:34px;flex:none;border-radius:var(--r-sm);background:linear-gradient(150deg,var(--brand-500),var(--brand-700));color:#fff;font-family:var(--font-display);font-weight:700;font-size:14px;letter-spacing:.02em}.brand-logo-chip{display:grid;place-items:center;flex:none;overflow:hidden;width:40px;height:40px;border-radius:var(--r-sm);background:#fff}.brand-logo-chip.lg{width:60px;height:60px}.brand-logo{width:100%;height:100%;display:block;object-fit:contain}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--sh-sm)}.card.pad{padding:var(--s6)}.card-head{display:flex;align-items:center;justify-content:space-between;gap:var(--s4);padding:var(--s5) var(--s6);border-bottom:1px solid var(--border)}.card-head h2,.card-head h3{font-size:var(--fs-h4)}.card-body{padding:var(--s6)}.stat{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:var(--s5) var(--s6);box-shadow:var(--sh-sm);position:relative;overflow:hidden}.stat .stat-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.stat .stat-ico{width:42px;height:42px;border-radius:var(--r-sm);display:grid;place-items:center}.stat .stat-ico svg{width:21px;height:21px}.stat .stat-label{font-size:var(--fs-sm);color:var(--text-2);font-weight:600}.stat .stat-val{font-family:var(--font-display);font-size:30px;font-weight:600;letter-spacing:-.02em;line-height:1}.stat .stat-sub{display:flex;align-items:center;gap:5px;margin-top:10px;font-size:var(--fs-xs);font-weight:600}.stat .trend-up{color:var(--success)}.stat .trend-down{color:var(--danger)}.badge{display:inline-flex;align-items:center;gap:5px;font-size:var(--fs-2xs);font-weight:700;letter-spacing:.02em;padding:4px 9px;border-radius:var(--r-pill);line-height:1.2;white-space:nowrap}.badge svg{width:12px;height:12px}.badge .dot{width:6px;height:6px;border-radius:99px;background:currentColor}.badge.brand{background:var(--brand-50);color:var(--brand-600)}.badge.success{background:var(--success-bg);color:var(--success)}.badge.warning{background:var(--warning-bg);color:#b26a04}.badge.danger{background:var(--danger-bg);color:var(--danger)}.badge.neutral{background:var(--surface-2);color:var(--text-2)}.badge.accent{background:#12b5d424;color:var(--accent-600)}[data-theme=dark] .badge.warning{color:var(--warning)}.row-chip{min-width:34px;height:34px;padding:0 8px;border-radius:9px;flex:none;display:inline-grid;place-items:center;overflow:hidden;white-space:nowrap;font-family:var(--font-display);font-weight:700;font-size:13px}.chip{display:inline-flex;align-items:center;gap:6px;font-size:var(--fs-xs);font-weight:600;padding:6px 11px;border-radius:var(--r-pill);background:var(--surface-2);color:var(--text-2);border:1px solid transparent;cursor:pointer;transition:all .15s}.chip:hover{border-color:var(--border-strong);color:var(--text)}.chip.active{background:var(--brand-500);color:#fff}.chip:disabled{opacity:.4;cursor:default}.chip:disabled:hover{border-color:transparent;color:var(--text-2)}.chip .dot{width:6px;height:6px;border-radius:99px}.chip .x{display:inline-flex;opacity:.7}.chip .x:hover{opacity:1}.tbl-wrap{overflow-x:auto}table.tbl{width:100%;font-size:var(--fs-sm)}table.tbl thead th{text-align:left;font-weight:700;font-size:var(--fs-xs);letter-spacing:.04em;text-transform:uppercase;color:var(--text-3);padding:13px 16px;border-bottom:1px solid var(--border);white-space:nowrap;background:var(--surface);position:sticky;top:0;z-index:1}table.tbl thead th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}table.tbl thead th.sortable:hover{color:var(--text)}table.tbl thead th .th-in{display:inline-flex;align-items:center;gap:5px}table.tbl tbody td{padding:15px 16px;border-bottom:1px solid var(--border);vertical-align:middle}table.tbl tbody tr{transition:background .12s}table.tbl tbody tr:hover{background:var(--surface-2)}table.tbl tbody tr:last-child td{border-bottom:none}table.tbl .num{text-align:right;font-variant-numeric:tabular-nums}table.tbl .center-c{text-align:center}.row-link{cursor:pointer}.code-pill{font-family:var(--font-mono);font-weight:600;font-size:var(--fs-xs);padding:3px 8px;border-radius:var(--r-xs);background:var(--brand-50);color:var(--brand-600);letter-spacing:.02em}.absent-mark{font-weight:700;color:var(--danger)}.zero-mark{font-weight:600;color:var(--text)}.avatar{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;font-family:var(--font-display);font-weight:600;font-size:14px;color:#fff;flex:none;letter-spacing:0}.avatar.sm{width:30px;height:30px;font-size:12px}.avatar.lg{width:64px;height:64px;font-size:24px}.user-cell{display:flex;align-items:center;gap:11px}.user-cell .nm{font-weight:600;color:var(--text);line-height:1.25}.user-cell .sb{font-size:var(--fs-xs);color:var(--text-3)}.att-toggle{display:inline-flex;gap:6px}.att-btn{width:42px;height:38px;border-radius:var(--r-sm);border:1.5px solid var(--border-strong);background:var(--surface);font-weight:700;font-size:14px;color:var(--text-2);transition:.12s}.att-btn:hover{border-color:var(--text-3)}.att-btn:focus-visible{outline:2px solid var(--brand-500);outline-offset:2px}.att-btn.on{color:#fff}.att-btn.on.present{background:var(--success);border-color:var(--success)}.att-btn.on.late{background:var(--warning);border-color:var(--warning)}.att-btn.on.absent{background:var(--danger);border-color:var(--danger)}.legend-dot{width:8px;height:8px;border-radius:99px;flex:none}.field{display:flex;flex-direction:column;gap:7px}.field>label{font-size:var(--fs-sm);font-weight:600;color:var(--text);display:flex;align-items:center;gap:6px}.field .req{color:var(--danger)}.field .hint{font-size:var(--fs-xs);color:var(--text-3)}.input,.select,.textarea{width:100%;padding:11px 13px;border-radius:var(--r-sm);border:1px solid var(--border-strong);background:var(--surface);color:var(--text);transition:all .15s;font-size:var(--fs-sm)}.input::placeholder,.textarea::placeholder{color:var(--text-3)}.input:focus,.select:focus,.textarea:focus{outline:none;border-color:var(--brand-400);box-shadow:0 0 0 3.5px var(--brand-50)}.textarea{resize:vertical;min-height:90px;line-height:1.6}.field.error .input,.field.error .select,.field.error .textarea{border-color:var(--danger);box-shadow:0 0 0 3.5px var(--danger-bg)}.field .err-msg{font-size:var(--fs-xs);color:var(--danger);font-weight:600;display:flex;align-items:center;gap:5px}.field .ok-msg{font-size:var(--fs-xs);color:var(--success);font-weight:600}.input-group{position:relative;display:flex;align-items:center}.input-group .lead{position:absolute;left:13px;color:var(--text-3);display:flex;pointer-events:none}.input-group .lead svg{width:17px;height:17px}.input-group .input{padding-left:38px}.input-affix{position:absolute;right:13px;color:var(--text-3);font-weight:600;font-size:var(--fs-sm)}select.select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%238A93B2' stroke-width='2.5' stroke-linecap='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:36px;cursor:pointer}.switch{position:relative;width:42px;height:24px;border-radius:99px;background:var(--border-strong);transition:.2s;cursor:pointer;flex:none;border:none}.switch:after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#fff;transition:.2s;box-shadow:var(--sh-sm)}.switch.on{background:var(--brand-500)}.switch.on:after{left:21px}.cbx{width:19px;height:19px;border-radius:5px;border:2px solid var(--border-strong);background:var(--surface);display:grid;place-items:center;cursor:pointer;transition:.12s;flex:none}.cbx svg{width:13px;height:13px;color:#fff;opacity:0}.cbx.on{background:var(--brand-500);border-color:var(--brand-500)}.cbx.on svg{opacity:1}.cbx-field{display:flex;align-items:flex-start;gap:10px;cursor:pointer;font-size:var(--fs-sm);color:var(--text-2)}.cbx-field input[type=checkbox]{width:19px;height:19px;margin:1px 0 0;border-radius:5px;accent-color:var(--brand-500);flex:none;cursor:pointer}.seg{display:inline-flex;background:var(--surface-2);border-radius:var(--r-sm);padding:4px;gap:2px;border:1px solid var(--border)}.seg button{border:none;background:transparent;padding:7px 14px;border-radius:var(--r-xs);font-weight:600;font-size:var(--fs-sm);color:var(--text-2);transition:.15s}.seg button.active{background:var(--surface);color:var(--text);box-shadow:var(--sh-xs)}.radio{display:flex;align-items:center;gap:9px;cursor:pointer;padding:11px 13px;border:1px solid var(--border-strong);border-radius:var(--r-sm);transition:.15s}.radio.on{border-color:var(--brand-400);background:var(--brand-50)}.radio .rdot{width:18px;height:18px;border-radius:50%;border:2px solid var(--border-strong);display:grid;place-items:center;flex:none}.radio.on .rdot{border-color:var(--brand-500)}.radio.on .rdot:after{content:"";width:9px;height:9px;border-radius:50%;background:var(--brand-500)}.tabs{display:flex;gap:2px;border-bottom:1px solid var(--border)}.tabs button{border:none;background:transparent;padding:13px 16px;font-weight:600;font-size:var(--fs-sm);color:var(--text-2);position:relative;transition:.15s}.tabs button:hover{color:var(--text)}.tabs button.active{color:var(--brand-600)}.tabs button.active:after{content:"";position:absolute;left:12px;right:12px;bottom:-1px;height:2.5px;background:var(--brand-500);border-radius:99px}.menu{position:relative}.menu-panel{position:absolute;top:calc(100% + 6px);right:0;min-width:200px;z-index:50;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);box-shadow:var(--sh-lg);padding:6px;animation:scaleIn .15s ease}.menu-head{padding:9px 11px 7px}.menu-head .mh-name{font-weight:700;font-size:var(--fs-sm);color:var(--text);line-height:1.3}.menu-head .mh-sub{font-size:var(--fs-xs);color:var(--text-3)}.menu-item{display:flex;align-items:center;gap:10px;width:100%;padding:9px 11px;border:none;background:transparent;border-radius:var(--r-xs);font-weight:600;font-size:var(--fs-sm);color:var(--text);text-align:left;cursor:pointer;transition:background .12s}.menu-item svg{width:16px;height:16px;flex:none}.menu-item:hover{background:var(--surface-2)}.menu-item.danger{color:var(--danger)}.overlay{position:fixed;inset:0;background:#0a123080;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:200;display:flex;align-items:center;justify-content:center;padding:var(--s5);animation:fadeIn .18s ease}.modal{background:var(--surface);border-radius:var(--r-xl);box-shadow:var(--sh-xl);width:100%;max-width:520px;max-height:90vh;display:flex;flex-direction:column;animation:scaleIn .22s cubic-bezier(.22,1,.36,1);border:1px solid var(--border);overflow:hidden}.modal.wide{max-width:760px}.modal.xwide{max-width:1040px}.modal-head{padding:var(--s5) var(--s6);display:flex;align-items:flex-start;justify-content:space-between;gap:var(--s4);border-bottom:1px solid var(--border)}.modal-head h3{font-size:var(--fs-h3)}.modal-head .sub{font-size:var(--fs-sm);color:var(--text-2);margin-top:3px}.modal-body{padding:var(--s6);overflow-y:auto}.modal-foot{padding:var(--s4) var(--s6);border-top:1px solid var(--border);display:flex;align-items:center;justify-content:flex-end;gap:var(--s3);background:var(--surface-2)}.drawer{position:fixed;top:0;right:0;bottom:0;width:440px;max-width:92vw;background:var(--surface);box-shadow:var(--sh-xl);z-index:200;display:flex;flex-direction:column;animation:slideInRight .26s cubic-bezier(.22,1,.36,1);border-left:1px solid var(--border)}.spinner-overlay{position:fixed;inset:0;z-index:500;display:flex;align-items:center;justify-content:center;background:var(--surface);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:fadeIn .15s ease}@supports (color: color-mix(in lab,red,red)){.spinner-overlay{background:color-mix(in srgb,var(--surface) 10%,transparent)}}.atom{width:104px;height:104px}.atom .orbits{stroke:var(--text-3);stroke-width:2;opacity:.85}.toast-host{position:fixed;bottom:24px;right:24px;z-index:400;display:flex;flex-direction:column;gap:10px}.toast{display:flex;align-items:flex-start;gap:12px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);box-shadow:var(--sh-lg);padding:14px 16px;min-width:300px;max-width:380px;animation:slideInRight .3s cubic-bezier(.22,1,.36,1)}.toast .t-ico{width:32px;height:32px;border-radius:var(--r-xs);display:grid;place-items:center;flex:none}.toast .t-ico svg{width:18px;height:18px}.toast .t-title{font-weight:700;font-size:var(--fs-sm)}.toast .t-msg{font-size:var(--fs-xs);color:var(--text-2);margin-top:1px}.toast.success .t-ico{background:var(--success-bg);color:var(--success)}.toast.error .t-ico{background:var(--danger-bg);color:var(--danger)}.toast.info .t-ico{background:var(--brand-50);color:var(--brand-600)}.empty{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:var(--s9) var(--s6)}.empty .e-ico{width:72px;height:72px;border-radius:var(--r-lg);background:var(--surface-2);display:grid;place-items:center;color:var(--text-3);margin-bottom:var(--s4)}.empty .e-ico svg{width:32px;height:32px}.empty h3{font-size:var(--fs-h4);margin-bottom:6px}.empty p{font-size:var(--fs-sm);color:var(--text-2);max-width:360px;margin-bottom:var(--s5)}.skel{background:linear-gradient(90deg,var(--surface-2) 25%,var(--surface-3) 37%,var(--surface-2) 63%);background-size:800px 100%;animation:shimmer 1.4s infinite linear;border-radius:var(--r-xs)}.meter{height:8px;border-radius:99px;background:var(--surface-3);overflow:hidden}.meter>span{display:block;height:100%;border-radius:99px;background:var(--brand-500);transition:width .4s ease}.meter.success>span{background:var(--success)}.meter.warning>span{background:var(--warning)}.meter.danger>span{background:var(--danger)}.sec-head{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--s4);margin-bottom:var(--s5);flex-wrap:wrap}.sec-head .h-title{font-size:var(--fs-h1)}.sec-head .h-sub{font-size:var(--fs-sm);color:var(--text-2);margin-top:4px}.sec-head>*:first-child{flex:1 1 0%;min-width:0}.sec-head>*:last-child{flex:0 0 auto}.toolbar{display:flex;align-items:center;gap:var(--s3);flex-wrap:wrap;padding:var(--s4) var(--s5);border-bottom:1px solid var(--border)}.search{position:relative;flex:1;min-width:220px;max-width:380px}.search svg{position:absolute;left:13px;top:50%;transform:translateY(-50%);width:17px;height:17px;color:var(--text-3)}.search input{width:100%;padding:10px 13px 10px 38px;border-radius:var(--r-sm);border:1px solid var(--border-strong);background:var(--surface-2);font-size:var(--fs-sm)}.search input:focus{outline:none;border-color:var(--brand-400);background:var(--surface);box-shadow:0 0 0 3.5px var(--brand-50)}.pager{display:flex;align-items:center;justify-content:space-between;gap:var(--s4);padding:var(--s4) var(--s5);border-top:1px solid var(--border);flex-wrap:wrap}.pager .pages{display:flex;gap:4px}.pager .pages button{min-width:34px;height:34px;border-radius:var(--r-xs);border:1px solid var(--border);background:var(--surface);font-weight:600;font-size:var(--fs-sm);color:var(--text-2);cursor:pointer}.pager .pages button.active{background:var(--brand-500);color:#fff;border-color:var(--brand-500)}.pager .pages button:disabled{opacity:.4;cursor:default}.kv{display:grid;grid-template-columns:1fr;gap:1px}.kv .kv-row{display:flex;justify-content:space-between;gap:var(--s4);padding:11px 0;border-bottom:1px solid var(--border)}.kv .kv-row:last-child{border-bottom:none}.kv .k{color:var(--text-2);font-size:var(--fs-sm)}.kv .v{font-weight:600;font-size:var(--fs-sm);text-align:right}.hr{height:1px;background:var(--border);border:none;margin:var(--s5) 0}.callout{display:flex;gap:12px;padding:14px 16px;border-radius:var(--r-md);font-size:var(--fs-sm)}.callout svg{width:18px;height:18px;flex:none;margin-top:1px}.callout.info{background:var(--brand-50);color:var(--brand-700)}.callout.warning{background:var(--warning-bg);color:#946205}.callout.danger{background:var(--danger-bg);color:var(--danger)}.callout.success{background:var(--success-bg);color:var(--success)}[data-theme=dark] .callout.info{color:var(--brand-300)}[data-theme=dark] .callout.warning{color:var(--warning)}.steps{display:flex;align-items:center;gap:0}.steps .step{display:flex;align-items:center;gap:10px}.steps .step .num{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;font-weight:700;font-size:var(--fs-sm);background:var(--surface-2);color:var(--text-3);border:1.5px solid var(--border);flex:none;transition:.2s}.steps .step .lbl{font-weight:600;font-size:var(--fs-sm);color:var(--text-3);white-space:nowrap}.steps .step.active .num{background:var(--brand-500);color:#fff;border-color:var(--brand-500)}.steps .step.active .lbl{color:var(--text)}.steps .step.done .num{background:var(--success);color:#fff;border-color:var(--success)}.steps .step.done .lbl{color:var(--text)}.steps .bar{flex:1;height:2px;background:var(--border);margin:0 14px;min-width:28px}.steps .bar.done{background:var(--success)}.admin-layout{display:flex;min-height:100vh}.sidebar{width:var(--sidebar-w);flex:none;background:var(--sidebar-bg);border-right:1px solid var(--sidebar-border);display:flex;flex-direction:column;position:sticky;top:0;height:100vh;transition:width .2s ease,margin .2s ease}.sidebar.collapsed{margin-left:calc(var(--sidebar-w) * -1)}.sb-logo{padding:20px 20px 18px;border-bottom:1px solid var(--sidebar-border)}.sb-nav{flex:1;overflow-y:auto;padding:16px 12px}.sb-nav::-webkit-scrollbar{width:6px}.sb-nav::-webkit-scrollbar-thumb{background:var(--sidebar-border);border:none}.sb-group{margin-bottom:18px}.sb-section{font-size:10.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--sidebar-text-dim);padding:0 12px;margin-bottom:7px}.sb-item{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:var(--r-sm);color:var(--sidebar-text);font-weight:600;font-size:var(--fs-sm);transition:all .15s;margin-bottom:2px;position:relative}.sb-item svg{width:18px;height:18px;flex:none}.sb-item:hover{background:#ffffff0d;color:#fff}.sb-item.active{background:var(--sidebar-active-bg);color:var(--sidebar-active-text)}.sb-item.active:before{content:"";position:absolute;left:-12px;top:9px;bottom:9px;width:3px;border-radius:0 3px 3px 0;background:var(--brand-400)}.sb-foot{padding:14px 12px;border-top:1px solid var(--sidebar-border);display:flex;flex-direction:column;gap:2px}.sb-switch{display:flex;align-items:center;gap:11px;padding:9px 12px;border-radius:var(--r-sm);color:var(--sidebar-text-dim);font-weight:600;font-size:var(--fs-sm);transition:all .15s;background:transparent;border:none;width:100%;text-align:left}.sb-switch svg{width:18px;height:18px;flex:none}.sb-switch:hover{background:#ffffff0d;color:var(--sidebar-text)}.admin-main{flex:1;min-width:0;display:flex;flex-direction:column;height:100vh}.topbar{height:var(--topbar-h);flex:none;display:flex;align-items:center;gap:14px;padding:0 24px;background:var(--surface);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:30}.crumb{display:flex;align-items:center}.topbar-search{position:relative;display:flex;align-items:center;max-width:420px;flex:1;margin-left:8px}.topbar-search svg{position:absolute;left:13px;color:var(--text-3)}.topbar-search input{width:100%;padding:9px 13px 9px 38px;border-radius:var(--r-pill);border:1px solid var(--border);background:var(--surface-2);font-size:var(--fs-sm);cursor:pointer}.topbar-search kbd{position:absolute;right:10px;font-family:var(--font-ui);font-size:11px;font-weight:700;color:var(--text-3);background:var(--surface);border:1px solid var(--border);border-radius:5px;padding:2px 6px}.hr-v{width:1px;height:28px;background:var(--border);margin:0 4px}.ping{position:absolute;top:8px;right:9px;width:8px;height:8px;border-radius:50%;background:var(--danger);border:2px solid var(--surface)}.topbar-user{display:flex;align-items:center;gap:9px;padding:5px 9px 5px 5px;border-radius:var(--r-pill);border:1px solid transparent;background:transparent;transition:.15s}.topbar-user:hover{background:var(--surface-2)}.tu-meta{text-align:left;line-height:1.15}.tu-name{font-weight:700;font-size:var(--fs-sm);white-space:nowrap}.tu-role{font-size:var(--fs-xs);color:var(--text-3);white-space:nowrap}.main-scroll{flex:1;overflow-y:auto}.page{max-width:var(--maxw);margin:0 auto;padding:32px}.page.fade-up{animation:fadeUp .35s ease both}.grid{display:grid;gap:var(--s5)}.grid-2{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-4{grid-template-columns:repeat(4,1fr)}.span2{grid-column:span 2}@media(max-width:1100px){.grid-4,.grid-3{grid-template-columns:repeat(2,1fr)}}@media(max-width:720px){.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}.span2{grid-column:span 1}.page{padding:20px 16px}.sidebar{position:fixed;z-index:100;box-shadow:var(--sh-xl)}}.mobile-stage{min-height:100vh;display:flex;align-items:center;justify-content:center;background:radial-gradient(1200px 600px at 50% -10%,rgba(75,99,255,.1),transparent 60%),var(--bg);padding:28px 16px}.phone{width:400px;max-width:100%;background:var(--surface);border-radius:var(--r-2xl);box-shadow:var(--sh-xl);border:1px solid var(--border);overflow:hidden;display:flex;flex-direction:column;min-height:820px;max-height:90vh;position:relative}@media(max-width:480px){.mobile-stage{padding:0}.phone{border-radius:0;min-height:100vh;max-height:none;border:none}}.phone-scroll{flex:1;overflow-y:auto}.phone-scroll::-webkit-scrollbar{width:0}.p-topbar{display:flex;align-items:center;justify-content:space-between;padding:16px 18px;position:sticky;top:0;background:var(--surface);border-bottom:1px solid var(--border);z-index:10}.p-tabbar{display:flex;border-top:1px solid var(--border);background:var(--surface);padding:6px 6px calc(6px + env(safe-area-inset-bottom));position:sticky;bottom:0;z-index:10}.p-tab{flex:1;display:flex;flex-direction:column;align-items:center;gap:3px;padding:8px 4px;border:none;background:transparent;color:var(--text-3);font-size:10.5px;font-weight:600;border-radius:var(--r-sm);transition:.15s}.p-tab svg{width:21px;height:21px}.p-tab.active{color:var(--brand-600)}.auth-stage{min-height:100vh;display:grid;grid-template-columns:1fr 1fr}@media(max-width:900px){.auth-stage{grid-template-columns:1fr}.auth-aside{display:none}}.auth-aside{background:linear-gradient(150deg,#0a1230,#182552 60%,#2c3cbc 130%);position:relative;overflow:hidden;padding:56px;display:flex;flex-direction:column;justify-content:space-between;color:#fff}.auth-aside .glow{position:absolute;border-radius:50%;filter:blur(70px)}.auth-aside .auth-logo-decor{position:absolute;right:-107px;bottom:40px;width:358px;height:400px;background-image:url(/logo.png);background-repeat:no-repeat;background-size:1026px 1026px;background-position:-334px -234px;pointer-events:none}.auth-form-wrap{display:flex;align-items:center;justify-content:center;padding:40px 24px;background:var(--bg)}.auth-card{width:100%;max-width:400px}.paper{background:#fff;color:#0e1a40;border-radius:var(--r-md);box-shadow:var(--sh-md)}[data-theme=dark] .paper{background:#fff}.mini-list{display:flex;flex-direction:column}.mini-row{display:flex;align-items:center;gap:12px;padding:13px 0;border-bottom:1px solid var(--border)}.mini-row:last-child{border-bottom:none}.timeline{position:relative;padding-left:30px}.timeline:before{content:"";position:absolute;left:9px;top:6px;bottom:6px;width:2px;background:var(--border)}.tl-item{position:relative;padding-bottom:22px}.tl-item:before{content:"";position:absolute;left:-25px;top:4px;width:14px;height:14px;border-radius:50%;background:var(--surface);border:3px solid var(--brand-400)}.tl-item:last-child{padding-bottom:0}.list-actions{display:flex;align-items:center;gap:4px}.scroll-x{overflow-x:auto}@property --tw-rotate-x{syntax: "*"; inherits: false;}@property --tw-rotate-y{syntax: "*"; inherits: false;}@property --tw-rotate-z{syntax: "*"; inherits: false;}@property --tw-skew-x{syntax: "*"; inherits: false;}@property --tw-skew-y{syntax: "*"; inherits: false;}@property --tw-border-style{syntax: "*"; inherits: false; initial-value: solid;}@property --tw-shadow{syntax: "*"; inherits: false; initial-value: 0 0 #0000;}@property --tw-shadow-color{syntax: "*"; inherits: false;}@property --tw-shadow-alpha{syntax: "<percentage>"; inherits: false; initial-value: 100%;}@property --tw-inset-shadow{syntax: "*"; inherits: false; initial-value: 0 0 #0000;}@property --tw-inset-shadow-color{syntax: "*"; inherits: false;}@property --tw-inset-shadow-alpha{syntax: "<percentage>"; inherits: false; initial-value: 100%;}@property --tw-ring-color{syntax: "*"; inherits: false;}@property --tw-ring-shadow{syntax: "*"; inherits: false; initial-value: 0 0 #0000;}@property --tw-inset-ring-color{syntax: "*"; inherits: false;}@property --tw-inset-ring-shadow{syntax: "*"; inherits: false; initial-value: 0 0 #0000;}@property --tw-ring-inset{syntax: "*"; inherits: false;}@property --tw-ring-offset-width{syntax: "<length>"; inherits: false; initial-value: 0px;}@property --tw-ring-offset-color{syntax: "*"; inherits: false; initial-value: #fff;}@property --tw-ring-offset-shadow{syntax: "*"; inherits: false; initial-value: 0 0 #0000;}@property --tw-blur{syntax: "*"; inherits: false;}@property --tw-brightness{syntax: "*"; inherits: false;}@property --tw-contrast{syntax: "*"; inherits: false;}@property --tw-grayscale{syntax: "*"; inherits: false;}@property --tw-hue-rotate{syntax: "*"; inherits: false;}@property --tw-invert{syntax: "*"; inherits: false;}@property --tw-opacity{syntax: "*"; inherits: false;}@property --tw-saturate{syntax: "*"; inherits: false;}@property --tw-sepia{syntax: "*"; inherits: false;}@property --tw-drop-shadow{syntax: "*"; inherits: false;}@property --tw-drop-shadow-color{syntax: "*"; inherits: false;}@property --tw-drop-shadow-alpha{syntax: "<percentage>"; inherits: false; initial-value: 100%;}@property --tw-drop-shadow-size{syntax: "*"; inherits: false;}@layer properties{@supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x: initial;--tw-rotate-y: initial;--tw-rotate-z: initial;--tw-skew-x: initial;--tw-skew-y: initial;--tw-border-style: solid;--tw-shadow: 0 0 #0000;--tw-shadow-color: initial;--tw-shadow-alpha: 100%;--tw-inset-shadow: 0 0 #0000;--tw-inset-shadow-color: initial;--tw-inset-shadow-alpha: 100%;--tw-ring-color: initial;--tw-ring-shadow: 0 0 #0000;--tw-inset-ring-color: initial;--tw-inset-ring-shadow: 0 0 #0000;--tw-ring-inset: initial;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-offset-shadow: 0 0 #0000;--tw-blur: initial;--tw-brightness: initial;--tw-contrast: initial;--tw-grayscale: initial;--tw-hue-rotate: initial;--tw-invert: initial;--tw-opacity: initial;--tw-saturate: initial;--tw-sepia: initial;--tw-drop-shadow: initial;--tw-drop-shadow-color: initial;--tw-drop-shadow-alpha: 100%;--tw-drop-shadow-size: initial}}}
