@font-face{font-family:Inter;font-style:normal;font-weight:300;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2JL7SUc.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:Inter;font-style:normal;font-weight:300;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa0ZL7SUc.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:300;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2ZL7SUc.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-weight:300;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1pL7SUc.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:Inter;font-style:normal;font-weight:300;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2pL7SUc.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:Inter;font-style:normal;font-weight:300;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa25L7SUc.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:Inter;font-style:normal;font-weight:300;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1ZL7.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:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2JL7SUc.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:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa0ZL7SUc.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2ZL7SUc.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1pL7SUc.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:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2pL7SUc.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:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa25L7SUc.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:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1ZL7.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:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2JL7SUc.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:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa0ZL7SUc.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2ZL7SUc.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1pL7SUc.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:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2pL7SUc.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:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa25L7SUc.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:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1ZL7.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:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2JL7SUc.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:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa0ZL7SUc.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2ZL7SUc.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1pL7SUc.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:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2pL7SUc.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:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa25L7SUc.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:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1ZL7.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:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2JL7SUc.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:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa0ZL7SUc.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2ZL7SUc.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1pL7SUc.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:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2pL7SUc.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:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa25L7SUc.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:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1ZL7.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:Inter;font-style:normal;font-weight:800;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2JL7SUc.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:Inter;font-style:normal;font-weight:800;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa0ZL7SUc.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:800;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2ZL7SUc.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-weight:800;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1pL7SUc.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:Inter;font-style:normal;font-weight:800;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2pL7SUc.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:Inter;font-style:normal;font-weight:800;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa25L7SUc.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:Inter;font-style:normal;font-weight:800;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1ZL7.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:Inter;font-style:normal;font-weight:900;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2JL7SUc.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:Inter;font-style:normal;font-weight:900;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa0ZL7SUc.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:900;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2ZL7SUc.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-weight:900;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1pL7SUc.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:Inter;font-style:normal;font-weight:900;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2pL7SUc.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:Inter;font-style:normal;font-weight:900;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa25L7SUc.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:Inter;font-style:normal;font-weight:900;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1ZL7.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}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg: #f5f7fb;--bg2: #ffffff;--bg3: #f0f3fa;--bg4: #e8edf7;--border: #e2e8f2;--border2: #d0d9ed;--border3: #bccadf;--text: #0f172a;--text2: #475569;--text3: #94a3b8;--accent: #4f46e5;--accent2: #4338ca;--accent-soft: rgba(79,70,229,.09);--accent-glow: rgba(79,70,229,.22);--success: #059669;--success-soft: rgba(5,150,105,.09);--warning: #d97706;--warning-soft: rgba(217,119,6,.09);--danger: #dc2626;--danger-soft: rgba(220,38,38,.09);--purple: #7c3aed;--purple-soft: rgba(124,58,237,.09);--pink: #db2777;--cyan: #0891b2;--orange: #ea580c;--teal: #0d9488;--grad-primary: linear-gradient(135deg, #4f46e5 0%, #7c3aed 100%);--grad-success: linear-gradient(135deg, #059669 0%, #0891b2 100%);--grad-warm: linear-gradient(135deg, #d97706 0%, #ea580c 100%);--grad-danger: linear-gradient(135deg, #dc2626 0%, #db2777 100%);--grad-purple: linear-gradient(135deg, #7c3aed 0%, #db2777 100%);--grad-hero: linear-gradient(135deg, rgba(79,70,229,.05) 0%, rgba(124,58,237,.04) 100%);--radius: 14px;--radius-sm: 10px;--radius-xs: 6px;--radius-xl: 20px;--radius-full: 9999px;--shadow-xs: 0 1px 4px rgba(15,23,42,.06);--shadow-sm: 0 2px 10px rgba(15,23,42,.08);--shadow: 0 4px 24px rgba(15,23,42,.1);--shadow-lg: 0 10px 48px rgba(15,23,42,.14);--shadow-accent: 0 4px 22px rgba(79,70,229,.22);--shadow-purple: 0 4px 22px rgba(124,58,237,.18);--sidebar-w: 252px;--topbar-h: 56px;--header-h: 0px;--space-xs: clamp(.25rem, 1vw, .5rem);--space-sm: clamp(.5rem, 2vw, .75rem);--space-md: clamp(.75rem, 3vw, 1rem);--space-lg: clamp(1rem, 3vw, 1.5rem);--space-xl: clamp(1.25rem, 4vw, 2rem);--space-2xl: clamp(1.5rem, 5vw, 2.5rem);--fs-xs: clamp(.6875rem, 1.5vw, .6875rem);--fs-sm: clamp(.6875rem, 2vw, .75rem);--fs-base: clamp(.8125rem, 2.5vw, .875rem);--fs-md: clamp(.875rem, 3vw, 1rem);--fs-lg: clamp(1rem, 3.5vw, 1.125rem);--fs-xl: clamp(1.125rem, 5vw, 1.375rem);--fs-2xl: clamp(1.25rem, 6vw, 1.5625rem);--fs-hero: clamp(1.5rem, 7vw, 2.25rem);--ease: cubic-bezier(.4, 0, .2, 1);--spring: cubic-bezier(.34, 1.56, .64, 1);--transition: .2s var(--ease);--transition-md: .3s var(--ease)}html{font-size:16px;scroll-behavior:smooth}html,body{height:100%;background:var(--bg);color:var(--text);font-family:Inter,system-ui,-apple-system,sans-serif;font-size:var(--fs-base);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-text-size-adjust:100%}a{color:var(--accent);text-decoration:none;transition:color var(--transition)}a:hover{color:var(--accent2)}img{max-width:100%;display:block;height:auto}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border2);border-radius:10px}::-webkit-scrollbar-thumb:hover{background:var(--border3)}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(24px)}to{opacity:1;transform:translate(0)}}@keyframes slideUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes slideIn{0%{transform:translate(110%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes progressGrow{0%{width:0}}@keyframes shimmer{0%{background-position:-600px 0}to{background-position:600px 0}}@keyframes shimmerFg{0%{transform:translate(-100%)}to{transform:translate(200%)}}.app-layout{display:flex;min-height:100vh}.main-content{flex:1;min-width:0;min-height:100vh;margin-left:0;padding-top:var(--topbar-h);background:var(--bg);background-image:radial-gradient(ellipse 60% 40% at 80% 10%,rgba(79,70,229,.05) 0%,transparent 70%),radial-gradient(ellipse 40% 30% at 10% 80%,rgba(124,58,237,.04) 0%,transparent 70%)}.main-content.no-sidebar{margin-left:0;padding-top:0}.page{padding:clamp(.875rem,4vw,2rem);max-width:1480px;animation:fadeInUp .4s var(--ease)}.card{background:var(--bg2);border:1px solid var(--border);border-radius:var(--radius);padding:clamp(.875rem,3vw,1.5rem);position:relative;box-shadow:var(--shadow-xs)}.card-sm{background:var(--bg2);border:1px solid var(--border);border-radius:var(--radius);padding:clamp(.75rem,2.5vw,1rem);box-shadow:var(--shadow-xs)}.card-hover{transition:transform var(--transition-md),border-color var(--transition-md),box-shadow var(--transition-md);cursor:pointer}.card-hover:hover{border-color:#4f46e559;transform:translateY(-4px);box-shadow:var(--shadow),var(--shadow-accent)}.btn{display:inline-flex;align-items:center;gap:6px;padding:.5rem 1rem;border-radius:var(--radius-sm);font-size:var(--fs-base);font-weight:600;cursor:pointer;border:none;outline:none;transition:all var(--transition);white-space:nowrap;letter-spacing:.01em;position:relative;overflow:hidden;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.btn:before{content:"";position:absolute;top:0;left:-70%;width:40%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.18),transparent);transform:skew(-15deg);transition:left .4s var(--ease);pointer-events:none}.btn:hover:before{left:130%}.btn:active{transform:scale(.97)}.btn:disabled{opacity:.42;cursor:not-allowed;pointer-events:none}.btn-primary{background:var(--grad-primary);color:#fff;box-shadow:0 2px 14px #4f46e559}.btn-primary:hover{box-shadow:0 4px 22px #4f46e580;transform:translateY(-1px)}.btn-success{background:var(--grad-success);color:#fff;box-shadow:0 2px 14px #0596694d}.btn-success:hover{box-shadow:0 4px 22px #05966973;transform:translateY(-1px)}.btn-danger{background:var(--grad-danger);color:#fff;box-shadow:0 2px 14px #dc26264d}.btn-danger:hover{box-shadow:0 4px 22px #dc262673;transform:translateY(-1px)}.btn-warning{background:var(--grad-warm);color:#fff;box-shadow:0 2px 14px #d977064d}.btn-warning:hover{box-shadow:0 4px 22px #d9770673;transform:translateY(-1px)}.btn-ghost{background:transparent;color:var(--text2);border:1.5px solid var(--border2)}.btn-ghost:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.btn-sm{padding:.3125rem .75rem;font-size:.75rem;border-radius:var(--radius-xs)}.btn-lg{padding:.75rem 1.75rem;font-size:.9375rem}.btn-icon{padding:.5rem;border-radius:var(--radius-sm);background:transparent;color:var(--text3);border:none;cursor:pointer;transition:all var(--transition);line-height:1;display:inline-flex;align-items:center;justify-content:center}.btn-icon:hover{background:var(--bg3);color:var(--text);transform:scale(1.12)}.form-group{margin-bottom:1.25rem}.form-label{display:block;font-size:.78125rem;font-weight:600;color:var(--text2);margin-bottom:.4375rem;letter-spacing:.03em;text-transform:uppercase}.form-input,.form-control{width:100%;background:var(--bg2);border:1.5px solid var(--border);border-radius:var(--radius-sm);padding:.625rem .875rem;font-size:var(--fs-base);color:var(--text);outline:none;transition:all var(--transition);font-family:inherit;-webkit-appearance:none;appearance:none}.form-input:focus,.form-control:focus{border-color:var(--accent);background:var(--bg2);box-shadow:0 0 0 3px #4f46e51f}.form-input::placeholder,.form-control::placeholder{color:var(--text3)}.form-input:disabled,.form-control:disabled{opacity:.45;cursor:not-allowed}select.form-control{cursor:pointer;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%2394a3b8' stroke-width='1.8' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 13px center;padding-right:2.375rem}textarea.form-control{resize:vertical;min-height:6.25rem}.badge{display:inline-flex;align-items:center;gap:4px;padding:.1875rem .625rem;border-radius:var(--radius-full);font-size:.65625rem;font-weight:700;text-transform:uppercase;letter-spacing:.65px}.badge-success{background:var(--success-soft);color:var(--success);border:1px solid rgba(5,150,105,.22)}.badge-warning{background:var(--warning-soft);color:var(--warning);border:1px solid rgba(217,119,6,.22)}.badge-danger{background:var(--danger-soft);color:var(--danger);border:1px solid rgba(220,38,38,.22)}.badge-info{background:var(--accent-soft);color:var(--accent);border:1px solid rgba(79,70,229,.22)}.badge-purple{background:var(--purple-soft);color:var(--purple);border:1px solid rgba(124,58,237,.22)}.badge-gray{background:#94a3b81a;color:var(--text3);border:1px solid var(--border)}.table-wrap,.table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;width:100%}table{width:100%;border-collapse:collapse;min-width:480px}th{text-align:left;font-size:.65625rem;font-weight:700;color:var(--text3);text-transform:uppercase;letter-spacing:.8px;padding:.625rem .875rem;border-bottom:1px solid var(--border);background:var(--bg3);white-space:nowrap}td{padding:.75rem .875rem;border-bottom:1px solid var(--border);font-size:var(--fs-base);color:var(--text2);vertical-align:middle;transition:background var(--transition),color var(--transition)}tr:last-child td{border-bottom:none}tr:hover td{background:#4f46e50a;color:var(--text)}.progress{background:var(--bg4);border-radius:var(--radius-full);height:7px;overflow:hidden;position:relative}.progress-bar{height:100%;border-radius:var(--radius-full);background:var(--grad-primary);transition:width .7s var(--spring);animation:progressGrow .9s var(--spring);position:relative;overflow:hidden}.progress-bar:after{content:"";position:absolute;top:0;left:0;width:60%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.35),transparent);animation:shimmerFg 2.5s ease infinite}.progress-bar.success{background:var(--grad-success)}.progress-bar.warning{background:var(--grad-warm)}.page-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:1.25rem;flex-wrap:wrap;gap:.75rem}.page-title{font-size:var(--fs-2xl);font-weight:800;letter-spacing:-.03em;color:var(--text);line-height:1.1}.page-subtitle{font-size:var(--fs-sm);color:var(--text3);margin-top:4px;font-weight:400}.stats-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(.75rem,2vw,1rem);margin-bottom:1.25rem}.stat-card{background:var(--bg2);border:1px solid var(--border);border-radius:var(--radius);padding:clamp(.875rem,3vw,1.375rem) clamp(1rem,3vw,1.5rem);position:relative;overflow:hidden;box-shadow:var(--shadow-xs);transition:transform var(--transition-md),border-color var(--transition-md),box-shadow var(--transition-md)}.stat-card:hover{transform:translateY(-2px);border-color:var(--border2);box-shadow:var(--shadow-sm)}.stat-card:after{content:"";position:absolute;right:-12px;top:-12px;width:72px;height:72px;border-radius:50%;background:var(--grad-primary);opacity:.07;pointer-events:none}.stat-icon{width:36px;height:36px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;font-size:1.125rem;margin-bottom:.75rem;position:relative}.stat-label{font-size:.6875rem;color:var(--text3);font-weight:700;text-transform:uppercase;letter-spacing:.8px}.stat-value{font-size:clamp(1.5rem,5vw,2.125rem);font-weight:800;color:var(--text);margin:.25rem 0 .1875rem;letter-spacing:-.04em;line-height:1}.stat-change{font-size:.75rem;color:var(--text3);font-weight:500}.stat-change.up{color:var(--success)}.stat-change.down{color:var(--danger)}.tabs{display:flex;gap:2px;background:var(--bg3);border:1px solid var(--border);border-radius:var(--radius-sm);padding:4px;margin-bottom:1.25rem;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;flex-wrap:nowrap}.tabs::-webkit-scrollbar{display:none}.tab{padding:.4375rem .75rem;border-radius:var(--radius-xs);font-size:var(--fs-sm);font-weight:500;cursor:pointer;color:var(--text3);border:none;background:transparent;white-space:nowrap;transition:all var(--transition);flex-shrink:0}.tab.active{background:var(--bg2);color:var(--text);font-weight:600;box-shadow:0 1px 6px #0f172a1a,inset 0 1px #ffffffe6}.tab:hover:not(.active){color:var(--text2);background:#4f46e50d}.modal-overlay{position:fixed;inset:0;background:#0f172a73;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);z-index:1000;display:flex;align-items:flex-end;justify-content:center;padding:0;animation:fadeIn .2s var(--ease)}.modal{background:var(--bg2);border:1px solid var(--border);border-radius:var(--radius) var(--radius) 0 0;width:100%;max-height:92vh;overflow-y:auto;box-shadow:var(--shadow-lg),0 0 60px #4f46e514;animation:slideUp .3s var(--spring)}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;border-bottom:1px solid var(--border);position:sticky;top:0;background:var(--bg2);z-index:1;border-radius:var(--radius) var(--radius) 0 0}.modal-title{font-size:1.0625rem;font-weight:700;letter-spacing:-.01em}.modal-body{padding:1rem 1.25rem}.modal-footer{padding:.75rem 1.25rem;border-top:1px solid var(--border);display:flex;gap:.625rem;justify-content:flex-end;flex-wrap:wrap;background:var(--bg3);border-radius:0}.modal-footer .btn{flex:1;min-width:min-content;justify-content:center}.avatar{border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;flex-shrink:0;color:#fff;box-shadow:0 2px 8px #0f172a24;position:relative;overflow:hidden}.avatar-sm{width:2rem;height:2rem;font-size:.6875rem}.avatar-md{width:2.5rem;height:2.5rem;font-size:.875rem}.avatar-lg{width:3rem;height:3rem;font-size:1.0625rem}.avatar-xl{width:4rem;height:4rem;font-size:1.375rem}.avatar-img{width:100%;height:100%;object-fit:cover}.toast-container{position:fixed;bottom:1rem;right:.75rem;left:.75rem;z-index:9999;display:flex;flex-direction:column;gap:.625rem;pointer-events:none}.toast{display:flex;align-items:center;gap:.75rem;padding:.875rem 1.125rem;border-radius:var(--radius-sm);background:var(--bg2);border:1px solid var(--border);box-shadow:var(--shadow-lg);width:100%;animation:slideIn .32s var(--spring);pointer-events:all;position:relative;overflow:hidden}.toast:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px}.toast.success{border-color:#0596694d}.toast.success:before{background:var(--success)}.toast.error{border-color:#dc26264d}.toast.error:before{background:var(--danger)}.toast.warning{border-color:#d977064d}.toast.warning:before{background:var(--warning)}.empty-state{text-align:center;padding:clamp(2.5rem,8vw,4rem) 1.5rem;color:var(--text3)}.empty-icon{font-size:clamp(2.5rem,8vw,3.25rem);margin-bottom:1.125rem;display:block;animation:float 3.5s ease-in-out infinite}.empty-title{font-size:var(--fs-lg);font-weight:700;color:var(--text2);margin-bottom:.5rem}.empty-desc{font-size:var(--fs-sm);line-height:1.8;max-width:320px;margin:0 auto}.loader{display:flex;align-items:center;justify-content:center;padding:clamp(2rem,8vw,4rem)}.spinner{width:36px;height:36px;border:2.5px solid var(--border2);border-top-color:var(--accent);border-right-color:var(--purple);border-radius:50%;animation:spin .75s linear infinite}.skeleton{background:linear-gradient(90deg,var(--bg3) 25%,var(--bg4) 50%,var(--bg3) 75%);background-size:800px 100%;animation:shimmer 1.6s infinite;border-radius:var(--radius-sm)}.chip{display:inline-flex;align-items:center;gap:5px;padding:.25rem .75rem;border-radius:var(--radius-full);background:var(--bg3);border:1px solid var(--border2);font-size:.75rem;color:var(--text2);transition:all var(--transition)}.chip:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.chip-remove{cursor:pointer;color:var(--text3);font-size:.875rem;line-height:1;transition:color var(--transition)}.chip-remove:hover{color:var(--danger)}.filter-bar{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center;padding:.625rem .875rem;background:var(--bg2);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:1.25rem;box-shadow:var(--shadow-xs)}.filter-pill{display:inline-flex;align-items:center;gap:5px;padding:.3125rem .875rem;border-radius:var(--radius-full);background:var(--bg3);border:1.5px solid var(--border2);font-size:.78125rem;font-weight:500;color:var(--text2);cursor:pointer;transition:all var(--transition);white-space:nowrap}.filter-pill:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.filter-pill.active{background:var(--accent-soft);border-color:var(--accent);color:var(--accent);font-weight:600}.grid-2,.grid-3{display:grid;grid-template-columns:1fr;gap:clamp(.75rem,2vw,1.25rem)}.grid-4{display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(.625rem,2vw,1rem)}.grid-auto{display:grid;grid-template-columns:1fr;gap:clamp(.75rem,2vw,1.25rem)}.divider{border:none;height:1px;background:linear-gradient(to right,transparent,var(--border),transparent);margin:1.25rem 0}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-8{gap:.5rem}.gap-10{gap:.625rem}.gap-12{gap:.75rem}.gap-16{gap:1rem}.gap-20{gap:1.25rem}.flex-1{flex:1;min-width:0}.flex-wrap{flex-wrap:wrap}.text-xs{font-size:.6875rem}.text-sm{font-size:.75rem}.text-md{font-size:.875rem}.text-lg{font-size:1rem}.text-xl{font-size:1.125rem}.text-2xl{font-size:1.375rem}.text-center{text-align:center}.font-bold{font-weight:700}.font-semibold{font-weight:600}.font-medium{font-weight:500}.text-muted{color:var(--text3)}.text-secondary{color:var(--text2)}.text-accent{color:var(--accent)}.text-success{color:var(--success)}.text-danger{color:var(--danger)}.text-warning{color:var(--warning)}.text-purple{color:var(--purple)}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mb-4{margin-bottom:.25rem}.mb-8{margin-bottom:.5rem}.mb-12{margin-bottom:.75rem}.mb-16{margin-bottom:1rem}.mb-20{margin-bottom:1.25rem}.mb-24{margin-bottom:1.5rem}.mt-4{margin-top:.25rem}.mt-8{margin-top:.5rem}.mt-10{margin-top:.625rem}.mt-12{margin-top:.75rem}.mt-16{margin-top:1rem}.mt-24{margin-top:1.5rem}.p-16{padding:1rem}.p-20{padding:1.25rem}.p-24{padding:1.5rem}.w-full{width:100%}.chapter-locked{opacity:.4;pointer-events:none}.chapter-locked-overlay{position:absolute;inset:0;background:#0f172a73;display:flex;align-items:center;justify-content:center;border-radius:var(--radius);font-size:1.75rem;backdrop-filter:blur(3px)}.video-wrap{position:relative;width:100%;background:#000;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-lg)}.video-wrap:before{content:"";display:block;padding-top:56.25%}.video-wrap iframe,.video-wrap video{position:absolute;inset:0;width:100%;height:100%;border:none}.video-overlay{position:absolute;inset:0;background:#00000040;z-index:5}.course-thumb{height:88px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;font-size:clamp(1.75rem,6vw,2.5rem);position:relative;overflow:hidden;transition:transform var(--transition-md)}.course-thumb:after{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(255,255,255,.12) 0%,transparent 60%);pointer-events:none}.card-hover:hover .course-thumb{transform:scale(1.04)}.cc-card{display:flex;flex-direction:column;padding:16px}.cc-body{padding:14px 0 0;flex:1;display:flex;flex-direction:column}.cc-title{font-size:14px;font-weight:600;color:var(--text);line-height:1.45;margin-bottom:8px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.cc-tags{display:flex;align-items:center;gap:6px;flex-wrap:nowrap;overflow:hidden;margin-bottom:10px}.cc-desc{font-size:12px;color:var(--text3);line-height:1.5;margin-bottom:10px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.cc-stats{display:flex;gap:6px;flex-wrap:nowrap;overflow:hidden}.cc-stat{display:inline-flex;align-items:center;gap:3px;font-size:11px;font-weight:500;color:var(--text2);background:var(--bg3);border:1px solid var(--border2);padding:3px 9px;border-radius:var(--radius-full);white-space:nowrap}.cc-progress{margin-top:12px}.cc-prog-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:5px}.cc-prog-label{font-size:11px;color:var(--text3);font-weight:500}.cc-prog-pct{font-size:11px;font-weight:700;color:var(--accent)}.cc-prog-pct.done{color:var(--success)}.cc-footer{display:flex;align-items:center;justify-content:space-between;gap:8px;padding-top:12px;margin-top:auto;border-top:1px solid var(--border);min-height:44px;flex-shrink:0}.cc-footer-end{justify-content:flex-end}.cc-actions{display:flex;gap:6px;align-items:center;flex-shrink:0}.cc-open{font-size:13px;font-weight:600;color:var(--accent);white-space:nowrap;letter-spacing:.01em}.cc-status{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:700;padding:3px 9px;border-radius:var(--radius-full);white-space:nowrap}.cc-status.active{background:#4f46e51a;color:var(--accent)}.cc-status.done{background:#0596691a;color:var(--success)}.cc-enroll-row{margin-bottom:8px}.cc-enroll-badge{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:700;padding:3px 9px;border-radius:var(--radius-full)}.cc-enroll-badge.enrolled{color:var(--success);background:#10b9811a;border:1px solid rgba(16,185,129,.22)}.cc-enroll-badge.locked{color:var(--text3);background:var(--bg3);border:1px solid var(--border2)}.cc-enrolled-border{border-color:#10b9813d!important}.cc-dim{opacity:.85}.cc-dim:hover{opacity:1}.cc-enroll-notice{font-size:11px;color:var(--text3)}.cc-rejection{margin-top:10px;padding:8px 10px;font-size:12px;line-height:1.4;background:var(--danger-soft);border:1px solid rgba(220,38,38,.18);border-radius:var(--radius-sm);color:var(--text2);min-height:52px;overflow:hidden;flex-shrink:0}.cc-rejection-empty{visibility:hidden}.cc-rejection-label{font-weight:700;color:var(--danger);font-size:11px;display:block;margin-bottom:3px}.cc-rejection-body{overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical}.cc-prog-locked{color:var(--text3)}.pulse-dot{width:8px;height:8px;border-radius:50%;background:var(--danger);display:inline-block;animation:pulse 1.6s ease-in-out infinite}.info-box{display:flex;gap:.625rem;align-items:flex-start;background:#4f46e50f;border:1px solid rgba(79,70,229,.18);border-radius:var(--radius-sm);padding:.8125rem 1rem;font-size:var(--fs-base);color:var(--text2);line-height:1.6}@media(min-width:480px){.grid-4{grid-template-columns:repeat(2,1fr)}.toast-container{right:1rem;left:1rem}.tab{padding:.5rem 1rem}}@media(min-width:768px){:root{--sidebar-w: 252px}.main-content{margin-left:var(--sidebar-w);padding-top:0;transition:margin-left .28s cubic-bezier(.4,0,.2,1)}.main-content.no-sidebar{margin-left:0}.page{padding:clamp(1.25rem,3vw,2rem)}.page-header{align-items:center;margin-bottom:1.75rem;gap:1rem}.grid-2,.grid-3{grid-template-columns:repeat(2,1fr)}.grid-auto{grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}.stats-grid{grid-template-columns:repeat(2,1fr)}table{min-width:unset}th{padding:.6875rem 1rem}td{padding:.8125rem 1rem}.tab{padding:.5rem 1.125rem;font-size:.8125rem}.btn{padding:.5625rem 1.125rem}.btn-sm{padding:.3125rem .8125rem}.modal-overlay{padding:1.25rem;align-items:center}.modal{max-width:min(90vw,640px);max-height:90vh;border-radius:var(--radius-xl);animation:slideUp .28s var(--spring)}.modal-header{padding:1.25rem 1.5rem;border-radius:var(--radius-xl) var(--radius-xl) 0 0}.modal-body{padding:1.5rem}.modal-footer{padding:1rem 1.5rem;border-radius:0 0 var(--radius-xl) var(--radius-xl);flex-wrap:nowrap}.modal-footer .btn{flex:none;min-width:unset}.toast-container{bottom:1.75rem;right:1.75rem;left:auto}.toast{min-width:18.75rem;max-width:26.25rem;width:auto}.page-header{margin-bottom:1.5rem}.stat-icon{width:40px;height:40px;font-size:1.25rem}}@media(min-width:1024px){.page{padding:2rem}.page-header{margin-bottom:2rem}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-4{grid-template-columns:repeat(4,1fr)}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.grid-auto{grid-template-columns:repeat(auto-fill,minmax(290px,1fr))}th{padding:.6875rem 1rem}td{padding:.8125rem 1rem}.modal{max-width:min(90vw,720px)}}@media(min-width:1440px){:root{--sidebar-w: 272px}.page{padding:2rem 2.5rem;max-width:1600px}.stats-grid{gap:1.25rem;margin-bottom:2rem}.page-header{margin-bottom:2rem}.modal{max-width:min(90vw,800px)}}@media(min-width:768px){body.sidebar-collapsed{--sidebar-w: 64px}body.sidebar-collapsed .main-content{margin-left:64px;transition:margin-left .28s cubic-bezier(.4,0,.2,1)}}
