@font-face{font-family:Fira Sans;font-style:normal;font-display:swap;font-weight:300;src:url(/assets/fira-sans-cyrillic-ext-300-normal-c3052e66.woff2) format("woff2"),url(/assets/fira-sans-cyrillic-ext-300-normal-f9cd6dcf.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:Fira Sans;font-style:normal;font-display:swap;font-weight:300;src:url(/assets/fira-sans-cyrillic-300-normal-0ef47999.woff2) format("woff2"),url(/assets/fira-sans-cyrillic-300-normal-c9c6ad9e.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Fira Sans;font-style:normal;font-display:swap;font-weight:300;src:url(/assets/fira-sans-greek-ext-300-normal-5dca21a7.woff2) format("woff2"),url(/assets/fira-sans-greek-ext-300-normal-4ef50f37.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:Fira Sans;font-style:normal;font-display:swap;font-weight:300;src:url(/assets/fira-sans-greek-300-normal-5b037407.woff2) format("woff2"),url(/assets/fira-sans-greek-300-normal-7eb54cb5.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:Fira Sans;font-style:normal;font-display:swap;font-weight:300;src:url(/assets/fira-sans-vietnamese-300-normal-e0fb0ce4.woff2) format("woff2"),url(/assets/fira-sans-vietnamese-300-normal-8e19f7eb.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:Fira Sans;font-style:normal;font-display:swap;font-weight:300;src:url(/assets/fira-sans-latin-ext-300-normal-3494f72c.woff2) format("woff2"),url(/assets/fira-sans-latin-ext-300-normal-25590024.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:Fira Sans;font-style:normal;font-display:swap;font-weight:300;src:url(/assets/fira-sans-latin-300-normal-868c1d14.woff2) format("woff2"),url(/assets/fira-sans-latin-300-normal-9008bc65.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:Fira Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/fira-sans-cyrillic-ext-400-normal-34d63f54.woff2) format("woff2"),url(/assets/fira-sans-cyrillic-ext-400-normal-5ed4fc62.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:Fira Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/fira-sans-cyrillic-400-normal-2ce9f91c.woff2) format("woff2"),url(/assets/fira-sans-cyrillic-400-normal-285a5707.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Fira Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/fira-sans-greek-ext-400-normal-a7d3e976.woff2) format("woff2"),url(/assets/fira-sans-greek-ext-400-normal-4274da64.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:Fira Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/fira-sans-greek-400-normal-d4801a13.woff2) format("woff2"),url(/assets/fira-sans-greek-400-normal-9961f91e.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:Fira Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/fira-sans-vietnamese-400-normal-bce982a2.woff2) format("woff2"),url(/assets/fira-sans-vietnamese-400-normal-b6a5a9f7.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:Fira Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/fira-sans-latin-ext-400-normal-ed4d0b73.woff2) format("woff2"),url(/assets/fira-sans-latin-ext-400-normal-9d084546.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:Fira Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/fira-sans-latin-400-normal-3e38d8c0.woff2) format("woff2"),url(/assets/fira-sans-latin-400-normal-6c9caf93.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:Fira Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/fira-sans-cyrillic-ext-500-normal-d952f681.woff2) format("woff2"),url(/assets/fira-sans-cyrillic-ext-500-normal-89cf14d9.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:Fira Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/fira-sans-cyrillic-500-normal-7288103d.woff2) format("woff2"),url(/assets/fira-sans-cyrillic-500-normal-8f3d3f7f.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Fira Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/fira-sans-greek-ext-500-normal-2701d2dd.woff2) format("woff2"),url(/assets/fira-sans-greek-ext-500-normal-6c2dab97.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:Fira Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/fira-sans-greek-500-normal-13638eba.woff2) format("woff2"),url(/assets/fira-sans-greek-500-normal-0397126b.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:Fira Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/fira-sans-vietnamese-500-normal-a6fe823f.woff2) format("woff2"),url(/assets/fira-sans-vietnamese-500-normal-4916f2e6.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:Fira Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/fira-sans-latin-ext-500-normal-630d057d.woff2) format("woff2"),url(/assets/fira-sans-latin-ext-500-normal-71634a7b.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:Fira Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/fira-sans-latin-500-normal-88d3e420.woff2) format("woff2"),url(/assets/fira-sans-latin-500-normal-8edde31b.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:Fira Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/fira-sans-cyrillic-ext-600-normal-75e26ed6.woff2) format("woff2"),url(/assets/fira-sans-cyrillic-ext-600-normal-1c603158.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:Fira Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/fira-sans-cyrillic-600-normal-7aa1fbcb.woff2) format("woff2"),url(/assets/fira-sans-cyrillic-600-normal-2ef6325b.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Fira Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/fira-sans-greek-ext-600-normal-26f3a216.woff2) format("woff2"),url(/assets/fira-sans-greek-ext-600-normal-a4a27558.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:Fira Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/fira-sans-greek-600-normal-2c896935.woff2) format("woff2"),url(/assets/fira-sans-greek-600-normal-8d50b708.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:Fira Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/fira-sans-vietnamese-600-normal-8103d55f.woff2) format("woff2"),url(/assets/fira-sans-vietnamese-600-normal-9fac9b25.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:Fira Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/fira-sans-latin-ext-600-normal-8d1b17f7.woff2) format("woff2"),url(/assets/fira-sans-latin-ext-600-normal-952a2893.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:Fira Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/fira-sans-latin-600-normal-55e09735.woff2) format("woff2"),url(/assets/fira-sans-latin-600-normal-a164435e.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:Fira Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/fira-sans-cyrillic-ext-700-normal-4abb7e17.woff2) format("woff2"),url(/assets/fira-sans-cyrillic-ext-700-normal-af40b8c8.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:Fira Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/fira-sans-cyrillic-700-normal-c3d7b0dd.woff2) format("woff2"),url(/assets/fira-sans-cyrillic-700-normal-0230fb53.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Fira Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/fira-sans-greek-ext-700-normal-c9794e98.woff2) format("woff2"),url(/assets/fira-sans-greek-ext-700-normal-701fd1ca.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:Fira Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/fira-sans-greek-700-normal-8e3f41fe.woff2) format("woff2"),url(/assets/fira-sans-greek-700-normal-6cb4174b.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:Fira Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/fira-sans-vietnamese-700-normal-aa39818a.woff2) format("woff2"),url(/assets/fira-sans-vietnamese-700-normal-dcbd1d92.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:Fira Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/fira-sans-latin-ext-700-normal-9ff55b17.woff2) format("woff2"),url(/assets/fira-sans-latin-ext-700-normal-02156c76.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:Fira Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/fira-sans-latin-700-normal-c753d715.woff2) format("woff2"),url(/assets/fira-sans-latin-700-normal-285307f2.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:Fira Sans;font-style:italic;font-display:swap;font-weight:700;src:url(/assets/fira-sans-cyrillic-ext-700-italic-8a6fd8a1.woff2) format("woff2"),url(/assets/fira-sans-cyrillic-ext-700-italic-ae231e4e.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:Fira Sans;font-style:italic;font-display:swap;font-weight:700;src:url(/assets/fira-sans-cyrillic-700-italic-8c3ce170.woff2) format("woff2"),url(/assets/fira-sans-cyrillic-700-italic-e35fdcb6.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Fira Sans;font-style:italic;font-display:swap;font-weight:700;src:url(/assets/fira-sans-greek-ext-700-italic-5261c429.woff2) format("woff2"),url(/assets/fira-sans-greek-ext-700-italic-0663b659.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:Fira Sans;font-style:italic;font-display:swap;font-weight:700;src:url(/assets/fira-sans-greek-700-italic-4b87df9e.woff2) format("woff2"),url(/assets/fira-sans-greek-700-italic-e7d15b45.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:Fira Sans;font-style:italic;font-display:swap;font-weight:700;src:url(/assets/fira-sans-vietnamese-700-italic-b454a5bd.woff2) format("woff2"),url(/assets/fira-sans-vietnamese-700-italic-bdfd31a2.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:Fira Sans;font-style:italic;font-display:swap;font-weight:700;src:url(/assets/fira-sans-latin-ext-700-italic-b7e29281.woff2) format("woff2"),url(/assets/fira-sans-latin-ext-700-italic-64772910.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:Fira Sans;font-style:italic;font-display:swap;font-weight:700;src:url(/assets/fira-sans-latin-700-italic-f1602cdc.woff2) format("woff2"),url(/assets/fira-sans-latin-700-italic-9fe79544.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:Fira Code;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/fira-code-cyrillic-ext-400-normal-628351d0.woff2) format("woff2"),url(/assets/fira-code-cyrillic-ext-400-normal-230cd81d.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:Fira Code;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/fira-code-cyrillic-400-normal-2a8f07c0.woff2) format("woff2"),url(/assets/fira-code-cyrillic-400-normal-7a60615c.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Fira Code;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/fira-code-greek-ext-400-normal-2128f7ef.woff2) format("woff2"),url(/assets/fira-code-greek-ext-400-normal-b6486de9.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:Fira Code;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/fira-code-greek-400-normal-8b9d7f0d.woff2) format("woff2"),url(/assets/fira-code-greek-400-normal-3563a6ac.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:Fira Code;font-style:normal;font-display:swap;font-weight:400;src:url(data:font/woff2;base64,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) format("woff2"),url(/assets/fira-code-symbols2-400-normal-8bbf57e5.woff) format("woff");unicode-range:U+2000-2001,U+2004-2008,U+200A,U+23B8-23BD,U+2500-259F}@font-face{font-family:Fira Code;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/fira-code-latin-ext-400-normal-587dcb11.woff2) format("woff2"),url(/assets/fira-code-latin-ext-400-normal-5de10f83.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:Fira Code;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/fira-code-latin-400-normal-6dc9da17.woff2) format("woff2"),url(/assets/fira-code-latin-400-normal-9c30afe9.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:Fira Code;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/fira-code-cyrillic-ext-500-normal-caec0c99.woff2) format("woff2"),url(/assets/fira-code-cyrillic-ext-500-normal-87dc12de.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:Fira Code;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/fira-code-cyrillic-500-normal-80009ffb.woff2) format("woff2"),url(/assets/fira-code-cyrillic-500-normal-dc29ec98.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Fira Code;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/fira-code-greek-ext-500-normal-47100930.woff2) format("woff2"),url(/assets/fira-code-greek-ext-500-normal-91338d3b.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:Fira Code;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/fira-code-greek-500-normal-126ef893.woff2) format("woff2"),url(/assets/fira-code-greek-500-normal-7367d68e.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:Fira Code;font-style:normal;font-display:swap;font-weight:500;src:url(data:font/woff2;base64,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) format("woff2"),url(/assets/fira-code-symbols2-500-normal-5c2ccfdd.woff) format("woff");unicode-range:U+2000-2001,U+2004-2008,U+200A,U+23B8-23BD,U+2500-259F}@font-face{font-family:Fira Code;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/fira-code-latin-ext-500-normal-a9dded45.woff2) format("woff2"),url(/assets/fira-code-latin-ext-500-normal-837c66ca.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:Fira Code;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/fira-code-latin-500-normal-9e4da5ad.woff2) format("woff2"),url(/assets/fira-code-latin-500-normal-734de04f.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:Fira Code;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/fira-code-cyrillic-ext-600-normal-552d9d6a.woff2) format("woff2"),url(/assets/fira-code-cyrillic-ext-600-normal-5a6320ca.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:Fira Code;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/fira-code-cyrillic-600-normal-8398e437.woff2) format("woff2"),url(/assets/fira-code-cyrillic-600-normal-a38b199d.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Fira Code;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/fira-code-greek-ext-600-normal-05b92f01.woff2) format("woff2"),url(/assets/fira-code-greek-ext-600-normal-1355d560.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:Fira Code;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/fira-code-greek-600-normal-ac96309b.woff2) format("woff2"),url(/assets/fira-code-greek-600-normal-141a8318.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:Fira Code;font-style:normal;font-display:swap;font-weight:600;src:url(data:font/woff2;base64,d09GMgABAAAAAA3UABAAAAAANegAAA12AAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGhYbHhxiBmA/U1RBVCoAgx4RCArJNLMkC4JaAAE2AiQDgloEIAWEdgePIQwHG1soM5JTUqwRFZyHZf/H48YQwQ3Qqv0ksiXFrRGGzMYKjC2IRC0aIdi0gvDSPo1FS49PITYddiHWKz24uobR6m44ETRIeMjmGJGDDjcUaPt7+ptzV9H/Ul2KhvYbU8bD/++Pb59774c8qGJyBaPYoATXCcUKadoPfRhnVheeD+wv38chTk6UDtQgHtwW4m0prc43l5/S2t9fluQyvhteEoCDQljp3fdS6S4hASgTxtIlZ3vApm6mpYs2B5IFOiZCgFFAXdiFY/rvCvfguY1xjFmPKBD6wHZ7RyL/Sw7s+bqyRljYs1mjF0DECegO9G6BOvQPT9QPoNMe6FnBsamAh7RGF2PdX1Wri7A5VgwhGKKCRTgP+uq+KUL4DmXI63HJbuuk4mrt3+ybDaFkUDGSZISJjAKenu6Zzryt2UefNoDgpoMbBCPiWCK7n7joCH3kztiTZxypiz13Wpz9t3T68mZO8enCtPUIyUNKVMKy/9KG0oos7hStCtlktEN5hPfs+9P3K7nHdHGXS8gCXyErwiWGOITS8Tnme99coBmQhJCFQKNheYjVaycXwVagghBotMI4JrOpePehU5T99o9Ceb8jgUHV/0yhkvQ9rFbWJaxxH6MSbBrNSq3q01ow/ttL+ZcyDMrXmIPrOF56oj71Q22SvCNJOQt19ANg1ebBfiRAmemt+3dD/bH8ZQfc+HSgMsUQjGMIoV6gG4Fh5Mn9EgMBSUDULFcBCRndKPFvlY4V9EtCqddiXB+fH5iO2HhWly8gcmIWKDq3vvqE6q83pj7Ep3+81W7GEgH/RzQS9QTzCTTSOiFzSu6Q2BGJchuW8FVas4CngtcrjSqfnqnUCXuxLGDTF4N6IU8W+a37oFfD5NKqeTesuGqZXXn36JaNUjWLa0EPVvg43DO6sOXNHTsdj227dgxrN21Gv1YtOkyZ1Kdbl049eg1p0qzNuAmDRo0ZMGfWiIiomDg3F6d9Z47tEVKQ4jhwTkQtRY5sWTJlSJcmV4lSZVIRoqKBp0Bsh7gE9a+h5RqYA5YAivQFrpPrL6xPcOtzcBSyech1SIdOsTTLVFKujzSYFNH6wOjnWCAoccJCL3Qn93EeYzx2CTGuSZLS5nsSH871nPEJurlo2MUlqiaPXut9w8WCAcdUN4k114fdDg8laQrBCiPhRSjKS0voAhRdpcLrZq94ZAl3HuCiSVPl5ZVv9otix8EcQJ8vflW61sz/D/69C2t7tjz+nfwGh22M0S8a6b9H23r6O10H+FVHmf683J7LCAdx7JDGHjIy5oBDH3gNSoObTjXtSIdNii9SZWzqTZS+GfTKwlvMskibviO31aT81amirhcf1cXnzfAJyCf8Z5xScniZ4l966t/zKy9KuFoyNzXl8TCV7Iq6XrxXFz83wzv4I/lyOHVlCaiurWXSaBXVKsNSbtkDiwdrjV8cdAWcHwpupuwDbHcuuVCpQsRWvkCuUiWOJxPeMSs7t8L3KjexHapdCs3Ukl9ZyPXazzuKDTXtdNIpsDwTpXhI2KQAqKlOna4xWCgkqCLO5QJ58MJIjnN1BB3y9Q7LSWsbJc+Wp2HzJ8UivwBlj0mVBiwdBWJE0mVOp4u6JaDCIi0UDopoC6ZzD+oGIvneRC4vFnysqIGfqbVCo0nRU73aFn3i1HuF6R+U6Bll6xcNDUY/KckBMXH4xgjzjlVFk2ru4CgBfEe18/eBGBXCUnNZWxYgaUULGA8UYykXjnwTO5fWrCSnPG269PUyiFqq5Es4gxtGlbGYudkMI30A6rXC9G8sakZZldRaHPPBkgJnIbN547SClRgbKBwEWV6lPF1KFnMGO5chnls3OZq8hZbBGebVxjzmXJFLhbLXWEadmdc8K1XxxNOq4iza2vmcuAoWHT4UpCulJJp/Hw/9DBvDxqH7rsq32TZiF84mvyj2U6w7og7Y04ywqS0dde3Vy1f23ZHU4pb4VzEYl9qhjrRu7+2PYFsv97W3Knr/D/FfiQ1SFeWWp0ROC14fyt+Qsd7O7TduQXUdmYH9Uwc0jOxtOVbnOdbzZdXLVrXbhvm5tMvxebfcdHGFm+qJ30eeLy2FEOHh3+GQtj+awy6zpFkQ0pF+OAxCngXV45duQhNFgkZbg3DclW3qrzVByHUdEpg9hJuN6amu6/dsItaR6X0S3r0wOznfvXklaeg++px86b5Zl8zqfvJAudoBOjW4mFu/tkkNUpK6MH1FmyD1vvR5w/6O7kJdrI0J6qNNUEqBYQ/TQTqs1iz2FhMLTZUPt7XusPfqp90hnLrNb5yoR36W8b8h7ELeJZM88pj+jo3539bl1dYsdMAT+7gboh3GuZu39cur79W50yzdXVr/2ff1SPhHf1aejTvDz8LdHeNNW6hrCOpfeleusxTffqh6o3fB6PmbZN2WLPjr95Mt60Yx0tDG0/mdLU/LAuuGoyVshAZCHCE6u6oO4uNKf3jLd5jJzLioYjo35x5kJoRe2AXNqlOXQjOoo6vq4PL4AIGuSoxcb/aHqdfINcOk1bjx9U2bjNMwbClTWXVRIiUc6XZuZvTYQDkb9p+xOQ7+yS+F6mBcCPYM7WVwrhneWfVVpy7jM3SXZOku2j+yTZpV8T69cjy9u7oG2d2sIgExqug8Vgq3B/MVOuO8JCvzrexo0avGHw+SMdHR++ABSGxHVWIN/4ozsO8CywH2oGwx/xy1ccc4ajlT9jTARrA3cL7MyFNlWu7imSwcNUL4ZY/cM18TOQdiSXFfKS/tUsIjWrwVX3mJLQt0HyEOaQAuObh1F/9wp/CbMvCFVCEGgENBQNeYlZ5kou3Cu+bn/OhF7hFoPN9wlicKGH8KNwpAjKjMnoNW2oVtj5iGNmLKEmzw/Ru6Bo/gyDy6S+Si/exdkladLDf7S+T6dXH170Q1SKtpGZZ/42fNJuI+bhZ9mNx+zHiOdjqeTcOtLdxjZ7z8XJCvYu16VZyIeGy8mvk4YjFYhTb56EahsmRrpwltuqg4jzhyZOiIAdqcM7rFMkrM9BrYUcxlbHFeSnTlXr0/Ymm+oOtcVoDLbKSjRG58bP0hCFquV9HOfQoGNPtlN/fTZcarA7avUSS/5X1SX03MdLMnERo7cqf7gOY0gO1O326eNbvROJE3QVSmoaBILP/s1yqSky7SLUufzQMJMDEbLrgyu/1k9jkzbt6LjKG2XAdFupz81SYyge0xfcewKVbp5NLiz0Figrw4sJ1te7M6mbaf8TmEV1NGLd9wYkq8IOg25WNmCTlrvOT4qyIfMwvBZm4/Vuy/q2/fXf3v0zn8wvlVxfnqt4hcaNbU+qCbfvhzi/szmr3N/iJBNyhwmqcrB7czatp7fO1q0J2LgOMvu7bi8mna9evc0xbS8/Jr09N2uvGrKqYtKoYvEDJALXb8sd13Vh2m+KlVad0vLBLwhnpNPExai/Vln2Z9+bSRHv8ulT91w541Rm1vDWYeeTrppN0q9bf4NdeBd7lqLDx8uPT3tLzr3/5GA/qug7wU9E28apEYXWgwnnyYqUMpocKa1KB0rRzyocOexdrH3j1/CIS5KBi6LutvHCF4bUwhvKhB5GU96+ruNIIS7JEe21SLFhWJ1t3tqHlkoUxApBfFdTFAifi7Rpk1ZICncRYd8hRZLyfIAc0QyUWlTqQFhyBDdMQghyX+BAWyfT9X8kEFV+uDGuGGBkuYJAdrntxHbVgzzsvwTsCWivr9eoBFYxjeABHrlExAusTSYCpyyEigokRYczU7pNiJOh+JoNENxa7rRmadJdSNYUSD5tbLXepStMJes68PB+79BDHGRZmkIh47o0WL3Y1NkePdudPHi5u9rtPM8jMYbYqvVpRR0KlwabYcK1oMk4hddOveaugM7oy9XkE7ZFyL0G5mMfPZkqe7WxGcW+nFZj8su27CsdEtaohEa1Rmqnwvz719+oddcjxMthrFgsC/yVMww1UmZQqZEgo6dpx4z8KZlY2dC1du3MUg4hKSUtIysnLyCopKyiqqauoamlraOrp6+gaGRsYmpmbmFpZW1ja2dvbsO3DoyDEACAJDoDA4AolCY7A4PIFIIlOoNDqDyWJzuDy+QCgSS6QyuUKpUmu0Or3BaDJbrDa7w+lye7w+P4ygGE6QFM2wHC+IkkyuUKrUGq1ObzCazBarze5wutwery9QaWBBeHnsDIi6ktXNdk8e6srvT/mgZLYtyZAX5PMDJ/EHj5InA/pWvHDz/AuslFeDnSdcDx6Ji/2z3tpxG2Xf74U61DDJ+BM8U78B5yXixR8OKgIGPxTl9R5snkhksB+KEycu3ey6O0o0EW/0+cF+WAHjkVvP4sGRb++6CWfh+nSmWIRgtRmOt5jO5xI2GCmBlHBimBGJU9BlAMHmBDZzGVBICuDh5uLwsqHmRRc4gpuhBCrMrJhkiPlS54IgMzQUrhTEzZxQhpOASpVqlmMNSUm14YIsUkOhDItNY6hic7nUU/apQZZ1gddO0XAkzVzI6BlFSB5kzwk3xiKkkLgupKHhBpVTMvAcy1Pm0L1JUoHXVIFDirXL1MiRg68xhktUSIYtK4PH9qF4aTgzXnOSKQcerE0DRv/vgPhlIe4v//u5FD0A) format("woff2"),url(/assets/fira-code-symbols2-600-normal-6858657b.woff) format("woff");unicode-range:U+2000-2001,U+2004-2008,U+200A,U+23B8-23BD,U+2500-259F}@font-face{font-family:Fira Code;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/fira-code-latin-ext-600-normal-d23d9523.woff2) format("woff2"),url(/assets/fira-code-latin-ext-600-normal-b873e78b.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:Fira Code;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/fira-code-latin-600-normal-53bd904d.woff2) format("woff2"),url(/assets/fira-code-latin-600-normal-3d62226c.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:Fira Code;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/fira-code-cyrillic-ext-700-normal-d351333c.woff2) format("woff2"),url(/assets/fira-code-cyrillic-ext-700-normal-89fb4a33.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:Fira Code;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/fira-code-cyrillic-700-normal-f2cfd516.woff2) format("woff2"),url(/assets/fira-code-cyrillic-700-normal-5ca5bfff.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Fira Code;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/fira-code-greek-ext-700-normal-fb812d29.woff2) format("woff2"),url(/assets/fira-code-greek-ext-700-normal-d869decf.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:Fira Code;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/fira-code-greek-700-normal-deec93b6.woff2) format("woff2"),url(/assets/fira-code-greek-700-normal-e0f7fbeb.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:Fira Code;font-style:normal;font-display:swap;font-weight:700;src:url(data:font/woff2;base64,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) format("woff2"),url(/assets/fira-code-symbols2-700-normal-298dd626.woff) format("woff");unicode-range:U+2000-2001,U+2004-2008,U+200A,U+23B8-23BD,U+2500-259F}@font-face{font-family:Fira Code;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/fira-code-latin-ext-700-normal-f7a3c0d5.woff2) format("woff2"),url(/assets/fira-code-latin-ext-700-normal-624fad4c.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:Fira Code;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/fira-code-latin-700-normal-98730669.woff2) format("woff2"),url(/assets/fira-code-latin-700-normal-00306519.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:#1890ff;--bg:#f0f2f5;--card:#fff;--text:#333;--muted:#888;--border:#eee;--danger:#f5222d;--success:#52c41a;--warn:#fa8c16}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif;background:var(--bg);color:var(--text);min-height:100vh}.page-header{background:#1a1a2e;color:#fff;padding:12px 24px;display:flex;justify-content:space-between;align-items:center}.page-header h1{font-size:18px;font-weight:600}.page-header .nav-links{display:flex;gap:16px;font-size:13px}.page-header .nav-links a{color:#ffffffb3;text-decoration:none;padding:4px 8px;border-radius:4px;transition:all .15s}.page-header .nav-links a:hover,.page-header .nav-links a.active{color:#fff;background:rgba(255,255,255,.1)}.page-header .header-right{display:flex;align-items:center;gap:12px;font-size:13px}.page-header select{padding:5px 8px;border-radius:4px;border:1px solid rgba(255,255,255,.3);background:rgba(255,255,255,.1);color:#fff;font-size:12px}.page-header select option{color:#333;background:#fff}.main-wrap{padding:16px 24px;max-width:1400px;margin:0 auto}.cards{display:flex;gap:14px;margin-bottom:16px;flex-wrap:wrap}.card{background:var(--card);border-radius:8px;padding:16px 20px;flex:1;min-width:140px;box-shadow:0 1px 2px #0000000d;text-align:center}.card .lbl{font-size:12px;color:var(--muted);margin-bottom:6px}.card .val{font-size:24px;font-weight:700}.panel{background:var(--card);border-radius:8px;box-shadow:0 1px 2px #0000000d;overflow:hidden;margin-bottom:16px}.panel-head{padding:12px 20px;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center}.panel-head h4{font-size:14px;font-weight:600}.panel-body{overflow:auto}table{width:100%;border-collapse:collapse;font-size:13px}th,td{padding:9px 12px;text-align:left;border-bottom:1px solid #f5f5f5;white-space:nowrap}th{background:#fafafa;color:var(--muted);font-weight:600;font-size:11px;position:sticky;top:0;z-index:1}tr:hover{background:#f8f9ff}.btn{padding:6px 14px;border-radius:4px;border:none;cursor:pointer;font-size:13px;display:inline-flex;align-items:center;gap:4px}.btn-p{background:var(--primary);color:#fff}.btn-p:hover{opacity:.9}.btn-o{border:1px solid #d9d9d9;background:#fff;color:var(--text)}.btn-o:hover{border-color:var(--primary);color:var(--primary)}.btn-d{color:var(--danger);border:1px solid #d9d9d9;background:#fff}.btn-d:hover{border-color:var(--danger);background:#fff1f0}.btn-xs{padding:2px 8px;font-size:11px}.tag{padding:1px 8px;border-radius:3px;font-size:11px;font-weight:600}.tag-a{background:#e6f7ff;color:#1890ff}.tag-b{background:#fff7e6;color:#fa8c16}.tag-paid{background:#f6ffed;color:#52c41a}.tag-unpaid{background:#fff1f0;color:#f5222d}.tag-refund{background:#fff7e6;color:#fa8c16}.pct .bar{width:50px;height:5px;border-radius:3px;background:#e8e8e8;overflow:hidden}.pct .bar span{display:block;height:100%;border-radius:3px}.bg-green{background:#52c41a}.bg-blue{background:#1890ff}.bg-orange{background:#fa8c16}.bg-red{background:#f5222d}.pagination{padding:12px 20px;display:flex;justify-content:center;gap:6px;align-items:center;font-size:13px}.pagination button{padding:4px 10px;border:1px solid #d9d9d9;background:#fff;border-radius:4px;cursor:pointer}.pagination button:hover{border-color:var(--primary);color:var(--primary)}.pagination button:disabled{opacity:.4;cursor:default}.pagination .info{color:var(--muted);margin:0 8px}.filter-bar{display:flex;gap:10px;flex-wrap:wrap;align-items:center;padding:12px 20px;border-bottom:1px solid var(--border);background:#fafafa}.filter-bar .f-item{display:flex;align-items:center;gap:4px}.filter-bar .f-item span{font-size:12px;color:var(--muted)}.filter-bar select,.filter-bar input{padding:5px 10px;border:1px solid #d9d9d9;border-radius:4px;font-size:13px}.filter-bar select:focus,.filter-bar input:focus{outline:none;border-color:var(--primary)}.modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.35);z-index:999;display:none;justify-content:center;align-items:center}.modal-overlay.show{display:flex}.modal{background:#fff;border-radius:10px;width:520px;max-width:95vw;max-height:85vh;overflow:auto;box-shadow:0 8px 32px #0003}.modal-head{padding:16px 20px;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center}.modal-head h4{font-size:15px}.modal-close{background:none;border:none;font-size:20px;cursor:pointer;color:var(--muted)}.modal-body{padding:20px}.modal-body .field{margin-bottom:14px}.modal-body label{display:block;font-size:12px;color:var(--muted);margin-bottom:4px;font-weight:600}.modal-body input,.modal-body select,.modal-body textarea{width:100%;padding:7px 10px;border:1px solid #d9d9d9;border-radius:4px;font-size:13px}.modal-body textarea{resize:vertical;min-height:60px}.modal-body .f-select,.modal-body .f-input{width:auto}.chat-list{padding:0;max-height:520px;overflow:auto;background:#e8ecf1;border-radius:8px}.chat-group{display:flex;gap:10px;padding:8px 16px;align-items:flex-start}.chat-group:hover{background:rgba(0,0,0,.02)}.chat-avatar{width:36px;height:36px;border-radius:6px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:15px;font-weight:700;flex-shrink:0}.chat-sender{font-size:12px;color:#b0b0b0;margin-bottom:2px}.chat-bubble{display:inline-block;max-width:85%;margin-bottom:2px}.chat-text{background:#fff;padding:8px 12px;border-radius:4px 12px 12px 4px;font-size:14px;line-height:1.55;word-break:break-word;box-shadow:0 1px 2px #0000000d}.chat-media{background:#fff;padding:8px 12px;border-radius:4px 12px 12px 4px;font-size:14px;color:#888;box-shadow:0 1px 2px #0000000d}.chat-system{font-size:12px;color:#b0b0b0;padding:4px 0}.chat-time{font-size:10px;color:silver;margin-top:2px;padding-left:2px}.chat-list{padding:12px 0;max-height:520px;overflow:auto;background:#ededed;border-radius:8px}.chat-group{display:flex;gap:8px;padding:4px 14px;align-items:flex-start}.chat-avatar{width:36px;height:36px;border-radius:4px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:15px;font-weight:600;flex-shrink:0}.chat-bubble-wrap{flex:1;min-width:0}.chat-sender{font-size:11px;color:#b0b0b0;margin-bottom:2px;padding-left:4px}.chat-bubble{display:inline-block;max-width:78%;margin-bottom:2px;position:relative}.chat-text{position:relative;padding:9px 12px;font-size:15px;line-height:1.5;word-break:break-word;background:#fff;border-radius:4px 14px 14px 4px;box-shadow:0 1px 1px #0000000a}.chat-group.sent{justify-content:flex-end}.chat-group.sent .chat-sender{display:none}.chat-group.sent .chat-bubble-wrap{text-align:right}.chat-group.sent .chat-text{background:#95ec69;border-radius:14px 4px 14px 14px}.chat-text:before{content:"";position:absolute;top:10px;left:-6px;width:0;height:0;border-top:6px solid transparent;border-bottom:6px solid transparent;border-right:6px solid #fff}.chat-group:not(.sent) .chat-text:before{content:"";position:absolute;top:10px;left:-6px;width:0;height:0;border-top:6px solid transparent;border-bottom:6px solid transparent;border-right:6px solid #fff}.chat-group.sent .chat-text:before{content:"";position:absolute;top:10px;right:-6px;width:0;height:0;border-top:6px solid transparent;border-bottom:6px solid transparent;border-left:6px solid #95ec69}.chat-text:before{display:none}.chat-media{display:inline-block;padding:8px 14px;background:#fff;border-radius:12px;font-size:14px;color:#888;box-shadow:0 1px 1px #0000000a}.chat-system{font-size:12px;color:#b0b0b0;text-align:center;padding:6px 0}.chat-img{width:180px;height:180px;object-fit:cover;border-radius:8px;cursor:pointer;display:block;box-shadow:0 1px 2px #00000014}.chat-time{font-size:11px;color:#999;margin-top:3px;padding:0 4px}.chat-file{display:inline-block;padding:8px 14px;background:#fff;border-radius:8px;color:#576b95;text-decoration:none;font-size:13px;box-shadow:0 1px 1px #0000000a}.chat-file:hover{background:#f0f7ff}.chat-voice-btn{padding:7px 14px;background:#fff;border:none;border-radius:8px;cursor:pointer;font-size:14px;color:#333;box-shadow:0 1px 2px #0000000f;display:inline-flex;align-items:center;gap:6px}.chat-voice-btn:hover{background:#f5f5f5}.chat-voice-btn:before{content:"🔊";font-size:16px}.img-full-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background:rgba(0,0,0,.9);z-index:10000;display:flex;align-items:center;justify-content:center;cursor:pointer}.img-full{max-width:90vw;max-height:90vh;border-radius:4px;animation:imgIn .2s ease}@keyframes imgIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.modal-foot{padding:14px 20px;border-top:1px solid var(--border);display:flex;justify-content:flex-end;gap:8px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px 16px}.loading{text-align:center;padding:40px;color:var(--muted)}.empty{text-align:center;padding:40px;color:#bbb;font-size:13px}.link-name{color:var(--primary);cursor:pointer;font-weight:600}.link-name:hover{text-decoration:underline}.drawer-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.3);z-index:999;display:none}.drawer-overlay.show{display:block}.drawer{position:fixed;top:0;right:0;width:420px;max-width:100%;height:100%;background:#fff;z-index:1000;box-shadow:-2px 0 8px #00000026;transform:translate(100%);transition:transform .25s ease;display:flex;flex-direction:column}.drawer.open{transform:translate(0)}.drawer-head{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid #eee}.drawer-head h3{font-size:16px}.drawer-close{background:none;border:none;font-size:22px;cursor:pointer;color:#999;line-height:1}.drawer-body{flex:1;overflow:auto;padding:20px}.qc-cards{display:flex;gap:12px;padding:16px 20px;flex-wrap:wrap}.qc-card{flex:1;min-width:200px;padding:16px 20px;border-radius:10px;border-left:4px solid #ddd;cursor:pointer;transition:box-shadow .15s;display:flex;flex-direction:column;gap:6px}.qc-card:hover{box-shadow:0 2px 12px #0000001a}.qc-card-top{display:flex;justify-content:space-between;align-items:center}.qc-name{font-weight:600;font-size:15px}.qc-badge{padding:2px 10px;border-radius:10px;color:#fff;font-size:11px;font-weight:600}.qc-score{font-size:36px;font-weight:700;line-height:1}.qc-unit{font-size:16px;margin-left:2px;font-weight:500}.qc-meta{display:flex;gap:12px;font-size:12px;color:#888;flex-wrap:wrap}.badge{display:inline-block;padding:1px 8px;border-radius:3px;font-size:11px;font-weight:600;background:#f0f0f0;color:#999}.badge-green{background:#f6ffed;color:#52c41a}.badge-blue{background:#e6f7ff;color:#1890ff}.badge-orange{background:#fff7e6;color:#fa8c16}.badge-red{background:#fff1f0;color:#f5222d}.muted{color:var(--muted)}.center{text-align:center}.table-wrap{overflow-x:auto}.table-wrap table{width:100%;min-width:800px}code{padding:1px 5px;background:#f5f5f5;border-radius:3px;font-family:SF Mono,Monaco,monospace;font-size:12px;color:#d63384}.msg-row{padding:10px 0;border-bottom:1px solid #f0f0f0}.msg-row:last-child{border-bottom:none}.msg-meta{display:flex;align-items:center;gap:10px;font-size:12px;color:#999;margin-bottom:6px;flex-wrap:wrap}.msg-direction{font-weight:600;color:#666}.msg-users{color:#555}.msg-body{font-size:14px;line-height:1.6;white-space:pre-wrap;word-break:break-word}.empty-row{text-align:center;padding:32px 20px;color:#bbb;font-size:13px}.filter-group{display:flex;align-items:center;gap:4px}.f-select{padding:5px 10px;border:1px solid #d9d9d9;border-radius:4px;font-size:13px;background:#fff;width:auto;min-width:120px}.f-input{padding:5px 10px;border:1px solid #d9d9d9;border-radius:4px;font-size:13px;flex:1}.f-select:focus,.f-input:focus{outline:none;border-color:var(--primary)}@media (max-width:768px){.main-wrap{padding:12px}.cards{flex-direction:column}.form-grid{grid-template-columns:1fr}}:root{--primary: #1E40AF;--primary-hover: #1E3A8A;--primary-active: #172554;--primary-bg: #DBEAFE;--primary-border: #93C5FD;--secondary: #3B82F6;--secondary-hover: #2563EB;--secondary-bg: #EFF6FF;--accent: #D97706;--accent-hover: #B45309;--accent-bg: #FFF7ED;--accent-border: #FED7AA;--success: #16A34A;--success-bg: #F0FDF4;--warning: #EA580C;--warning-bg: #FFF7ED;--danger: #DC2626;--danger-bg: #FEF2F2;--info: #3B82F6;--info-bg: #EFF6FF;--bg: #F8FAFC;--bg-alt: #F1F5F9;--card: #FFFFFF;--card-hover: #F8FAFC;--text: #1E3A8A;--text-secondary: #475569;--text-muted: #94A3B8;--text-placeholder: #CBD5E1;--text-inverse: #FFFFFF;--border: #DBEAFE;--border-light: #EFF6FF;--border-dark: #BFDBFE;--sidebar-w: 240px;--sidebar-collapsed-w: 64px;--topbar-h: 56px;--space-xs: 4px;--space-sm: 8px;--space-md: 12px;--space-lg: 16px;--space-xl: 24px;--space-2xl: 32px;--radius-sm: 6px;--radius-md: 8px;--radius-lg: 10px;--radius-xl: 14px;--radius-full: 9999px;--shadow-xs: 0 1px 2px rgba(0,0,0,.03);--shadow-sm: 0 2px 4px rgba(0,0,0,.05);--shadow-md: 0 4px 16px rgba(0,0,0,.07);--shadow-lg: 0 12px 32px rgba(0,0,0,.1);--shadow-xl: 0 20px 48px rgba(0,0,0,.14);--shadow-sidebar: 4px 0 20px rgba(0,0,0,.08);--z-sidebar: 100;--z-topbar: 90;--z-dropdown: 200;--z-modal: 999;--transition-fast: .15s cubic-bezier(.4,0,.2,1);--transition-normal: .25s cubic-bezier(.4,0,.2,1);--transition-slow: .35s cubic-bezier(.4,0,.2,1);--ease-out: cubic-bezier(0,0,.2,1);--ease-in: cubic-bezier(.4,0,1,1)}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}*{margin:0;padding:0;box-sizing:border-box}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}::selection{background:rgba(30,64,175,.2);color:var(--text)}body{font-family:Fira Sans,-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif;background:var(--bg);color:var(--text);min-height:100vh;line-height:1.5}.app-layout{display:flex;min-height:100vh}.sidebar{width:var(--sidebar-w);background:linear-gradient(180deg,#172554 0%,#1E3A8A 40%,#1E40AF 100%);color:#fff;position:fixed;top:0;left:0;bottom:0;z-index:var(--z-sidebar);display:flex;flex-direction:column;overflow:hidden;transition:width var(--transition-normal);box-shadow:var(--shadow-sidebar)}.sidebar.collapsed{width:var(--sidebar-collapsed-w)}.sidebar-toggle{position:fixed;top:14px;left:calc(var(--sidebar-w) - 12px);width:24px;height:24px;border-radius:50%;background:#fff;border:1px solid var(--border-dark);color:var(--text-secondary);cursor:pointer;font-size:12px;display:flex;align-items:center;justify-content:center;z-index:calc(var(--z-sidebar) + 1);transition:left var(--transition-normal),box-shadow var(--transition-fast);box-shadow:var(--shadow-sm);padding:0;line-height:1}.sidebar.collapsed+.sidebar-toggle{left:calc(var(--sidebar-collapsed-w) - 12px)}.sidebar-toggle:hover{box-shadow:var(--shadow-md);color:var(--primary)}.sidebar-head{padding:18px 18px 14px;border-bottom:1px solid rgba(255,255,255,.08);display:flex;align-items:center;gap:10px;white-space:nowrap;overflow:hidden}.sidebar-head .logo-icon{width:32px;height:32px;border-radius:var(--radius-md);background:linear-gradient(135deg,var(--primary),#4096ff);display:flex;align-items:center;justify-content:center;flex-shrink:0}.sidebar-head .logo-icon svg{width:20px;height:20px}.sidebar-head h2{font-size:16px;font-weight:700;letter-spacing:.3px}.sidebar-head .ver{font-size:10px;color:#ffffff40;background:rgba(255,255,255,.06);padding:1px 6px;border-radius:3px;flex-shrink:0}.sidebar.collapsed .sidebar-head{justify-content:center;padding:18px 0}.sidebar.collapsed .sidebar-head h2,.sidebar.collapsed .sidebar-head .ver{display:none}.sidebar-nav{flex:1;padding:6px 0;overflow-y:auto;overflow-x:hidden}.sidebar.collapsed .sidebar-nav{overflow-y:auto}.nav-dir{padding:12px 18px 8px;font-size:12px;font-weight:600;color:#fff6;letter-spacing:1px;text-transform:uppercase;cursor:pointer;-webkit-user-select:none;user-select:none;display:flex;align-items:center;gap:8px;transition:color var(--transition-fast),padding var(--transition-fast);white-space:nowrap;overflow:hidden}.nav-dir:hover{color:#fff9}.nav-dir .nav-arrow{font-size:10px;width:14px;text-align:center;transition:transform var(--transition-normal);flex-shrink:0}.sidebar.collapsed .nav-dir{padding:10px 0;justify-content:center}.sidebar.collapsed .nav-dir span:not(.nav-arrow),.sidebar.collapsed .nav-dir .nav-arrow{display:none}.nav-sub{overflow:hidden;max-height:0;opacity:0;transition:max-height var(--transition-slow),opacity var(--transition-normal)}.nav-sub.open{max-height:600px;opacity:1}.sidebar.collapsed .nav-sub{max-height:0!important;opacity:0!important}.nav-item{display:flex;align-items:center;padding:9px 18px 9px 40px;cursor:pointer;font-size:14px;color:#ffffffa6;transition:all var(--transition-fast);border-left:3px solid transparent;text-decoration:none;white-space:nowrap;overflow:hidden;position:relative}.nav-item:hover{background:rgba(255,255,255,.06);color:#fff}.nav-item.active{background:rgba(22,119,255,.15);color:#69b1ff;border-left-color:var(--primary);font-weight:600}.nav-item.active:after{content:"";position:absolute;right:0;top:50%;transform:translateY(-50%);width:3px;height:16px;border-radius:2px 0 0 2px;background:var(--primary)}.sidebar.collapsed .nav-item{padding:10px 0;justify-content:center;border-left:none}.sidebar.collapsed .nav-item.active:after{right:0;width:3px;height:20px;border-radius:2px 0 0 2px}.main-area{margin-left:var(--sidebar-w);flex:1;display:flex;flex-direction:column;height:100vh;transition:margin-left var(--transition-normal);overflow:hidden}.sidebar.collapsed+.main-area,.main-area.expanded{margin-left:var(--sidebar-collapsed-w)}.topbar{background:#fff;height:var(--topbar-h);padding:0 var(--space-xl);display:flex;justify-content:space-between;align-items:center;box-shadow:var(--shadow-xs);position:sticky;top:0;z-index:var(--z-topbar);border-bottom:1px solid var(--border)}.topbar-left{display:flex;align-items:center;gap:var(--space-md)}.topbar-hamburger{display:none;width:32px;height:32px;border-radius:var(--radius-sm);border:1px solid var(--border-dark);background:#fff;cursor:pointer;align-items:center;justify-content:center;font-size:18px;color:var(--text-secondary);transition:all var(--transition-fast)}.topbar-hamburger:hover{border-color:var(--primary);color:var(--primary)}.topbar-breadcrumb{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--text-muted)}.topbar-breadcrumb span{color:var(--text);font-weight:600;font-size:15px}.topbar-right{display:flex;align-items:center;gap:var(--space-lg)}.topbar-semester{padding:5px 10px;border:1px solid var(--border-dark);border-radius:var(--radius-sm);background:#fff;color:var(--text);font-size:13px;cursor:pointer;outline:none;transition:border-color var(--transition-fast)}.topbar-semester:hover{border-color:var(--primary)}.topbar-semester:focus{border-color:var(--primary);box-shadow:0 0 0 2px var(--primary-bg)}.topbar-user{display:flex;align-items:center;gap:var(--space-sm);font-size:13px}.topbar-user-avatar{height:32px;padding:0 12px;border-radius:var(--radius-md);background:var(--primary-bg);color:var(--primary);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14px;cursor:pointer;transition:box-shadow var(--transition-fast);white-space:nowrap}.topbar-user-avatar:hover{box-shadow:0 0 0 3px var(--primary-bg)}.topbar-name-link{font-weight:500;cursor:pointer;color:var(--text);transition:color var(--transition-fast);white-space:nowrap;overflow:visible;flex-shrink:0}.topbar-name-link:hover{color:var(--primary)}.content{padding:var(--space-2xl);flex:1;min-width:0;min-height:0;overflow-y:auto;display:flex;flex-direction:column}.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:var(--space-lg);margin-bottom:var(--space-xl)}.card{background:var(--card);border-radius:var(--radius-lg);padding:14px var(--space-md);box-shadow:var(--shadow-sm);text-align:center;transition:box-shadow var(--transition-fast),transform var(--transition-fast);border:1px solid var(--border)}.card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.card .lbl{font-size:var(--text-xs);color:var(--text-muted);margin-bottom:4px;font-weight:500;letter-spacing:.2px}.card .val{font-size:24px;font-weight:700;color:var(--text);line-height:1.15;letter-spacing:-.5px;font-family:Fira Code,SF Mono,Cascadia Code,monospace;font-feature-settings:"tnum"}.card .sub{font-size:var(--text-xs);color:var(--text-muted);font-weight:400;margin-top:2px}.panel{background:var(--card);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden;border:1px solid var(--border);display:flex;flex-direction:column;flex:1;min-height:0}.panel-head{padding:var(--space-md) var(--space-xl);border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center;background:#fff}.panel-head h4{font-size:15px;font-weight:600}table{width:100%;table-layout:auto;border-collapse:separate;border-spacing:0;font-size:13px}.td-nowrap{white-space:nowrap;width:1%}td{padding:10px 14px;text-align:left;border-bottom:1px solid var(--border-light);white-space:normal;word-break:break-word;font-size:13px}th{padding:10px 14px;text-align:left;border-bottom:1px solid var(--border-light);white-space:nowrap;background:var(--bg-alt);color:var(--text-secondary);font-weight:600;font-size:12px;position:sticky;top:0;z-index:1;text-transform:uppercase;letter-spacing:.3px}th:first-child,td:first-child{padding-left:var(--space-xl)}th:last-child,td:last-child{padding-right:var(--space-xl)}tbody tr:nth-child(2n){background:rgba(0,0,0,.015)}tbody tr:hover{background:var(--primary-bg)}.table-scroll{overflow-y:auto;overflow-x:hidden;flex:1;min-height:0}.table-scroll::-webkit-scrollbar{width:6px;height:6px}.table-scroll::-webkit-scrollbar-track{background:transparent}.table-scroll::-webkit-scrollbar-thumb{background:var(--border-dark);border-radius:3px}.table-scroll::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.group-info{display:flex;gap:0;flex-wrap:wrap;padding:var(--space-lg) var(--space-xl);border-bottom:1px solid var(--border);background:var(--bg-alt)}.gi-item{flex:1;min-width:120px;text-align:center;padding:8px 12px}.gi-lbl{display:block;font-size:12px;color:var(--text-muted);margin-bottom:4px}.gi-val{display:block;font-size:16px;font-weight:600;color:var(--text)}.dict-tabs{display:flex;gap:4px;border-bottom:1px solid var(--border);padding:12px var(--space-xl) 0;background:linear-gradient(180deg,#f8fafc 0%,#fff 100%)}.dict-tab{padding:10px 20px;border:1px solid transparent;background:transparent;color:var(--text-secondary);font-size:14px;font-weight:500;cursor:pointer;border-radius:8px 8px 0 0;transition:all var(--transition-fast);outline:none;font-family:inherit;position:relative;top:1px}.dict-tab:hover{color:var(--text);background:rgba(30,64,175,.04)}.dict-tab.active{color:var(--primary);font-weight:600;background:#fff;border-color:var(--border);border-bottom-color:#fff}.dict-content .panel-head{border-top:none;padding:var(--space-md) var(--space-xl);display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px}.dict-content .panel-head h4{font-size:14px;color:var(--text);font-weight:600}.dict-content .panel-head .dict-stats{font-size:12px;color:var(--text-muted)}.dict-content table{border:1px solid var(--border-light);border-radius:var(--radius-sm);overflow:hidden}.dict-content th{background:var(--bg-alt);font-size:11px;padding:10px 14px}.dict-content td{font-size:13px;padding:10px 14px}.btn{padding:7px 16px;border-radius:var(--radius-sm);border:none;cursor:pointer;font-size:var(--text-base);display:inline-flex;align-items:center;gap:6px;font-weight:500;transition:all var(--transition-fast);line-height:1.5;min-height:32px}.btn:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.btn:active{transform:scale(.97)}.btn-p{background:var(--primary);color:#fff;box-shadow:0 2px #1677ff1a}.btn-p:hover{background:var(--primary-hover);box-shadow:0 3px #1677ff26}.btn-p:active{background:var(--primary-active);transform:scale(.97)}.btn-o{border:1px solid var(--border-dark);background:#fff;color:var(--text)}.btn-o:hover{border-color:var(--primary);color:var(--primary);background:var(--primary-bg)}.btn-d{color:var(--danger);border:1px solid var(--border-dark);background:#fff}.btn-d:hover{border-color:var(--danger);background:var(--danger-bg)}.btn-s{background:var(--success);color:#fff}.btn-s:hover{opacity:.9}.btn-xs{padding:4px 10px;font-size:var(--text-sm);min-height:28px}.btn:disabled{opacity:.45;cursor:not-allowed;pointer-events:none;transform:none}.tag{padding:2px 10px;border-radius:var(--radius-full);font-size:var(--text-sm);font-weight:500;display:inline-block;line-height:1.6;letter-spacing:.1px}.tag-a{background:var(--primary-bg);color:var(--primary)}.tag-b{background:var(--warning-bg);color:var(--warning)}.tag-paid{background:var(--success-bg);color:var(--success)}.tag-unpaid{background:var(--danger-bg);color:var(--danger)}.tag-c{background:#f5f5f5;color:#999}.pct{display:inline-flex;align-items:center;gap:6px}.pct .bar{width:56px;height:6px;border-radius:3px;background:#e8e8e8;overflow:hidden}.pct .bar span{display:block;height:100%;border-radius:3px;transition:width var(--transition-slow)}.bg-green{background:var(--success)}.bg-blue{background:var(--primary)}.bg-orange{background:var(--warning)}.bg-red{background:var(--danger)}.pagination{padding:var(--space-md) var(--space-xl);display:flex;justify-content:space-between;align-items:center;font-size:13px;border-top:1px solid var(--border);background:#fff}.pagination-left{display:flex;align-items:center;gap:10px}.pagination-center{display:flex;align-items:center;gap:8px}.pagination button{padding:4px 12px;border:1px solid var(--border-dark);background:#fff;border-radius:var(--radius-sm);cursor:pointer;font-size:13px;transition:all var(--transition-fast)}.pagination button:hover:not(:disabled){border-color:var(--primary);color:var(--primary)}.pagination button:disabled{opacity:.35;cursor:default}.pagination .info{color:var(--text-muted)}.page-size-select{padding:4px 8px;border:1px solid var(--border-dark);border-radius:var(--radius-sm);font-size:12px;background:#fff;cursor:pointer;outline:none}.page-size-select:focus{border-color:var(--primary);box-shadow:0 0 0 2px var(--primary-bg)}.filter-bar{display:flex;gap:8px;flex-wrap:wrap;align-items:center;padding:16px 24px;border-bottom:1px solid #f0f0f0;background:#fafbfc}.filter-bar select,.filter-bar input[type=date],.filter-bar input[type=text]{padding:7px 12px;border:1px solid #d9d9d9;border-radius:6px;font-size:13px;background:#fff;outline:none;min-height:34px;color:#333;transition:border-color .2s,box-shadow .2s}.filter-bar select:hover,.filter-bar input:hover{border-color:#91caff}.filter-bar select:focus,.filter-bar input:focus{border-color:#1677ff;box-shadow:0 0 0 2px #1677ff1a}.filter-hint{font-size:12px;color:var(--primary);background:var(--primary-bg);padding:3px 10px;border-radius:var(--radius-sm);font-weight:500;white-space:normal;word-break:break-all;max-width:100%}.filter-count{font-size:12px;color:var(--text-muted);margin-left:auto}.modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.5);z-index:var(--z-modal);display:flex;justify-content:center;align-items:flex-start;padding:8vh var(--space-xl);animation:fadeIn .2s var(--ease-out);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.modal{background:#fff;border-radius:var(--radius-xl);min-width:540px;width:auto;max-width:90vw;max-height:82vh;overflow:hidden;display:flex;flex-direction:column;box-shadow:var(--shadow-xl);animation:slideUp .25s var(--ease-out)}.modal-head{padding:var(--space-xl) var(--space-xl) 0;display:flex;justify-content:space-between;align-items:flex-start}.modal-head-left{flex:1;min-width:0}.modal-head-left h4{font-size:17px;font-weight:700;color:var(--text);margin:0}.modal-head-left .modal-desc{font-size:13px;color:var(--text-muted);margin-top:4px}.modal-close{background:none;border:none;font-size:20px;cursor:pointer;color:var(--text-muted);width:32px;height:32px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all var(--transition-fast);margin-top:-4px;margin-right:-4px}.modal-close:hover{background:var(--bg);color:var(--text)}.modal-body{padding:var(--space-xl);overflow-y:auto;flex:1}.modal-body .field{margin-bottom:16px}.modal-body .field:last-child{margin-bottom:0}.modal-body label{display:block;font-size:13px;color:var(--text-secondary);margin-bottom:6px;font-weight:600}.modal-body label .required{color:var(--danger);margin-left:2px}.modal-body label .optional{color:var(--text-muted);font-weight:400;font-size:12px;margin-left:4px}.modal-body input,.modal-body select,.modal-body textarea{width:100%;padding:9px 12px;border:1px solid var(--border-dark);border-radius:var(--radius-md);font-size:14px;outline:none;transition:border-color var(--transition-fast),box-shadow var(--transition-fast);font-family:inherit;background:#fff;color:var(--text)}.modal-body input:hover,.modal-body select:hover,.modal-body textarea:hover{border-color:var(--primary-hover)}.modal-body input:focus,.modal-body select:focus,.modal-body textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px #1677ff1f}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}.modal-body textarea{resize:vertical;min-height:68px;line-height:1.6}.modal-body input::placeholder,.modal-body textarea::placeholder{color:var(--text-placeholder)}.modal-foot{padding:var(--space-md) var(--space-xl) var(--space-xl);display:flex;justify-content:flex-end;gap:8px;border-top:1px solid var(--border);padding-top:var(--space-lg)}.modal-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-lg) var(--space-xl)}.modal-detail-item{display:flex;flex-direction:column;gap:4px}.modal-detail-item.full{grid-column:1 / -1}.modal-detail-item .dlbl{font-size:12px;color:var(--text-muted);font-weight:500;text-transform:uppercase;letter-spacing:.3px}.modal-detail-item .dval{font-size:14px;color:var(--text);font-weight:600;word-break:break-all}.modal-detail-item .dval.sub{font-size:13px;color:var(--text-secondary);font-weight:400}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px var(--space-lg)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(16px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.perm-tree-item{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:var(--radius-sm);cursor:pointer;transition:background var(--transition-fast)}.perm-tree-item:hover{background:var(--bg)}.perm-tree-item input[type=checkbox]{width:16px;height:16px;cursor:pointer;accent-color:var(--primary);flex-shrink:0}.perm-tree-title{font-size:13px;font-weight:500}.perm-tree-title.perm-dir{font-weight:600;color:#1a1a2e}.perm-tree-hint{font-size:12px;color:var(--text-muted);margin-left:auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:200px}.perm-tree-children{border-left:2px solid var(--border);margin-left:14px}.menu-tree-line{width:12px;height:1px;background:var(--border-dark);flex-shrink:0}.menu-tree-title{font-size:13px}.menu-tree-dir{font-weight:700;font-size:14px;color:#1a1a2e}.menu-row-dir{background:var(--bg-alt)}.menu-row-dir td{padding-top:10px;padding-bottom:6px}.menu-row-child td{padding-top:6px;padding-bottom:6px}.checkin-layout{display:flex;min-height:350px}.checkin-sidebar{width:280px;flex-shrink:0;padding:var(--space-lg) var(--space-xl);border-right:1px solid var(--border);background:var(--bg-alt);display:flex;flex-direction:column;gap:var(--space-md)}.checkin-sidebar .field{display:flex;flex-direction:column;gap:4px}.checkin-sidebar .field label{font-size:13px;color:var(--text-secondary);font-weight:500}.checkin-sidebar .field select,.checkin-sidebar .field input{padding:7px 10px;border:1px solid var(--border-dark);border-radius:var(--radius-sm);font-size:13px;outline:none}.checkin-sidebar .field select:focus,.checkin-sidebar .field input:focus{border-color:var(--primary)}.checkin-info{margin-top:auto;padding:10px 0 0;border-top:1px solid var(--border)}.checkin-info-title{font-size:13px;font-weight:600;color:var(--text);margin-bottom:4px}.checkin-info-meta{font-size:12px;color:var(--text-muted);margin-bottom:6px}.checkin-info-count{font-size:14px;color:var(--primary);font-weight:600}.checkin-main{flex:1;overflow:auto}.search-dropdown{position:absolute;top:100%;left:0;right:0;z-index:var(--z-dropdown);background:#fff;border:1px solid var(--border-dark);border-radius:var(--radius-md);box-shadow:var(--shadow-md);max-height:200px;overflow-y:auto}.search-dropdown-item{padding:8px 12px;font-size:13px;cursor:pointer;transition:background var(--transition-fast)}.search-dropdown-item:hover{background:var(--primary-bg)}.search-dropdown-empty{padding:8px 12px;font-size:13px;color:var(--text-muted)}.role-modal-teacher{font-size:13px;color:var(--text-muted);padding-bottom:var(--space-md);border-bottom:1px solid var(--border);margin-bottom:var(--space-sm)}.role-modal-list{display:flex;flex-direction:column;gap:2px}.role-modal-item{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:var(--radius-sm);cursor:pointer;transition:background var(--transition-fast)}.role-modal-item:hover{background:var(--bg)}.role-modal-item input[type=checkbox]{width:16px;height:16px;cursor:pointer;accent-color:var(--primary)}.role-modal-name{font-size:14px;font-weight:500;flex:1}.role-modal-code{font-size:12px;color:var(--text-muted)}.profile-top-bar{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-lg);padding:var(--space-lg) var(--space-xl);background:var(--card);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);border:1px solid var(--border);position:relative;overflow:hidden}.profile-top-bar:before{content:"";position:absolute;top:0;left:0;width:4px;height:100%;background:linear-gradient(180deg,var(--primary) 0%,var(--secondary) 100%);border-radius:0 2px 2px 0}.profile-left{display:flex;align-items:center;gap:16px}.profile-avatar{width:64px;height:64px;border-radius:var(--radius-md);background:linear-gradient(135deg,var(--primary) 0%,#6366f1 100%);color:#fff;font-size:28px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 4px 12px #1e40af40}.profile-info{flex:1;min-width:0}.profile-name{font-size:20px;font-weight:700;color:var(--text);margin-bottom:6px;letter-spacing:-.2px}.profile-meta{display:flex;align-items:center;gap:10px;font-size:13px;color:var(--text-muted);flex-wrap:wrap}.profile-back-btn{flex-shrink:0;padding:8px 18px;font-size:13px;font-weight:500;border-radius:var(--radius-sm);transition:all .2s;background:var(--bg-alt);border:1px solid var(--border);color:var(--text-secondary);cursor:pointer;font-family:inherit}.profile-back-btn:hover{background:var(--primary-bg);border-color:var(--primary-border);color:var(--primary)}.profile-kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:var(--space-md);margin-bottom:var(--space-xl)}.profile-kpi{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-md);padding:16px 18px;position:relative;transition:all .2s}.profile-kpi:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}.profile-kpi .kpi-icon{font-size:18px;margin-bottom:8px;opacity:.8}.profile-kpi .kpi-label{font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.3px;margin-bottom:4px;font-weight:500}.profile-kpi .kpi-value{font-size:24px;font-weight:700;font-family:Fira Code,SF Mono,monospace;letter-spacing:-.5px}.profile-kpi.accent-blue{border-top:3px solid var(--primary)}.profile-kpi.accent-green{border-top:3px solid var(--success)}.profile-kpi.accent-red{border-top:3px solid var(--danger)}.profile-kpi.accent-amber{border-top:3px solid #f59e0b}.profile-metric-row{display:flex;gap:10px;margin-bottom:8px}.profile-metric-row:last-child{margin-bottom:0}.profile-metric-item{flex:1;padding:10px 16px;background:var(--bg);border-radius:var(--radius-sm);display:flex;justify-content:space-between;align-items:center;border:1px solid transparent;transition:border-color .15s}.profile-metric-item:hover{border-color:var(--border);background:var(--bg-alt)}.profile-metric-item .metric-label{font-size:12px;color:var(--text-secondary);font-weight:600;letter-spacing:.01em}.profile-metric-item .metric-value{font-size:14px;font-weight:600;color:var(--text);font-family:Fira Code,SF Mono,monospace}.profile-unpaid{display:flex;gap:0;padding:8px 0}.profile-unpaid-item{flex:1;text-align:center;padding:20px 16px;cursor:pointer;border-radius:var(--radius-md);transition:all .15s;position:relative}.profile-unpaid-item:hover{background:var(--bg-alt)}.profile-unpaid-item+.profile-unpaid-item{border-left:1px solid var(--border)}.group-info{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--space-md);padding:var(--space-lg) var(--space-xl);border-bottom:1px solid var(--border)}.gi-item{text-align:center;padding:8px}.gi-lbl{font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.3px;margin-bottom:4px;font-weight:500}.gi-val{font-size:15px;font-weight:600;color:var(--text)}.gi-item .gi-val.highlight{color:var(--primary);font-size:24px;font-weight:700}.empty{text-align:center;padding:48px var(--space-xl);color:var(--text-muted)}.empty-icon{font-size:40px;margin-bottom:var(--space-md);opacity:.3}.empty-text{font-size:14px;margin-bottom:var(--space-sm)}.empty-hint{font-size:12px;color:var(--text-placeholder)}.loading{text-align:center;padding:48px var(--space-xl);color:var(--text-muted)}.loading-spinner{display:inline-block;width:32px;height:32px;border:3px solid var(--border);border-top-color:var(--primary);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.skeleton{background:linear-gradient(90deg,#f0f0f0 25%,#e8e8e8 50%,#f0f0f0 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:var(--radius-sm)}.skeleton-text{height:14px;margin-bottom:8px}.skeleton-text.sm{width:60%}.skeleton-text.md{width:80%}.skeleton-text.lg{width:100%}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none;transition:color var(--transition-fast)}th.sortable:hover{color:var(--primary)}th.sortable .sort-arrow{margin-left:4px;font-size:10px;opacity:.35}th.sortable.active .sort-arrow{opacity:1;color:var(--primary)}.link-name{color:var(--primary);cursor:pointer;font-weight:500;transition:color var(--transition-fast)}.link-name:hover{color:var(--primary-hover);text-decoration:underline}.mobile-bottom-nav{display:none;position:fixed;bottom:0;left:0;right:0;z-index:85;background:#fff;border-top:1px solid var(--border);padding:4px 0 env(safe-area-inset-bottom,4px);justify-content:space-around;align-items:center;box-shadow:0 -2px 8px #0000000f}@media (max-width: 768px){.mobile-bottom-nav{display:flex}.main-area{padding-bottom:60px}}.mobile-nav-item{display:flex;flex-direction:column;align-items:center;gap:2px;padding:4px 8px;border-radius:var(--radius-sm);color:var(--text-muted);text-decoration:none;font-size:10px;font-weight:500;transition:all var(--transition-fast);min-width:56px;min-height:48px;justify-content:center}.mobile-nav-item svg{width:20px;height:20px}.mobile-nav-item.active{color:var(--primary)}.mobile-nav-item:active{background:var(--primary-bg)}.sidebar-mobile-overlay{display:none;position:fixed;top:0;right:0;bottom:0;left:0;z-index:89;background:rgba(0,0,0,.45);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}@media (max-width: 1024px){.sidebar-mobile-overlay.show{display:block}}.login-wrap{display:flex;align-items:center;justify-content:center;width:100%;height:100vh;position:relative;overflow:hidden;background:linear-gradient(160deg,#0f172a 0%,#1e3a5f 40%,#172554 70%,#0c1929 100%)}.login-wrap:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(ellipse at 20% 50%,rgba(59,130,246,.15) 0%,transparent 50%),radial-gradient(ellipse at 80% 20%,rgba(99,102,241,.1) 0%,transparent 50%),radial-gradient(ellipse at 50% 80%,rgba(14,165,233,.08) 0%,transparent 50%);animation:login-bg-pulse 8s ease-in-out infinite alternate}@keyframes login-bg-pulse{0%{transform:scale(1) rotate(0)}to{transform:scale(1.05) rotate(1deg)}}.login-wrap:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:radial-gradient(circle at 15% 30%,rgba(255,255,255,.03) 1px,transparent 1px),radial-gradient(circle at 75% 60%,rgba(255,255,255,.04) 1px,transparent 1px),radial-gradient(circle at 40% 80%,rgba(255,255,255,.02) 2px,transparent 2px);background-size:80px 80px,100px 100px,120px 120px;animation:login-dots 20s linear infinite}@keyframes login-dots{0%{transform:translateY(0)}to{transform:translateY(-80px)}}.login-box{position:relative;z-index:1;background:rgba(255,255,255,.97);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:20px;padding:48px 40px;width:400px;box-shadow:0 25px 60px #0000004d,0 0 0 1px #ffffff14;text-align:center}.login-box h1{font-size:26px;font-weight:700;margin-bottom:6px;background:linear-gradient(135deg,#1e40af,#6366f1);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.login-box p{color:#64748b;margin-bottom:32px;font-size:13px;letter-spacing:.2px}.login-box input{width:100%;padding:12px 16px;border:2px solid #e2e8f0;border-radius:12px;font-size:14px;margin-bottom:14px;outline:none;font-family:inherit;background:#f8fafc;transition:all .2s}.login-box input:focus{border-color:#6366f1;background:#fff;box-shadow:0 0 0 4px #6366f11a}.login-box button{width:100%;padding:12px;margin-top:8px;background:linear-gradient(135deg,#1e40af,#6366f1);color:#fff;border:none;border-radius:12px;font-size:15px;cursor:pointer;font-weight:600;letter-spacing:.5px;transition:all .2s;font-family:inherit;box-shadow:0 4px 14px #1e40af4d}.login-box button:hover{transform:translateY(-1px);box-shadow:0 6px 20px #1e40af66}.login-box button:active{transform:translateY(0)}.login-box button:disabled{opacity:.6;cursor:not-allowed;transform:none}.login-box .err{color:#dc2626;font-size:13px;margin-top:12px;background:#fef2f2;padding:8px 12px;border-radius:8px;border:1px solid #fecaca}@media (max-width: 480px){.login-box{width:90%;padding:36px 24px}}@media (max-width: 1024px){.sidebar{transform:translate(-100%);width:280px}.sidebar.open{transform:translate(0);box-shadow:var(--shadow-xl)}.sidebar-toggle{display:none}.main-area,.main-area.expanded{margin-left:0}.topbar-hamburger{display:flex}.form-grid{grid-template-columns:1fr}.checkin-sidebar{width:240px}.profile-kpi-grid{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}}@media (max-width: 768px){.content{padding:var(--space-sm)}.topbar{padding:0 var(--space-sm);height:48px}.topbar-breadcrumb,.topbar-user .btn{display:none}.topbar-semester{padding:4px 6px;font-size:12px;max-width:120px}.cards{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:var(--space-sm)}.card{padding:10px var(--space-sm)}.card .lbl{font-size:10px}.card .val{font-size:18px}.card .sub{font-size:10px}.panel-head{padding:var(--space-sm);flex-wrap:wrap;gap:6px}.panel-head h4{font-size:14px}.filter-bar{padding:var(--space-sm);flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;gap:8px;scrollbar-width:none}.filter-bar::-webkit-scrollbar{display:none}.filter-bar select,.filter-bar input{min-height:36px;font-size:14px;flex-shrink:0;max-width:130px}.filter-bar input[type=date]{max-width:120px}.filter-count{display:none}.table-scroll{-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain}th,td{font-size:12px;padding:8px 10px}th:first-child,td:first-child{padding-left:var(--space-sm)}th:last-child,td:last-child{padding-right:var(--space-sm)}.pagination{flex-direction:column;gap:var(--space-sm);padding:var(--space-sm);font-size:12px}.pagination-left,.pagination-center{width:100%;justify-content:center}.pagination button{min-height:36px;min-width:36px}.modal-overlay{padding:0;align-items:stretch}.modal{width:100%;max-width:100vw;max-height:100vh;border-radius:0;height:100%}.modal-body{padding:var(--space-md)}.modal-head{padding:var(--space-md) var(--space-md) 0}.modal-foot{padding:var(--space-md)}.checkin-layout{flex-direction:column}.checkin-sidebar{width:100%;border-right:none;border-bottom:1px solid var(--border)}.profile-top-bar{padding:var(--space-md);flex-wrap:wrap;gap:8px}.profile-avatar{width:48px;height:48px;font-size:20px}.profile-name{font-size:16px}.profile-meta{gap:6px;font-size:11px}.profile-kpi-grid{grid-template-columns:1fr 1fr;gap:var(--space-sm)}.profile-kpi{padding:12px 14px}.profile-kpi .kpi-value{font-size:20px}.profile-metric-row{flex-direction:column}.group-info{grid-template-columns:repeat(3,1fr);gap:var(--space-sm);padding:var(--space-md)}.gi-item .gi-val.highlight{font-size:20px}.btn{min-height:36px;padding:7px 14px}.btn-xs{min-height:32px;padding:5px 10px;font-size:12px}.btn:active{transform:scale(.95)}.tag{font-size:11px;padding:2px 8px}.modal-detail-grid{grid-template-columns:1fr;gap:var(--space-md)}.dict-tabs{padding:8px var(--space-sm) 0;overflow-x:auto;-webkit-overflow-scrolling:touch;flex-wrap:nowrap;gap:2px;scrollbar-width:none}.dict-tabs::-webkit-scrollbar{display:none}.dict-tab{padding:8px 14px;font-size:13px;white-space:nowrap;flex-shrink:0}}@media (max-width: 480px){.cards{grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:8px}.topbar-user-avatar{padding:0 8px;font-size:12px}.topbar-semester{max-width:100px;font-size:11px}.profile-kpi-grid{grid-template-columns:1fr}.group-info{grid-template-columns:repeat(2,1fr)}th,td{font-size:11px;padding:6px 8px}}.debug-config-section{border-bottom:1px solid var(--border-light);padding:20px 0}.debug-config-row{display:flex;align-items:center;justify-content:space-between;gap:24px}.debug-config-label h5{font-size:14px;font-weight:600;color:var(--text);margin:0 0 4px}.debug-config-label p{font-size:12px;color:var(--muted);margin:0}.debug-config-input{width:380px;padding:8px 12px;border:1px solid var(--border);border-radius:6px;font-size:13px;font-family:SFMono-Regular,Fira Code,Menlo,monospace}.debug-config-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 2px #1890ff1a}.debug-config-input-wrap{display:flex;align-items:center;gap:8px}.toggle-switch{position:relative;display:inline-block;width:48px;height:26px;flex-shrink:0}.toggle-switch input{opacity:0;width:0;height:0}.toggle-slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:#d9d9d9;border-radius:26px;transition:.3s}.toggle-slider:before{content:"";position:absolute;height:20px;width:20px;left:3px;bottom:3px;background-color:#fff;border-radius:50%;transition:.3s}.toggle-switch input:checked+.toggle-slider{background-color:var(--primary)}.toggle-switch input:checked+.toggle-slider:before{transform:translate(22px)}
