@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-cyrillic-ext-400-normal-BQZuk6qB.woff2) format("woff2"),url(/assets/inter-cyrillic-ext-400-normal-DQukG94-.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-cyrillic-400-normal-obahsSVq.woff2) format("woff2"),url(/assets/inter-cyrillic-400-normal-HOLc17fK.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-greek-ext-400-normal-DGGRlc-M.woff2) format("woff2"),url(/assets/inter-greek-ext-400-normal-KugGGMne.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-greek-400-normal-B4URO6DV.woff2) format("woff2"),url(/assets/inter-greek-400-normal-q2sYcFCs.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-vietnamese-400-normal-DMkecbls.woff2) format("woff2"),url(/assets/inter-vietnamese-400-normal-Bbgyi5SW.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-latin-ext-400-normal-C1nco2VV.woff2) format("woff2"),url(/assets/inter-latin-ext-400-normal-77YHD8bZ.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-latin-400-normal-C38fXH4l.woff2) format("woff2"),url(/assets/inter-latin-400-normal-CyCys3Eg.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-cyrillic-ext-500-normal-B0yAr1jD.woff2) format("woff2"),url(/assets/inter-cyrillic-ext-500-normal-BmqWE9Dz.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-cyrillic-500-normal-BasfLYem.woff2) format("woff2"),url(/assets/inter-cyrillic-500-normal-CxZf_p3X.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-greek-ext-500-normal-C4iEst2y.woff2) format("woff2"),url(/assets/inter-greek-ext-500-normal-2j5mBUwD.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-greek-500-normal-BIZE56-Y.woff2) format("woff2"),url(/assets/inter-greek-500-normal-Xzm54t5V.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-vietnamese-500-normal-DOriooB6.woff2) format("woff2"),url(/assets/inter-vietnamese-500-normal-mJboJaSs.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-latin-ext-500-normal-CV4jyFjo.woff2) format("woff2"),url(/assets/inter-latin-ext-500-normal-BxGbmqWO.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-latin-500-normal-Cerq10X2.woff2) format("woff2"),url(/assets/inter-latin-500-normal-BL9OpVg8.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-cyrillic-ext-600-normal-Dfes3d0z.woff2) format("woff2"),url(/assets/inter-cyrillic-ext-600-normal-Bcila6Z-.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-cyrillic-600-normal-CWCymEST.woff2) format("woff2"),url(/assets/inter-cyrillic-600-normal-4D_pXhcN.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-greek-ext-600-normal-DRtmH8MT.woff2) format("woff2"),url(/assets/inter-greek-ext-600-normal-B8X0CLgF.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-greek-600-normal-plRanbMR.woff2) format("woff2"),url(/assets/inter-greek-600-normal-BZpKdvQh.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-vietnamese-600-normal-Cc8MFFhd.woff2) format("woff2"),url(/assets/inter-vietnamese-600-normal-BuLX-rYi.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-latin-ext-600-normal-D2bJ5OIk.woff2) format("woff2"),url(/assets/inter-latin-ext-600-normal-CIVaiw4L.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-latin-600-normal-LgqL8muc.woff2) format("woff2"),url(/assets/inter-latin-600-normal-CiBQ2DWP.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-cyrillic-ext-700-normal-BjwYoWNd.woff2) format("woff2"),url(/assets/inter-cyrillic-ext-700-normal-LO58E6JB.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-cyrillic-700-normal-CjBOestx.woff2) format("woff2"),url(/assets/inter-cyrillic-700-normal-DrXBdSj3.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-greek-ext-700-normal-qfdV9bQt.woff2) format("woff2"),url(/assets/inter-greek-ext-700-normal-BoQ6DsYi.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-greek-700-normal-C3JjAnD8.woff2) format("woff2"),url(/assets/inter-greek-700-normal-BUv2fZ6O.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-vietnamese-700-normal-DlLaEgI2.woff2) format("woff2"),url(/assets/inter-vietnamese-700-normal-BZaoP0fm.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-latin-ext-700-normal-Ca8adRJv.woff2) format("woff2"),url(/assets/inter-latin-ext-700-normal-TidjK2hL.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-latin-700-normal-Yt3aPRUw.woff2) format("woff2"),url(/assets/inter-latin-700-normal-BLAVimhd.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-display:swap;font-weight:500;src:url(data:font/woff2;base64,d09GMgABAAAAAAQwABAAAAAACHQAAAPWAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGhYbahwoBmA/U1RBVEQAZBEICoMkgmULFgABNgIkAyYEIAWFXgdiDAcbAwdRlE3OAiA/C2NnWmqDevE1lV86rytbx0YiXN7GJix16cheg+c///7dZ+Z+SEzSUhXoEkLHLqv//fu/tfY3nUm+g2lnlqwhYmnWZ232zf5BQiV0qzxKoR5UjVQLFR7+uVfv+5lDN4WzaUwPWEASTFvwak+Pl2rLqgUqWr/l7mqeJpR5FlJkbclrawv4WyBZaRDdxDX5/xelhdVKE4m2zbooInWEO19jURQVPvBuOvDkAcHeliEDXwoiZxo1/tstIsAWAChCaEKAtVDJ1GlxfR+yN4oBZBkAkwkC5GqIAOJAgDAoloQlxZUBIvkTCoDQhKLN8VKYRQwXjizagXkAs434JyuYQT2rCECN1YtcoBrzICIWQLla63ltC57YDcVwpmCYNY1OyAtAdew3EEiTvR8LrhQIpZ4sGxUNU3fqKTYIVwZ6wxb4twhACrICgAIauNIEuDI0Ahw50sBOoCL3fkMFiomxx/Jz8zHHWET500Ih1xCSmuAAwBqAK7AF44Bd4MsRYFApIMBjEJKlWhoePhvhmMSB1Ro5D2fWZibFkofp/bPMacp6vCkbxnNyp3atz66P1K75BuuPeXZe/3xXNlQfm0uF9U+mqV1rYHNKX80eoYGO1L5bZLBZ37LabkggZnym3HIxRqivANhY/1+NlKncG/kn6rGEPYd8ufSeriuFFF+iE7bqaWxa2cwaeQv2IOd05Pu/v386CWdDv/T35UJC4mam3WgqVPQregeerWBu3ebN2oUbvNYNa6rhi42eyuXw8IeI7mbYQmSZbagRBFiwdM8fzreS7vMYYAP1qq91voMA1Q4fa+5fH3DIfZZa/wf49R3rCfj7vreXVLqyajqYUwAEL5tOveUx/znVL7LYKlnPKrmnolmug3QdfFMwL6AAa+kMvjQBAACgCLB3Q4ZkrYDnMeuxRGJMWIp9xLO0Yn/tRhXLTLY7LHOxtrLspWtkOQoWz3RiK1gvGpDu7RYZwAZpLaN/Ac04HxVYgSgPozliYCw2tMGgYyTfNo8UIapRLkpAFNGCCkRsCIUiIwkSrKIRmBCKtK3CeNoWCJaOBovWO1eiGjtbu6AdMojvZ7gAkSxeogxJckwwIY7zRM50xcsSL0Wivtr+a7VlzZbxdGA3ZJE8avQ8Osn60jlc6Io43TCRLFEbA7XGAKPhvtpGjuUcBq3PuCISsnGiorvImzBPYPxsJFXbCM7XsRrn4tCVkKHD7hpFxJrGULWyNQj1JhQ6tBhiJuZiYV6k/hXAuNiagHXH+8Rkbte5sz8+pJaoJtH4Rg5JTJoeMxsvf4RbbhkZAA==) format("woff2"),url(data:font/woff;base64,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) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/plus-jakarta-sans-vietnamese-500-normal-DiU8zqi-.woff2) format("woff2"),url(/assets/plus-jakarta-sans-vietnamese-500-normal-CvE5C8T-.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/plus-jakarta-sans-latin-ext-500-normal-9VZagAe1.woff2) format("woff2"),url(/assets/plus-jakarta-sans-latin-ext-500-normal-CqEEAICU.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/plus-jakarta-sans-latin-500-normal-Bf-nb4oT.woff2) format("woff2"),url(/assets/plus-jakarta-sans-latin-500-normal-DYtqi0QS.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-display:swap;font-weight:600;src:url(data:font/woff2;base64,d09GMgABAAAAAAQcABAAAAAACIgAAAPAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGhYbahwoBmA/U1RBVEQAZBEICoMogmULFgABNgIkAyYEIAWFbgdiDAcbEwcgnge2zWYrRGrW2DqMIvVrh6cG/6B/9ecmGb7Z3Q/IFcgSYAe7BJC/X2tvBdPop7KYypr+m92/iE0nEhIeMkO6SiJfo3oCmXALgMKT3MtvBPKJY8aL5MhAnUgFTTtot/MqGvHOs2lU9Q389/gPWGD8OnXqgVcTwoAOlml+fY8ISAAABiEsQkCcfJqR9RrMrkL5sN7YgnIcgPcI0ND+tgWFgADhMEQRUQzp0EAhDQgMAMIiDJZGIQw0QxcQglR7gIaTAJxem07kgZk/RAFNG1EPIqmPikUAw83adWYBsiTlOuSSfR4QSqV+uYBYAWCym1dALhRa/LaQDgnkQ44ZqGCCgsHPGkQJIh1aQkoANhOAoqYTABjAAulQCCZ961aAVCpRQBK5DLnlpEyuQ94T/Fr/y+9P+P6+tpe2EKiCkPekgIyzOB0gAQwALACyIQkcxisYPoeQo0Vdxox0UqqeqmCkgYx4y2BooMbXE6tdS7YDeeteTdtzKT7/TrH4xvv3gwV37zJ1VaZO8+/d07S1WYNNu5i6+2Kw4H7JYN2dOwOKxHpeyepQljdHsPpoGnc8Z7AqpeqGBtHxiIV+RCkJvVwuTza50nPJys9dUz5nzMrN/fWWXWob/8YVjM3kb7y63KydGR+YGNbat1O1Nnf72eOGw1t7d6vW5M7MrDmEiZ9XoOg04PBxEtup5mrNDdy0qDUPziYfVw7bRInVXCoWmYxZcvMFXJlxd3WrOJAFIIAIUfZw5V4co5j3UgAEYLbbT8PLfUCASVM8W/aXnim937L2JcDT/cUyAcCLrSu6UeK/TuuPMAYAwdtmNYcI8P8ZNcFsjcfMVKpdBkNmL3wDzEaKAUbCCCBOBTTZUBRazyAgmT1Y5GLAGU102aJcGrENyarCtjTwX+lo7BBVvLLDlHLNTqaCVXYqPs2W1NCdIrIkyFCvaAoQQOIa5z+BNhATyzIFYxlUvA0ilUyBrRCZVMMQg2CRweXwmMbSsWwYy2MFy+JQYFiGo1tamoNnU2VgjhSHypCC2GRpC8bNls4Wo9ROLoW+TmRvokIsHs1SGB2a9JBJMET+vGMHI6VLSgvG3tG8qxbMWNCzBMByXOYyUOzG1PYUSR+BZJyytzvh0YwxNo/VIEAsuvgmi2yIRsTDPIa4MAViU2pHHotDpuKvcXFSeIgpDUN0CHYqQ5RGIIpElfr+RKwdB/J5k8HKyimksCLh2n1+E6BbgTtCZZihUmTdNt4Hm5nhckW9+7pY/GgOVVCd79LCtL/Iz9rnFgEAAAA=) format("woff2"),url(data:font/woff;base64,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) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/plus-jakarta-sans-vietnamese-600-normal-Y4VTTRme.woff2) format("woff2"),url(/assets/plus-jakarta-sans-vietnamese-600-normal-5YsyKbU1.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/plus-jakarta-sans-latin-ext-600-normal-DQgPU_Cg.woff2) format("woff2"),url(/assets/plus-jakarta-sans-latin-ext-600-normal-B0WRRYJ1.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/plus-jakarta-sans-latin-600-normal-DLTa1BUW.woff2) format("woff2"),url(/assets/plus-jakarta-sans-latin-600-normal-BR_Ojra4.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-display:swap;font-weight:700;src:url(data:font/woff2;base64,d09GMgABAAAAAAP4ABAAAAAACEAAAAOfAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGhYbahwoBmA/U1RBVEQAZBEICoMogmULFgABNgIkAyYEIAWFKAdiDAcbzQZAHgnZGeYNcatNpH4Ez1Ne9X5V0koPnZXA23BP8lGsq7ncS/JfgvHIEMLN3G0KLFyFwfEVqsKhsUUm3AKg8CT3pr93/Mf0hc2NmkjbJu1J/zpfy7DzNvbxWTYp4C4NcJ13AUFvs3CpSRLzS+U69m4UAYIAgEIQNIIAAfLqINWtv7QF+UN7UQT5WADGIIAM6ccjyAQEECwUPgQfimgKUFAJhgJA0AgKjUKWn1pMfjVYcQaoB7Hbki/qKjaoxaojQBNpFulOXRpARl5AcbK2XVyFd0Lcs1aoyQ3scOnrwtYAKFd9BFwy0vu+EE0C8pImDHCIaRj0asAchGjKKEkQ8LcIgPjVVQAUoIFoMgJEU2gJCFdIBkJwjXvnlij3rDG2x5pf5o25afqZWkaet4FBNoIYQxh0APFoQBDoD1gCJKMALJQBFC0LQSyJz4qLswThPSSMsRwbfk1niDMo0D7YtktOZ2fAgRMy6/jjwOKsooE9T544S7Kzmbk1vuPinByZtSPJ2XuUmcceOUuelHB2ZmX1z1HrcTlthwRlU51N17z8jSRna1OV3fV99b0b/uK7yOHDST6sLbvDLbeja1zGlNE1PKentEtMelwhT/56rn/19RbtRFONJiO6q3erGr//zKenjUZ21+heJeHeng2BK6+1bM+beoW2bba19ASXheuNfRwedJTam9ptLdzYPyuklZu7VsrMQOEmHZqR8sMALz4O8VgX95PLX0kAHFDX9Pd1uM8IoCKLJdwp+rFHWNVvPq0/ADw9VTQegBcH1nQlx3w9tV3woAAQ+NlC6qEf+tf9Iut+NZOq4ONKTgPAaj8FAFPcYECA8hSSyXkwwBQCBFmPRiw/cFeaa0ohd4oqFT7Jq9RU96+0KOpTaVPZo9JDQXuKUMqrMBJNkNiIn6xhcTxYwCUfAlpDIVVkHlEFXLpdJpfNQfwfkZgwoFUrQce5YkRoIbgCLRBna7VqxpI1gYSwQOVTcUS1SRURmk1AAcMOEye4UKRMhxZterUbZLMQhALCoTYt+rXo1Oa4xrSyGSybeFln3nnZsmrRqsEufdKgNVsnodgV/v0aZTq08ViZLRtkDtz786/hkMekI2XGJYgDcUKZuptJ2NyYT5PQtNChUCuCfIhciZlasVBPguyaftQBDgB5fYlCixZLbPGI11Or9/v+12WMG+62laxVUtVprdzZUbJ2WX+vPgmZr91w2JzuNWVKlr8oZt5Jaxk=) format("woff2"),url(data:font/woff;base64,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) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/plus-jakarta-sans-vietnamese-700-normal-CV6qDkkj.woff2) format("woff2"),url(/assets/plus-jakarta-sans-vietnamese-700-normal-BCh_uG_5.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/plus-jakarta-sans-latin-ext-700-normal-BajbvANd.woff2) format("woff2"),url(/assets/plus-jakarta-sans-latin-ext-700-normal-8-d-IyIQ.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/plus-jakarta-sans-latin-700-normal-CfpNZvy6.woff2) format("woff2"),url(/assets/plus-jakarta-sans-latin-700-normal-DqEcQeE5.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}.costing-app{--cst-navy-from: #2b4c8c;--cst-navy-to: #1f3b70;--cst-navy-grad: linear-gradient(180deg, var(--cst-navy-from) 0%, var(--cst-navy-to) 100%);--cst-navy-split: #3d5c9a;--cst-nav-bg: #0f2a57;--cst-main-bg: #f4f6f9;--cst-font: "Inter", "Be Vietnam Pro", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;--cst-font-h: "Plus Jakarta Sans", "Inter", "Be Vietnam Pro", sans-serif;--surface: #ffffff;--bg: #f4f6f9;--border: #e3e7ee;--border-strong: #cbd3df;--divider: #e8ebf0;--heading: #1f2937;--text: #1f2937;--muted: #6b7280;--primary: #1d4ed8;--primary-dark: #1a43b8;--primary-light: #3b82f6;--danger: #dc2626;--danger-bg: #fef2f2;--danger-border: #fecaca;--row-hover-bg: #eef4ff;--radius: 9px;--font-sans: var(--cst-font);--ok: #059669;--ok-bg: #d1fae5;--ok-border: #a7f3d0;--warn: #b45309;--warn-bg: #fef3c7;--warn-border: #fde68a;--bad: #b91c1c;--bad-bg: #fee2e2;--bad-border: #fecaca;--excel: #059669;--btn-save-from: var(--primary);--btn-save-to: var(--primary);--btn-danger-from: var(--danger);--btn-danger-to: var(--danger);--btn-excel-from: var(--excel);--btn-excel-to: var(--excel);--btn-neutral-from: #ffffff;--btn-neutral-to: #ffffff;display:flex;height:100vh;width:100vw;overflow:hidden;position:relative;background:var(--cst-main-bg);color:var(--text);font-family:var(--cst-font)}.cst-side{width:230px;flex:none;background:var(--cst-nav-bg);display:flex;flex-direction:column;overflow-x:hidden;overflow-y:auto;transition:width .25s ease}.costing-app.collapsed .cst-side{width:72px}.cst-logo{padding:16px 18px 14px;font-weight:800;font-size:16px;color:var(--on-dark);display:flex;flex-direction:column;gap:2px}.cst-logo small{font-weight:500;font-size:12.5px;color:var(--on-dark-dim)}.cst-nav{padding-bottom:20px}.crm-nav-item.cst-item{height:auto;min-height:44px;white-space:normal;line-height:1.3;text-align:left;color:#ffffffe6}.cst-parent-label{flex:1}.cst-nav-indicator{position:absolute;left:12px;right:12px;top:0;border-radius:12px;background:#ffffff2e;box-shadow:0 6px 18px #0000004d,inset 0 0 0 1px #ffffff24;pointer-events:none;z-index:0;transition:transform .5s cubic-bezier(.34,1.56,.64,1),height .35s ease,opacity .2s}.cst-group{display:flex;flex-direction:column}.cst-chevron{font-size:11px;color:#fff;opacity:.9;transition:transform .22s ease;flex:none}.cst-parent.open .cst-chevron{transform:rotate(90deg)}.crm-nav-item.cst-parent.cst-has-active{color:#fff;font-weight:700}.cst-sub{display:grid;grid-template-rows:0fr;transition:grid-template-rows .25s ease}.cst-sub.open{grid-template-rows:1fr}.cst-sub-inner{overflow:hidden;display:flex;flex-direction:column;gap:4px;padding-top:4px}.crm-nav-item.cst-child{padding-left:38px;min-height:40px;font-weight:500}.cst-logo-mini{font-size:18px;letter-spacing:1px}.cst-num{display:inline-flex;align-items:center;justify-content:center;width:19px;height:19px;border-radius:50%;border:1.6px solid currentColor;font-size:11px;font-weight:800;line-height:1}.costing-app.collapsed .crm-nav-item{justify-content:center;padding:0}.costing-app.collapsed .cst-logo{align-items:center;padding:16px 0 14px}.cst-flyout-pop .ant-popover-inner{padding:6px}.cst-flyout{min-width:210px}.cst-flyout-title{font-size:12px;font-weight:700;color:var(--heading);padding:4px 10px 8px}.cst-flyout-item{display:flex;align-items:center;gap:10px;width:100%;border:none;background:transparent;cursor:pointer;padding:8px 10px;border-radius:8px;font-size:13.5px;color:var(--text);text-align:left;transition:background .15s,color .15s}.cst-flyout-item .crm-nav-ico{font-size:15px;color:var(--muted);display:inline-flex}.cst-flyout-item:hover{background:var(--row-hover-bg);color:var(--heading)}.cst-flyout-item.active{background:color-mix(in srgb,var(--primary) 12%,transparent);color:var(--primary);font-weight:600}.cst-flyout-item.active .crm-nav-ico{color:var(--primary)}.cst-main{flex:1;display:flex;flex-direction:column;overflow:hidden}.cst-head{height:var(--bar-h);flex:none;background:var(--surface);border-bottom:1px solid var(--divider);display:flex;align-items:center;justify-content:space-between;padding:0 22px}.cst-head-left{display:flex;align-items:center;gap:12px}.cst-head h2{margin:0;font-size:16px;font-weight:700;color:var(--heading)}.cst-collapse{border:none;background:transparent;cursor:pointer;width:34px;height:34px;border-radius:9px;display:inline-flex;align-items:center;justify-content:center;color:var(--muted);font-size:16px;transition:background .15s,color .15s}.cst-collapse:hover{background:var(--heading-bg);color:var(--primary)}.cst-head-sel{font-size:13px;color:var(--muted)}.cst-head-right{display:flex;align-items:center}.cst-company-tag{background:var(--primary);color:#fff;border-radius:999px;padding:4px 14px;font-size:12.5px;font-weight:700;letter-spacing:.02em;white-space:nowrap}.cst-content{flex:1;overflow:auto;padding:12px 22px 0}.cst-view{padding-bottom:24px}.cst-view:has(.cst-gridfooter){padding-bottom:0}.cst-view{animation:cst-view-in .28s var(--ease-liquid)}@keyframes cst-view-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.cst-view{animation:none}.cst-nav-indicator{transition:opacity .2s}}.cst-note{background:var(--row-hover-bg);border:1px solid var(--border);border-radius:var(--radius);padding:9px 12px;font-size:13px;color:var(--text);margin-bottom:12px}.cst-plain{width:100%;border-collapse:collapse;font-size:12.5px}.cst-plain th,.cst-plain td{border:1px solid var(--border);padding:4px 8px;white-space:nowrap}.cst-plain thead th{background:var(--row-hover-bg);color:var(--heading);font-weight:600;text-align:left;position:sticky;top:0;z-index:1}.cst-plain td.n,.cst-plain th.n{text-align:right}.cst-plain tbody tr:hover{background:var(--row-hover-bg)}.cst-daydetail th,.cst-daydetail td{padding:3px 7px}.cst-cfgtbl{width:100%;border-collapse:collapse;font-size:13px}.cst-cfgtbl th,.cst-cfgtbl td{border:1px solid var(--border);padding:7px 10px;white-space:nowrap;vertical-align:middle}.cst-cfgtbl thead th{background:var(--cst-navy-grad);color:#fff;font-weight:600;text-align:left}.cst-cfgtbl thead th+th{border-left-color:var(--cst-navy-split)}.cst-cfgtbl td.n,.cst-cfgtbl th.n{text-align:right}.cst-cfgtbl tbody tr:hover>td{background:var(--row-hover-bg)}.cst-cfgtbl tr.cst-sec>td{background:#eef4ff;font-weight:500}.cst-cfgtbl tr.cst-tot>td{background:#eef4ff;font-weight:700}.cst-cfgtbl tr.cst-sec:hover>td,.cst-cfgtbl tr.cst-tot:hover>td{background:#e4edff}.cst-cfgtbl .cst-cfg-inp{width:96px}.cst-gridfooter{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;padding:8px 12px;border:1px solid var(--border);border-top:none;border-radius:0 0 var(--radius) var(--radius);background:var(--surface);font-size:13px;color:var(--text)}.cst-gridfooter .gf-left{color:var(--muted)}.cst-gridfooter .gf-mid{display:flex;align-items:center;gap:6px}.cst-gridfooter .gf-label{color:var(--muted);margin-right:2px}.cst-gridfooter .gf-size{min-width:34px;height:28px;padding:0 8px;border:1px solid var(--border-strong);border-radius:8px;background:#fff;color:var(--text);font:inherit;cursor:pointer;transition:all .12s}.cst-gridfooter .gf-size:hover{border-color:var(--primary);color:var(--primary)}.cst-gridfooter .gf-size.active{background:var(--primary);border-color:var(--primary);color:#fff;font-weight:600}.cst-gridfooter .gf-right{display:flex;align-items:center;gap:4px}.cst-gridfooter .gf-edge{height:28px;min-width:28px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--border-strong);border-radius:8px;background:#fff;color:var(--text);cursor:pointer}.cst-gridfooter .gf-edge:disabled{opacity:.4;cursor:not-allowed}.cst-gridfooter .gf-edge:not(:disabled):hover{border-color:var(--primary);color:var(--primary)}.cst-gridfooter .ant-pagination{margin:0}.cst-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px;margin-bottom:14px}.cst-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:14px 16px}.cst-card-l{font-size:12.5px;color:var(--muted)}.cst-card-v{font-size:26px;font-weight:800;color:var(--heading);margin:4px 0 2px}.cst-card-s{font-size:12px;color:var(--muted)}.cst-placeholder{background:var(--surface);border:1px dashed var(--border);border-radius:12px;padding:40px 20px;text-align:center;color:var(--muted)}.cst-cb-box{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:14px 16px;margin-bottom:14px}.cst-cb-box>h3{margin:0 0 10px;font-size:14.5px;font-weight:700;color:var(--heading);display:flex;align-items:center;gap:8px;flex-wrap:wrap}.cst-cb-pill{display:inline-block;padding:1px 10px;border-radius:999px;font-size:12px;font-weight:600}.cst-cb-pill.ok{background:var(--ok-bg);color:var(--ok)}.cst-cb-pill.bad{background:color-mix(in srgb,var(--danger, #dc2626) 14%,transparent);color:var(--danger, #dc2626)}.cst-cb-mut{color:var(--muted);font-size:13px}.cst-cb-list{margin:2px 0 0;padding-left:20px}.cst-cb-list li{margin-bottom:5px;font-size:13.5px}.cst-cb-list b{color:var(--heading)}.cst-cb-link{background:none;border:none;padding:0;cursor:pointer;color:var(--primary, #2563eb);font:inherit;text-decoration:underline}.cst-cb-link:hover{opacity:.8}.cst-kpi-tbl .ant-table-cell{font-size:13px}.cst-kpi-tbl .ant-table-tbody>tr>td.cst-kpi-y,.cst-kpi-tbl .ant-table-tbody>tr:hover>td.cst-kpi-y{background:#fef3c7!important;color:#92400e;font-weight:600}.cst-kpi-tbl .ant-table-tbody>tr>td.cst-kpi-r,.cst-kpi-tbl .ant-table-tbody>tr:hover>td.cst-kpi-r{background:color-mix(in srgb,var(--danger, #dc2626) 16%,transparent)!important;color:var(--danger, #dc2626);font-weight:600}.cst-kpi-tbl .ant-table-tbody>tr>td.cst-kpi-na{color:var(--muted)}.cst-kpi-tbl td.cst-kpi-name{text-align:left;white-space:normal;font-weight:500}.cst-kpi-legend{margin-top:8px;font-size:12.5px;color:var(--muted)}.cst-kpi-legend .cst-kpi-y{background:#fef3c7;color:#92400e;padding:0 6px;border-radius:4px}.cst-kpi-legend .cst-kpi-r{background:color-mix(in srgb,var(--danger, #dc2626) 16%,transparent);color:var(--danger, #dc2626);padding:0 6px;border-radius:4px}.cst-guide{width:100%;font-size:14px;line-height:1.6;color:var(--text)}.cst-guide .box{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:16px 18px;margin-bottom:16px}.cst-guide h3{margin:0 0 10px;font-size:15px;font-weight:700;color:var(--heading)}.cst-guide b{color:var(--heading);font-weight:600}.cst-guide i{color:var(--text)}.cst-guide .small{font-size:13px}.cst-guide .mut{color:var(--muted)}.cst-guide ul,.cst-guide ol{margin:4px 0 0;padding-left:20px}.cst-guide li{margin-bottom:6px}.cst-guide ul.tight li,.cst-guide ol.tight li{margin-bottom:5px}.cst-guide .tw{overflow-x:auto;margin-top:2px}.cst-guide table{border-collapse:collapse;width:100%;font-size:13px}.cst-guide th,.cst-guide td{border:1px solid var(--border);padding:6px 10px;text-align:left;vertical-align:top}.cst-guide th{background:var(--heading-bg);color:var(--heading);font-weight:600;white-space:nowrap}.cst-guide table.wrap th{white-space:normal}.cst-guide .pill{display:inline-block;padding:1px 9px;border-radius:999px;font-size:12px;font-weight:600;white-space:nowrap}.cst-guide .pill.bad{background:color-mix(in srgb,var(--danger, #dc2626) 14%,transparent);color:var(--danger, #dc2626)}.cst-guide .pill.warn{background:#fef3c7;color:#92400e}.cst-guide .pill.ok{background:var(--ok-bg);color:var(--ok)}.cst-guide .hl-y{background:#fef3c7;color:#92400e;padding:0 5px;border-radius:4px;font-weight:600}.cst-guide .hl-r{background:color-mix(in srgb,var(--danger, #dc2626) 14%,transparent);color:var(--danger, #dc2626);padding:0 5px;border-radius:4px;font-weight:600}.costing-eg .eg-table .ant-table-thead>tr>th{padding:8px}.costing-eg .eg-table .ant-table-tbody>tr>td{padding:5px 8px}.costing-eg .eg-table .ant-table-tbody>tr>td.eg-edit{padding:0}.costing-eg .eg-table .ant-table-summary{z-index:6}.costing-eg .eg-table .ant-table-summary>tr>td.ant-table-cell{background:var(--heading-bg);font-weight:700}.costing-eg .eg-table .ant-table-tbody>tr>td.eg-edit>span{display:block;padding:5px 8px}.costing-eg .eg-cell.ant-input,.costing-eg .eg-cell .ant-input{background:transparent!important;border:none!important;border-radius:0!important;box-shadow:none!important;padding:5px 8px!important;height:100%;width:100%}.costing-eg .eg-cell.ant-input:focus{box-shadow:none!important}.costing-eg .ant-select.eg-cell{height:100%}.costing-eg .ant-select.eg-cell .ant-select-selector{background:transparent!important;border:none!important;border-radius:0!important;box-shadow:none!important;padding:0 8px!important;height:100%!important}.costing-eg .eg-table .ant-table-tbody>tr>td.eg-edit:hover{background:#eef4ff}.costing-eg .eg-table .ant-table-tbody>tr>td.eg-edit:has(.eg-invalid){box-shadow:inset 0 0 0 1.5px var(--danger, #dc2626);background:#fff1f0}.costing-eg .eg-table td.eg-num .ant-input,.costing-eg .eg-table td.eg-num>span{text-align:right;display:block}.costing-eg .eg-table td.eg-center .ant-input,.costing-eg .eg-table td.eg-center>span{text-align:center;display:block}.cst-imp-err>td{background:#fff1f0!important}.cst-op-bar{display:flex;gap:16px;align-items:center;flex-wrap:wrap;margin-bottom:12px}.costing-eg .eg-headersearch .cst-op-bar{margin-bottom:0}.cst-op-ky{display:inline-flex;gap:8px;align-items:center;color:var(--muted);font-size:13.5px}.cst-op-ky input[type=month]{height:34px;padding:4px 10px;border:1px solid var(--border-strong);border-radius:8px;font:inherit;color:var(--text);background:#fff}.cst-op-ky input[type=month]:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 16%,transparent)}.cst-op-ky input[type=month]:disabled{background:#f1f4f9;color:var(--muted)}.cst-op-total{background:var(--primary);color:#fff;font-weight:700;padding:6px 14px;border-radius:999px;font-size:13.5px}.costing-eg.eg-yellow .eg-table .ant-table-tbody>tr>td{background:#fff!important}.costing-eg.eg-yellow .eg-table .ant-table-tbody>tr.eg-even>td{background:#f7f9fc!important}.costing-eg.eg-yellow .eg-table .ant-table-tbody>tr>td.eg-ed{background:#fff7cc!important;padding:0}.costing-eg.eg-yellow .eg-table .ant-table-tbody>tr.eg-even>td.eg-ed{background:#fff3b0!important}.costing-eg.eg-yellow .eg-table .ant-table-tbody>tr:hover>td.ant-table-cell-row-hover{background:#eef2f8!important}.costing-eg.eg-yellow .eg-table .ant-table-tbody>tr:hover>td.eg-ed,.costing-eg.eg-yellow .eg-table .ant-table-tbody>tr:hover>td.ant-table-cell-row-hover.eg-ed{background:#fff2a8!important}.costing-eg.eg-yellow td.eg-ed .eg-cell.ant-input{background:transparent!important;border:none;border-radius:0;padding:5px 8px;height:100%}.costing-eg.eg-yellow td.eg-ed .ant-select.eg-cell{height:100%}.costing-eg.eg-yellow td.eg-ed .ant-select.eg-cell .ant-select-selector{background:transparent!important;border:none!important;border-radius:0;padding:0 8px!important;height:100%!important}.costing-eg.eg-yellow .eg-table .ant-table-tbody>tr>td.eg-ed:has(.eg-invalid){box-shadow:inset 0 0 0 1.5px var(--danger, #dc2626);background:#fff1f0}.costing-eg .eg-table .ant-table-tbody>tr:focus-within>td.eg-edit,.costing-eg.eg-yellow .eg-table .ant-table-tbody>tr:focus-within>td.eg-ed{background:#fff3b0!important}.costing-eg .eg-addbar{margin-top:8px}.costing-eg.eg-below .ant-table-pagination.ant-pagination{margin:10px 0}.costing-eg.eg-below .eg-addbar{margin-top:-42px;position:relative;z-index:2}.cst-center{display:flex;align-items:center;justify-content:center;height:100vh;width:100vw;background:var(--cst-main-bg)}.cst-center-box{text-align:center;color:var(--text)}.cst-center-box h2{font-size:18px;color:var(--heading)}.cst-center-body{margin-top:8px;color:var(--muted)}.costing-app .ant-table-wrapper .ant-table{font-variant-numeric:tabular-nums}.costing-app .ant-table-thead>tr>th.ant-table-cell{background:var(--cst-navy-grad)!important;color:#fff!important;text-align:center;font-weight:600;border-right:1px solid var(--cst-navy-split)!important}.costing-app .ant-table-thead .ant-table-column-sorter,.costing-app .ant-table-thead .ant-table-filter-trigger{color:#ffffffb8}.costing-app .ant-table-thead .ant-table-column-sorter .active,.costing-app .ant-table-thead .ant-table-filter-trigger.active{color:#ffe08a}.costing-app .ant-table-thead .ant-table-filter-trigger:hover,.costing-app .ant-table-thead .ant-table-column-sorter-up:hover,.costing-app .ant-table-thead .ant-table-column-sorter-down:hover{color:#fff}.costing-app .ant-table-tbody>tr>td.ant-table-cell{line-height:1.35}.costing-app .ant-table-tbody>tr:nth-child(2n):not(:hover)>td.ant-table-cell{background:#f7f9fc}.costing-app .ant-table-tbody>tr:nth-child(2n):not(:hover)>td.ant-table-cell-fix-left,.costing-app .ant-table-tbody>tr:nth-child(2n):not(:hover)>td.ant-table-cell-fix-right{background:#f7f9fc}.costing-app .ant-table-tbody>tr>td.ant-table-column-sort{background:transparent}.costing-app .ant-table-summary>tr>td.ant-table-cell{background:#e8efff!important;font-weight:600;border-top:2px solid #9db3dc!important}.costing-app .cst-card{padding:11px 13px}.costing-app .cst-card-v{font-size:22px}.costing-app .cst-cb-box{padding:12px 14px}.costing-app .cst-cb-box>h3{font-size:14px}.costing-app .app-btn.ant-btn{box-shadow:none;font-weight:500;border-radius:7px}.costing-app .app-btn.ant-btn:hover:not(:disabled){filter:brightness(.95)}.costing-app .app-btn-neutral.ant-btn{background:#fff!important;border:1px solid var(--border-strong)!important;color:var(--text)!important}.costing-app .app-btn-neutral.ant-btn:hover:not(:disabled){background:#f1f4f9!important;color:var(--text)!important;filter:none}.costing-app .cst-logo,.costing-app .cst-head h2,.costing-app .cst-card-v{font-family:var(--cst-font-h)}.costing-app .cst-card{padding:12px 14px;border-radius:10px}.costing-app .cst-card-v{font-size:20px;font-weight:600}.costing-app .cst-head h2{font-size:19px;color:var(--primary);font-weight:600}.cst-head-ky{font-weight:500;opacity:.9}.costing-app .ff-input{border-radius:8px}.cst-crumb{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:13px;color:var(--muted);margin-bottom:10px}.cst-crumb-root{color:var(--muted)}.cst-crumb-sep{color:var(--border-strong)}.cst-crumb-cur{color:var(--heading);font-weight:600;font-family:var(--cst-font-h)}.cst-crumb-period{margin-left:auto;display:inline-flex;align-items:center;gap:6px;background:var(--row-hover-bg);color:var(--primary);border:1px solid var(--border);padding:3px 11px;border-radius:999px;font-size:12.5px;font-weight:600}.cst-pagehead{margin-bottom:12px}.cst-page-title{display:flex;align-items:center;gap:8px;margin-bottom:8px}.cst-page-title h2{margin:0;font-family:var(--cst-font-h);font-size:19px;font-weight:600;color:var(--primary);line-height:1.25}.cst-page-title{justify-content:space-between}.cst-page-title .cst-company-tag{margin-left:auto}.cst-toolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;background:var(--surface);border:1px solid var(--border);border-radius:9px;padding:6px 10px}.cst-toolbar-sp{flex:1}.cst-tab-badge{display:inline-block;margin-left:6px;background:#fef3c7;color:var(--warn, #b45309);border-radius:10px;padding:0 8px;font-size:12px;font-weight:700;line-height:18px;vertical-align:middle}.cst-nav-badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;margin-left:auto;background:#f97316;color:#fff;border-radius:10px;padding:0 6px;font-size:11px;font-weight:700;line-height:1}.cst-side{overflow-y:hidden}.cst-side .cst-nav{flex:1 1 auto;overflow-y:auto;min-height:0}.cst-side-collapse{flex:none;display:flex;align-items:center;gap:10px;width:100%;border:none;border-top:1px solid rgba(255,255,255,.1);background:transparent;color:var(--on-dark-dim);padding:11px 16px;cursor:pointer;font:inherit;font-size:13px;transition:background .15s,color .15s}.cst-side-collapse:hover{background:#ffffff14;color:#fff}.costing-app.collapsed .cst-side-collapse{justify-content:center;padding:11px 0}.cst-locked-banner{background:#fff7ed;border:1px solid #fed7aa;color:#9a3412;border-radius:9px;padding:9px 12px;margin-bottom:10px;font-size:13px}.cst-locked-banner b{color:#7c2d12}.cst-xf{width:252px;padding:8px}.cst-xf-sort{display:block;width:100%;text-align:left;background:none;border:none;padding:6px 8px;border-radius:6px;cursor:pointer;font:inherit;font-size:13px;color:var(--text)}.cst-xf-sort:hover{background:var(--row-hover-bg)}.cst-xf .ant-input-affix-wrapper,.cst-xf>.ant-input{margin:6px 0}.cst-xf-act{font-size:12.5px;margin:4px 2px}.cst-xf-act a{color:var(--primary);cursor:pointer}.cst-xf-count{color:var(--muted)}.cst-xf-list{max-height:200px;overflow:auto;border:1px solid var(--border);border-radius:6px;padding:4px 6px;margin:4px 0}.cst-xf-list label{display:flex;align-items:center;gap:6px;padding:2px 0;font-size:13px;white-space:nowrap;cursor:pointer}.cst-xf-empty{color:var(--muted);font-size:12.5px;padding:6px}.cst-xf-foot{display:flex;justify-content:space-between;gap:8px;margin-top:6px}.cst-xf-foot button{border:1px solid var(--border-strong);background:#fff;border-radius:6px;padding:3px 12px;cursor:pointer;font:inherit;font-size:13px}.cst-xf-foot .cst-xf-ok{background:var(--primary);border-color:var(--primary);color:#fff}.cst-xf-icon{display:inline-flex;align-items:center;justify-content:center;width:19px;height:16px;background:#fff;color:#1f3b70;border:1px solid #9db3dc;border-radius:4px;font-size:10px;line-height:1}.cst-xf-icon.on{background:#fde68a;border-color:#f59e0b;color:#92400e}.costing-app .ant-table-filter-trigger{color:inherit}.cst-can-dragscroll .ant-table-body,.cst-can-dragscroll .ant-table-content{cursor:grab}.cst-can-dragscroll .ant-table-body input,.cst-can-dragscroll .ant-table-content input,.cst-can-dragscroll .ant-select,.cst-can-dragscroll a,.cst-can-dragscroll button{cursor:auto}.cst-can-dragscroll .cst-col-resize{cursor:col-resize}body.cst-drag-scrolling,body.cst-drag-scrolling *{cursor:grabbing!important;-webkit-user-select:none!important;user-select:none!important}.cst-col-resize{position:absolute;top:0;right:-3px;width:7px;height:100%;cursor:col-resize;z-index:3}.cst-col-resize:hover{background:#fde68a99}body.cst-col-resizing{cursor:col-resize;-webkit-user-select:none;user-select:none}.costing-app .ant-tag-green{background:var(--ok-bg);border-color:var(--ok-border);color:var(--ok)}.costing-app .ant-tag-red{background:var(--bad-bg);border-color:var(--bad-border);color:var(--bad)}.costing-app .ant-tag-gold,.costing-app .ant-tag-orange,.costing-app .ant-tag-warning{background:var(--warn-bg);border-color:var(--warn-border);color:var(--warn)}.costing-app .ant-tag-blue{background:var(--row-hover-bg);border-color:#cfe0ff;color:var(--primary)}.costing-app .ant-tag .anticon{color:inherit}.cst-tag{display:inline-flex;align-items:center;gap:4px;padding:1px 9px;border-radius:6px;font-size:12px;font-weight:600;line-height:1.7;border:1px solid transparent;white-space:nowrap}.cst-tag-ok{background:var(--ok-bg, #d1fae5);color:var(--ok, #059669);border-color:var(--ok-border, #a7f3d0)}.cst-tag-bad{background:var(--bad-bg, #fee2e2);color:var(--bad, #b91c1c);border-color:var(--bad-border, #fecaca)}.cst-tag-warn{background:var(--warn-bg, #fef3c7);color:var(--warn, #b45309);border-color:var(--warn-border, #fde68a)}.cst-tag-info{background:#e8efff;color:var(--primary, #1d4ed8);border-color:#cfe0ff}.cst-tag-neutral{background:#eef2f7;color:#475569;border-color:#e2e8f0}.costing-app .ant-tabs-top>.ant-tabs-nav{margin:0 0 10px}.costing-app .ant-tabs-top>.ant-tabs-nav:before{border-bottom-color:var(--border)}.costing-app .ant-tabs-tab{padding:8px 2px}.costing-app .ant-tabs-tab+.ant-tabs-tab{margin-left:22px}.costing-app .ant-tabs-tab .ant-tabs-tab-btn{font-weight:600!important;font-size:14px;color:var(--muted)}.costing-app .ant-tabs-tab-active .ant-tabs-tab-btn{font-weight:700!important;color:var(--primary)!important}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/be-vietnam-pro-vietnamese-400-normal-CRcqvyg1.woff2) format("woff2"),url(/assets/be-vietnam-pro-vietnamese-400-normal-BuGn0gnm.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/be-vietnam-pro-latin-ext-400-normal-CiZNW1ec.woff2) format("woff2"),url(/assets/be-vietnam-pro-latin-ext-400-normal-DYBYyMQr.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/be-vietnam-pro-latin-400-normal-PpnXBOrz.woff2) format("woff2"),url(/assets/be-vietnam-pro-latin-400-normal-bXgqVju9.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/be-vietnam-pro-vietnamese-500-normal-DREgrEoJ.woff2) format("woff2"),url(/assets/be-vietnam-pro-vietnamese-500-normal-CfdwVo8-.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/be-vietnam-pro-latin-ext-500-normal-h0Fp6aX0.woff2) format("woff2"),url(/assets/be-vietnam-pro-latin-ext-500-normal-CK0UkkKf.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/be-vietnam-pro-latin-500-normal-B6LVzGNe.woff2) format("woff2"),url(/assets/be-vietnam-pro-latin-500-normal-BJkVuMHw.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/be-vietnam-pro-vietnamese-600-normal-nyU-ZL2p.woff2) format("woff2"),url(/assets/be-vietnam-pro-vietnamese-600-normal-DkpCIyan.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/be-vietnam-pro-latin-ext-600-normal-BNd8euf0.woff2) format("woff2"),url(/assets/be-vietnam-pro-latin-ext-600-normal-BeUwKxhG.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/be-vietnam-pro-latin-600-normal-BZDkUTrt.woff2) format("woff2"),url(/assets/be-vietnam-pro-latin-600-normal-5IO4e7bK.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/be-vietnam-pro-vietnamese-700-normal-Csr0PCuG.woff2) format("woff2"),url(/assets/be-vietnam-pro-vietnamese-700-normal-By_5yT39.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/be-vietnam-pro-latin-ext-700-normal-C8_gqRu2.woff2) format("woff2"),url(/assets/be-vietnam-pro-latin-ext-700-normal-4Hjo2OtD.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/be-vietnam-pro-latin-700-normal-DlW1Zbsh.woff2) format("woff2"),url(/assets/be-vietnam-pro-latin-700-normal-C2EtzaOi.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/be-vietnam-pro-vietnamese-800-normal-D4LFh2W4.woff2) format("woff2"),url(/assets/be-vietnam-pro-vietnamese-800-normal-CA0HL1e4.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/be-vietnam-pro-latin-ext-800-normal-GEpNgheG.woff2) format("woff2"),url(/assets/be-vietnam-pro-latin-ext-800-normal-BvOXQlBN.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/be-vietnam-pro-latin-800-normal-BpHZASpI.woff2) format("woff2"),url(/assets/be-vietnam-pro-latin-800-normal-Cwp5p0gU.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--primary: #2563eb;--primary-dark: #1d4ed8;--primary-light: #3b82f6;--heading: #0f1b31;--text: #334155;--muted: #6b7280;--surface: #ffffff;--bg: #f4f6f9;--border: #e3e8ef;--border-strong: #d4dae4;--divider: #e8ebf0;--heading-bg: #eef2f8;--main-bg: #d6deec;--btn-save-from: #3b82f6;--btn-save-to: #1d4ed8;--btn-danger-from: #f87171;--btn-danger-to: #dc2626;--btn-neutral-from: #8a929e;--btn-neutral-to: #4b5563;--btn-excel-from: #34d399;--btn-excel-to: #059669;--sidebar-top: #2563eb;--sidebar-mid: #1b40b8;--sidebar-bot: #122a73;--on-dark: #ffffff;--on-dark-dim: rgba(255, 255, 255, .72);--danger: #dc2626;--danger-bg: #fef2f2;--danger-border: #fecaca;--row-hover-bg: #eef4ff;--flash-from: rgba(37, 99, 235, .22);--skeleton-base: #e9edf3;--skeleton-shine: #f6f8fb;--ease-liquid: cubic-bezier(.22, 1, .36, 1);--radius: 10px;--shadow: 0 1px 3px rgba(16, 24, 40, .08), 0 1px 2px rgba(16, 24, 40, .04);--shadow-card: 0 6px 20px rgba(16, 24, 40, .1), 0 1px 3px rgba(16, 24, 40, .06);--bar-h: 56px;--font-sans: "Be Vietnam Pro", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;font-family:var(--font-sans)}*{box-sizing:border-box}button,input,select,textarea{font-family:inherit}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--text);font-size:15px;line-height:1.5}.auth-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}.auth-card{width:100%;max-width:400px;padding:32px}.auth-logo{display:flex;align-items:center;justify-content:center;gap:12px;margin-bottom:24px}.auth-logo img{width:48px;height:48px;border-radius:11px}.auth-logo-text{font-size:22px;font-weight:800;letter-spacing:-.01em;color:var(--primary)}.field{display:block;margin-bottom:16px}.field span{display:block;font-size:13px;font-weight:600;margin-bottom:6px}.field input{width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:8px;font-size:15px;outline:none}.field input:focus{border-color:var(--primary);box-shadow:0 0 0 3px #2563eb26}.input-wrap{position:relative}.input-wrap input{padding-right:42px}.pass-toggle{position:absolute;right:6px;top:50%;transform:translateY(-50%);display:flex;align-items:center;background:none;border:none;padding:6px;cursor:pointer;color:var(--muted)}.pass-toggle:hover{color:var(--text)}.btn{border:1px solid transparent;border-radius:8px;padding:10px 16px;font-size:14px;font-weight:600;cursor:pointer;transition:background .15s,border-color .15s,color .15s}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary{background:var(--primary);color:var(--on-dark)}.btn-primary:hover:not(:disabled){background:var(--primary-dark)}.btn-block{width:100%}.link-btn{background:none;border:none;color:var(--primary);font-size:14px;cursor:pointer;padding:4px 6px}.link-btn:hover{text-decoration:underline}.alert{border-radius:8px;padding:10px 14px;font-size:14px;margin-bottom:14px}.alert-error{background:var(--danger-bg);color:var(--danger);border:1px solid var(--danger-border)}.demo-hint{margin-top:20px;padding:12px 14px;background:#f8fafc;border:1px dashed var(--border);border-radius:8px;display:flex;flex-direction:column;gap:2px;font-size:13px;color:var(--muted)}.demo-hint strong{color:var(--text)}.demo-hint .link-btn{align-self:flex-start;padding-left:0}.ant-layout-sider{background:linear-gradient(180deg,var(--sidebar-top) 0%,var(--sidebar-mid) 52%,var(--sidebar-bot) 100%)!important}.ant-layout-sider-trigger{background:#0000002e!important}.crm-side{display:flex;flex-direction:column;height:100%}.crm-deco{display:none;position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none}.theme-deco .crm-deco{display:block;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='240' height='150'><g fill='none' stroke='white' stroke-opacity='0.16' stroke-width='1.2' stroke-linecap='round'><path d='M0 150 C 55 140 95 108 132 68 C 162 36 202 18 240 8'/><path d='M72 116 C 86 106 93 94 99 80'/><path d='M138 58 C 149 52 163 48 173 40'/></g><g fill='white' fill-opacity='0.28'><g transform='translate(99 80)'><circle cy='-4' r='2'/><circle cx='3.8' cy='-1.2' r='2'/><circle cx='2.35' cy='3.2' r='2'/><circle cx='-2.35' cy='3.2' r='2'/><circle cx='-3.8' cy='-1.2' r='2'/><circle r='1.3'/></g><g transform='translate(132 68) scale(1.2)'><circle cy='-4' r='2'/><circle cx='3.8' cy='-1.2' r='2'/><circle cx='2.35' cy='3.2' r='2'/><circle cx='-2.35' cy='3.2' r='2'/><circle cx='-3.8' cy='-1.2' r='2'/><circle r='1.3'/></g><g transform='translate(173 40) scale(0.9)'><circle cy='-4' r='2'/><circle cx='3.8' cy='-1.2' r='2'/><circle cx='2.35' cy='3.2' r='2'/><circle cx='-2.35' cy='3.2' r='2'/><circle cx='-3.8' cy='-1.2' r='2'/><circle r='1.3'/></g></g></svg>");background-repeat:no-repeat;background-position:left bottom;background-size:240px 150px}.crm-petal{position:absolute;top:-18px;width:11px;height:13px;opacity:0;pointer-events:none;background:center / contain no-repeat url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='14'><path d='M6 0 C 9.6 3 9.6 9.4 6 14 C 2.4 9.4 2.4 3 6 0 Z' fill='white'/></svg>");animation:petal-fall linear infinite;will-change:transform,opacity}.crm-petal:nth-child(1){left:14%;animation-duration:11s;animation-delay:0s;--drift: 10px}.crm-petal:nth-child(2){left:32%;animation-duration:14s;animation-delay:-5s;--drift: -8px}.crm-petal:nth-child(3){left:50%;animation-duration:12s;animation-delay:-8s;--drift: 14px}.crm-petal:nth-child(4){left:66%;animation-duration:15s;animation-delay:-3s;--drift: -12px}.crm-petal:nth-child(5){left:80%;animation-duration:13s;animation-delay:-10s;--drift: 8px}.crm-petal:nth-child(6){left:24%;animation-duration:16s;animation-delay:-13s;--drift: -6px}.crm-flower{position:absolute;top:-22px;width:15px;height:15px;opacity:0;pointer-events:none;--fall-op: .42;background:center / contain no-repeat url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='-8 -8 16 16'><g fill='white'><circle cy='-4' r='2.2'/><circle cx='3.8' cy='-1.2' r='2.2'/><circle cx='2.35' cy='3.2' r='2.2'/><circle cx='-2.35' cy='3.2' r='2.2'/><circle cx='-3.8' cy='-1.2' r='2.2'/><circle r='1.5'/></g></svg>");animation:petal-fall linear infinite;will-change:transform,opacity}.crm-flower:nth-child(7){left:20%;animation-duration:19s;animation-delay:-2s;--drift: -14px}.crm-flower:nth-child(8){left:56%;animation-duration:22s;animation-delay:-12s;--drift: 16px}.crm-flower:nth-child(9){left:76%;animation-duration:18s;animation-delay:-7s;--drift: -10px}@keyframes petal-fall{0%{transform:translateZ(0) rotate(0);opacity:0}12%{opacity:var(--fall-op, .5)}88%{opacity:var(--fall-op, .5)}to{transform:translate3d(var(--drift, 10px),108vh,0) rotate(300deg);opacity:0}}@media(prefers-reduced-motion:reduce){.crm-petal,.crm-flower{animation:none;opacity:0}}.crm-logo{position:relative;z-index:1}.crm-logout{z-index:1}.crm-logo{height:60px;display:flex;align-items:center;gap:10px;padding:0 16px;overflow:hidden}.crm-logo img{width:32px;height:32px;border-radius:8px;flex:none}.crm-logo span{font-weight:800;font-size:16px;color:var(--on-dark);white-space:nowrap}.ant-layout-sider-collapsed .crm-logo{justify-content:center;padding:0}.crm-nav{position:relative;padding:14px 12px;display:flex;flex-direction:column;gap:8px}.crm-nav-indicator{position:absolute;left:12px;right:12px;top:14px;height:46px;border-radius:12px;background:#ffffff2e;box-shadow:0 6px 18px #2563eb73,inset 0 0 0 1px #ffffff24;transition:transform .5s cubic-bezier(.34,1.56,.64,1);pointer-events:none}.crm-nav-item{position:relative;z-index:1;height:46px;display:flex;align-items:center;gap:12px;padding:0 14px;border:none;background:none;border-radius:12px;cursor:pointer;color:var(--on-dark-dim);font-family:inherit;font-size:14px;font-weight:600;white-space:nowrap;transition:color .2s}.crm-nav-item:hover,.crm-nav-item.active{color:var(--on-dark)}.crm-nav-ico{font-size:16px;display:flex}.ant-layout-sider-collapsed .crm-nav-item{justify-content:center;padding:0}.ant-layout-sider-collapsed .crm-nav-indicator{left:16px;right:16px}.crm-logout{position:absolute;left:0;right:0;bottom:48px;width:100%;height:48px;display:flex;align-items:center;gap:12px;padding:0 18px;border:none;border-top:1px solid rgba(255,255,255,.12);cursor:pointer;background:linear-gradient(135deg,var(--primary-light) 0%,var(--primary-dark) 100%);color:var(--on-dark);font-family:inherit;font-size:14px;font-weight:600;white-space:nowrap;transition:filter .2s}.crm-logout:hover{filter:brightness(1.08)}.ant-layout-sider-collapsed .crm-logout{justify-content:center;padding:0}.crm-header{background:var(--surface)!important;padding:0 24px!important;display:flex;align-items:center;justify-content:space-between;box-shadow:0 1px 2px #1018280f;border-bottom:1px solid var(--divider)}.crm-header-title{font-size:16px;font-weight:700;color:var(--heading)}.crm-header-right{display:inline-flex;align-items:center;gap:14px}.crm-icon-btn{border:none;background:transparent;cursor:pointer;width:34px;height:34px;border-radius:9px;display:inline-flex;align-items:center;justify-content:center;color:var(--muted);font-size:17px;transition:background .15s,color .15s}.crm-icon-btn:hover{background:var(--heading-bg);color:var(--primary)}.notif-popover .ant-popover-inner{padding:0!important}.notif-panel{width:340px}.notif-head{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border-bottom:1px solid var(--divider)}.notif-list{max-height:380px;overflow-y:auto}.notif-item{padding:10px 14px!important;cursor:pointer;transition:background .15s}.notif-item:hover{background:var(--row-hover-bg)}.notif-item.unread{background:color-mix(in srgb,var(--primary) 7%,transparent)}.notif-title{font-weight:600;color:var(--heading);font-size:13.5px}.notif-item.unread .notif-title:before{content:"";display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--primary);margin-right:7px;vertical-align:middle}.notif-body{color:var(--text);font-size:12.5px;margin-top:2px}.notif-time{color:var(--muted);font-size:11.5px;margin-top:3px}.theme-label{font-weight:600;color:var(--heading);font-size:13px;margin-bottom:12px}.theme-presets{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.theme-preset{border:1.5px solid var(--border);border-radius:12px;background:var(--surface);padding:8px;cursor:pointer;text-align:left;display:flex;flex-direction:column;gap:8px;transition:border-color .15s,box-shadow .15s}.theme-preset:hover{border-color:var(--primary)}.theme-preset.active{border-color:var(--primary);box-shadow:0 0 0 3px #2563eb24}.theme-preview{display:flex;height:54px;border-radius:8px;overflow:hidden;border:1px solid var(--border)}.theme-preview-side{width:30%}.theme-preview-main{flex:1;position:relative}.theme-preview-bar{position:absolute;left:7px;right:7px;top:7px;height:10px;border-radius:3px}.theme-preview-btn{position:absolute;left:7px;bottom:7px;width:36px;height:10px;border-radius:3px}.theme-preset-label{font-size:12.5px;color:var(--text);font-weight:500}.theme-rows{display:flex;flex-direction:column}.theme-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 2px;border-bottom:1px solid var(--divider)}.theme-row:last-child{border-bottom:none}.theme-row-label{color:var(--text);font-size:13px}.theme-row-ctrl{display:inline-flex;align-items:center;gap:10px}.theme-row-code{color:var(--muted);font-size:12px}.theme-footer{margin-top:20px;display:flex;align-items:center;gap:12px;flex-wrap:wrap}.theme-hint{color:var(--muted);font-size:12.5px}.crm-user{display:inline-flex;align-items:center;gap:8px;cursor:pointer;font-weight:600;color:var(--text);padding:6px 10px;border-radius:8px}.crm-user:hover{background:#f3f4f6}.crm-content{margin:20px;padding-bottom:var(--bar-h)}.ant-card{border:1px solid var(--border-strong)!important}.ant-card-head{background:var(--heading-bg)!important;border-bottom:1px solid var(--border-strong)!important}.ant-card-head-title{color:var(--heading)!important;font-weight:700}.crm-copyright,.list-footer{position:fixed;left:var(--sider-w, 220px);right:0;bottom:0;height:var(--bar-h);padding:0 24px;background:var(--surface);border-top:1px solid var(--divider);box-shadow:0 -1px 4px #1018280f;display:flex;align-items:center;transition:left .2s}.crm-copyright{justify-content:center;color:var(--muted);font-size:13px;z-index:10}.list-footer{justify-content:space-between;z-index:20}.list-footer-total{color:var(--muted);font-size:13px}.list-page{padding-bottom:8px}.list-card{overflow:hidden;box-shadow:var(--shadow-card)}.set-layout{display:flex;min-height:440px}.set-nav{position:relative;width:220px;flex:none;padding:12px;border-right:1px solid var(--border-strong);display:flex;flex-direction:column;gap:6px}.set-nav-indicator{position:absolute;left:12px;right:12px;top:12px;height:44px;border-radius:10px;background:linear-gradient(135deg,var(--primary-light),var(--primary-dark));box-shadow:0 6px 16px #2563eb59;transition:transform .45s cubic-bezier(.34,1.56,.64,1);pointer-events:none}.set-nav-item{position:relative;z-index:1;height:44px;display:flex;align-items:center;gap:10px;padding:0 14px;border:none;background:none;cursor:pointer;border-radius:10px;color:var(--text);font-family:inherit;font-size:14px;font-weight:600;text-align:left;white-space:nowrap;transition:color .2s}.set-nav-item.active{color:var(--on-dark)}.set-nav-item:not(.active):hover{color:var(--primary)}.set-nav-ico{font-size:16px;display:flex}.set-content{flex:1;min-width:0;padding:20px 24px}.app-btn.ant-btn{position:relative;overflow:hidden;border:none!important;color:var(--on-dark)!important;font-weight:600;box-shadow:0 2px 6px #10182824;transition:width .35s cubic-bezier(.4,0,.2,1),border-radius .3s,filter .15s}.app-btn.ant-btn:hover:not(:disabled){color:var(--on-dark)!important;filter:brightness(1.08)}.app-btn.ant-btn:disabled{opacity:.55;filter:grayscale(.2)}.app-btn-save{background:linear-gradient(135deg,var(--btn-save-from),var(--btn-save-to))!important}.app-btn-danger{background:linear-gradient(135deg,var(--btn-danger-from),var(--btn-danger-to))!important}.app-btn-neutral{background:linear-gradient(135deg,var(--btn-neutral-from),var(--btn-neutral-to))!important}.app-btn-excel{background:linear-gradient(135deg,var(--btn-excel-from),var(--btn-excel-to))!important}.app-btn-label{display:inline-flex;align-items:center;gap:8px;transition:opacity .2s}.app-btn-spin,.app-btn-check{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none}.app-btn-spin{font-size:18px}.app-btn-check{font-size:20px;transform:scale(0);transition:transform .28s cubic-bezier(.34,1.56,.64,1),opacity .2s}.app-btn.app-btn--circle{border-radius:50%!important;padding:0!important;min-width:0!important}.app-btn--circle .app-btn-label{opacity:0}.app-btn--loading .app-btn-spin{opacity:1}.app-btn--success .app-btn-check{opacity:1;transform:scale(1)}.app-btn--circle{margin-left:auto;margin-right:auto}.ff{position:relative}.ff-input{width:100%;height:48px;padding:0 14px;border:1.5px solid var(--border-strong);border-radius:10px;font-family:inherit;font-size:15px;color:var(--ink);background:var(--surface);outline:none;transition:border-color .18s,box-shadow .18s}.ff--has-eye .ff-input{padding-right:42px}.ff--focus .ff-input{border-color:var(--primary);box-shadow:0 0 0 3px #2563eb24}.ff--error .ff-input{border-color:var(--danger)!important}.ff--error.ff--focus .ff-input{box-shadow:0 0 0 3px #dc262624}.ff--disabled .ff-input{background:#f3f4f6;color:var(--muted);cursor:not-allowed}.ff-label{position:absolute;left:11px;top:50%;transform:translateY(-50%);padding:0 5px;color:var(--muted);font-size:15px;pointer-events:none;background:transparent;max-width:calc(100% - 22px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:top .16s ease,transform .16s ease,font-size .16s ease,color .16s}.ff--float .ff-label{top:0;font-size:12px;background:var(--surface)}.ff--float.ff--focus .ff-label{color:var(--primary)}.ff--error .ff-label{color:var(--danger)!important}.ff-eye{position:absolute;right:8px;top:50%;transform:translateY(-50%);display:flex;align-items:center;padding:6px;border:none;background:none;cursor:pointer;color:var(--muted)}.ff-eye:hover{color:var(--text)}.ff-select.ant-select{width:100%}.ff-select{--ant-select-height: 48px !important}.ff-select .ant-select-selector{border-radius:10px!important;border:1.5px solid var(--border-strong)!important}.ff-select.ant-select-focused:not(.ant-select-disabled) .ant-select-selector{border-color:var(--primary)!important;box-shadow:0 0 0 3px #2563eb24!important}.atbl .ant-table-tbody>tr.ant-table-row{transition:background-color .16s ease,box-shadow .16s ease}.atbl .ant-table-tbody>tr.ant-table-row:hover>td{background:var(--row-hover-bg)!important}@keyframes tbl-row-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.atbl--enter .ant-table-tbody>tr.ant-table-row{opacity:0;animation:tbl-row-in .42s var(--ease-liquid) forwards}.atbl--enter .ant-table-tbody>tr.ant-table-row:nth-child(1){animation-delay:0s}.atbl--enter .ant-table-tbody>tr.ant-table-row:nth-child(2){animation-delay:.03s}.atbl--enter .ant-table-tbody>tr.ant-table-row:nth-child(3){animation-delay:.06s}.atbl--enter .ant-table-tbody>tr.ant-table-row:nth-child(4){animation-delay:.09s}.atbl--enter .ant-table-tbody>tr.ant-table-row:nth-child(5){animation-delay:.12s}.atbl--enter .ant-table-tbody>tr.ant-table-row:nth-child(6){animation-delay:.15s}.atbl--enter .ant-table-tbody>tr.ant-table-row:nth-child(7){animation-delay:.18s}.atbl--enter .ant-table-tbody>tr.ant-table-row:nth-child(8){animation-delay:.21s}.atbl--enter .ant-table-tbody>tr.ant-table-row:nth-child(9){animation-delay:.24s}.atbl--enter .ant-table-tbody>tr.ant-table-row:nth-child(10){animation-delay:.27s}.atbl--enter .ant-table-tbody>tr.ant-table-row:nth-child(11){animation-delay:.3s}.atbl--enter .ant-table-tbody>tr.ant-table-row:nth-child(n+12){animation-delay:.33s}@keyframes tbl-shimmer{0%{background-position:-420px 0}to{background-position:420px 0}}.atbl-skeleton{width:100%}.atbl-skeleton-row{display:flex;gap:16px;padding:14px 16px;border-bottom:1px solid var(--border)}.atbl-skeleton-cell{height:14px;flex:1;border-radius:6px;background:var(--skeleton-base);background-image:linear-gradient(90deg,var(--skeleton-base) 0%,var(--skeleton-shine) 50%,var(--skeleton-base) 100%);background-size:420px 100%;background-repeat:no-repeat;animation:tbl-shimmer 1.2s ease-in-out infinite}@keyframes tbl-flash{0%{background:var(--flash-from)}to{background:transparent}}.atbl .ant-table-tbody>tr.atbl-flash>td{animation:tbl-flash 1.5s ease-out}@media(prefers-reduced-motion:reduce){.atbl--enter .ant-table-tbody>tr.ant-table-row{opacity:1;animation:none}.atbl-skeleton-cell{animation:none}.atbl .ant-table-tbody>tr.atbl-flash>td{animation:none}}.perm-toolbar{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:16px}.perm-modal-title{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-right:24px}.perm-modal-title>span{font-weight:600}.perm-modal-title .ant-checkbox-wrapper{font-weight:400}.perm-groups{display:flex;flex-direction:column;gap:18px}.perm-group-title{font-weight:600;color:var(--heading);font-size:13px;padding-bottom:6px;margin-bottom:8px;border-bottom:1px solid var(--divider)}.perm-item{display:flex;align-items:center;gap:10px;padding:6px 4px;border-radius:8px;cursor:pointer;transition:background .15s}.perm-item:hover{background:var(--row-hover-bg)}.assign-block{border:1px solid var(--border);border-radius:var(--radius);padding:14px;margin-top:4px}.assign-title{font-weight:600;color:var(--heading);margin-bottom:10px;font-size:14px}.assign-empty{color:var(--muted);font-size:13px;margin-bottom:10px}.assign-row{display:flex;align-items:center;gap:10px;margin-bottom:12px}.assign-del{flex:0 0 auto;border:none;background:none;cursor:pointer;color:var(--muted);display:inline-flex;padding:8px;border-radius:8px;transition:color .15s,background .15s}.assign-del:hover{color:var(--danger);background:var(--danger-bg)}
