@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url("./media/inter-cyrillic-ext-wght-normal-IYF56FF6.woff2") format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url("./media/inter-cyrillic-wght-normal-JEOLYBOO.woff2") format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url("./media/inter-greek-ext-wght-normal-EOVOK2B5.woff2") format("woff2-variations");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url("./media/inter-greek-wght-normal-IRE366VL.woff2") format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url("./media/inter-vietnamese-wght-normal-CE5GGD3W.woff2") format("woff2-variations");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 Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url("./media/inter-latin-ext-wght-normal-HA22NDSG.woff2") format("woff2-variations");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 Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url("./media/inter-latin-wght-normal-NRMW37G5.woff2") format("woff2-variations");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:Noto Naskh Arabic;font-style:normal;font-display:swap;font-weight:400;src:url("./media/noto-naskh-arabic-arabic-400-normal-KPJ7ZZ5Q.woff2") format("woff2"),url("./media/noto-naskh-arabic-arabic-400-normal-YZQCXTN7.woff") format("woff");unicode-range:U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0897-08E1,U+08E3-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC,U+102E0-102FB,U+10E60-10E7E,U+10EC2-10EC4,U+10EFC-10EFF,U+1EE00-1EE03,U+1EE05-1EE1F,U+1EE21-1EE22,U+1EE24,U+1EE27,U+1EE29-1EE32,U+1EE34-1EE37,U+1EE39,U+1EE3B,U+1EE42,U+1EE47,U+1EE49,U+1EE4B,U+1EE4D-1EE4F,U+1EE51-1EE52,U+1EE54,U+1EE57,U+1EE59,U+1EE5B,U+1EE5D,U+1EE5F,U+1EE61-1EE62,U+1EE64,U+1EE67-1EE6A,U+1EE6C-1EE72,U+1EE74-1EE77,U+1EE79-1EE7C,U+1EE7E,U+1EE80-1EE89,U+1EE8B-1EE9B,U+1EEA1-1EEA3,U+1EEA5-1EEA9,U+1EEAB-1EEBB,U+1EEF0-1EEF1}@font-face{font-family:Noto Naskh Arabic;font-style:normal;font-display:swap;font-weight:400;src:url("./media/noto-naskh-arabic-math-400-normal-7Z6BJLG3.woff2") format("woff2"),url("./media/noto-naskh-arabic-math-400-normal-WZLM2IKC.woff") format("woff");unicode-range:U+0302-0303,U+0305,U+0307-0308,U+0310,U+0312,U+0315,U+031A,U+0326-0327,U+032C,U+032F-0330,U+0332-0333,U+0338,U+033A,U+0346,U+034D,U+0391-03A1,U+03A3-03A9,U+03B1-03C9,U+03D1,U+03D5-03D6,U+03F0-03F1,U+03F4-03F5,U+2016-2017,U+2034-2038,U+203C,U+2040,U+2043,U+2047,U+2050,U+2057,U+205F,U+2070-2071,U+2074-208E,U+2090-209C,U+20D0-20DC,U+20E1,U+20E5-20EF,U+2100-2112,U+2114-2115,U+2117-2121,U+2123-214F,U+2190,U+2192,U+2194-21AE,U+21B0-21E5,U+21F1-21F2,U+21F4-2211,U+2213-2214,U+2216-22FF,U+2308-230B,U+2310,U+2319,U+231C-2321,U+2336-237A,U+237C,U+2395,U+239B-23B7,U+23D0,U+23DC-23E1,U+2474-2475,U+25AF,U+25B3,U+25B7,U+25BD,U+25C1,U+25CA,U+25CC,U+25FB,U+266D-266F,U+27C0-27FF,U+2900-2AFF,U+2B0E-2B11,U+2B30-2B4C,U+2BFE,U+3030,U+FF5B,U+FF5D,U+1D400-1D7FF,U+1EE00-1EEFF}@font-face{font-family:Noto Naskh Arabic;font-style:normal;font-display:swap;font-weight:400;src:url("./media/noto-naskh-arabic-symbols-400-normal-NGHEVCPM.woff2") format("woff2"),url("./media/noto-naskh-arabic-symbols-400-normal-BCH6VG3N.woff") format("woff");unicode-range:U+0001-000C,U+000E-001F,U+007F-009F,U+20DD-20E0,U+20E2-20E4,U+2150-218F,U+2190,U+2192,U+2194-2199,U+21AF,U+21E6-21F0,U+21F3,U+2218-2219,U+2299,U+22C4-22C6,U+2300-243F,U+2440-244A,U+2460-24FF,U+25A0-27BF,U+2800-28FF,U+2921-2922,U+2981,U+29BF,U+29EB,U+2B00-2BFF,U+4DC0-4DFF,U+FFF9-FFFB,U+10140-1018E,U+10190-1019C,U+101A0,U+101D0-101FD,U+102E0-102FB,U+10E60-10E7E,U+1D2C0-1D2D3,U+1D2E0-1D37F,U+1F000-1F0FF,U+1F100-1F1AD,U+1F1E6-1F1FF,U+1F30D-1F30F,U+1F315,U+1F31C,U+1F31E,U+1F320-1F32C,U+1F336,U+1F378,U+1F37D,U+1F382,U+1F393-1F39F,U+1F3A7-1F3A8,U+1F3AC-1F3AF,U+1F3C2,U+1F3C4-1F3C6,U+1F3CA-1F3CE,U+1F3D4-1F3E0,U+1F3ED,U+1F3F1-1F3F3,U+1F3F5-1F3F7,U+1F408,U+1F415,U+1F41F,U+1F426,U+1F43F,U+1F441-1F442,U+1F444,U+1F446-1F449,U+1F44C-1F44E,U+1F453,U+1F46A,U+1F47D,U+1F4A3,U+1F4B0,U+1F4B3,U+1F4B9,U+1F4BB,U+1F4BF,U+1F4C8-1F4CB,U+1F4D6,U+1F4DA,U+1F4DF,U+1F4E3-1F4E6,U+1F4EA-1F4ED,U+1F4F7,U+1F4F9-1F4FB,U+1F4FD-1F4FE,U+1F503,U+1F507-1F50B,U+1F50D,U+1F512-1F513,U+1F53E-1F54A,U+1F54F-1F5FA,U+1F610,U+1F650-1F67F,U+1F687,U+1F68D,U+1F691,U+1F694,U+1F698,U+1F6AD,U+1F6B2,U+1F6B9-1F6BA,U+1F6BC,U+1F6C6-1F6CF,U+1F6D3-1F6D7,U+1F6E0-1F6EA,U+1F6F0-1F6F3,U+1F6F7-1F6FC,U+1F700-1F7FF,U+1F800-1F80B,U+1F810-1F847,U+1F850-1F859,U+1F860-1F887,U+1F890-1F8AD,U+1F8B0-1F8BB,U+1F8C0-1F8C1,U+1F900-1F90B,U+1F93B,U+1F946,U+1F984,U+1F996,U+1F9E9,U+1FA00-1FA6F,U+1FA70-1FA7C,U+1FA80-1FA89,U+1FA8F-1FAC6,U+1FACE-1FADC,U+1FADF-1FAE9,U+1FAF0-1FAF8,U+1FB00-1FBFF}@font-face{font-family:Noto Naskh Arabic;font-style:normal;font-display:swap;font-weight:400;src:url("./media/noto-naskh-arabic-latin-ext-400-normal-W4YCONOL.woff2") format("woff2"),url("./media/noto-naskh-arabic-latin-ext-400-normal-6IMWMBZK.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:Noto Naskh Arabic;font-style:normal;font-display:swap;font-weight:400;src:url("./media/noto-naskh-arabic-latin-400-normal-72C5NKBJ.woff2") format("woff2"),url("./media/noto-naskh-arabic-latin-400-normal-Y3JKEQRK.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:Noto Naskh Arabic;font-style:normal;font-display:swap;font-weight:500;src:url("./media/noto-naskh-arabic-arabic-500-normal-VNL4EH5X.woff2") format("woff2"),url("./media/noto-naskh-arabic-arabic-500-normal-BNAJTEO3.woff") format("woff");unicode-range:U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0897-08E1,U+08E3-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC,U+102E0-102FB,U+10E60-10E7E,U+10EC2-10EC4,U+10EFC-10EFF,U+1EE00-1EE03,U+1EE05-1EE1F,U+1EE21-1EE22,U+1EE24,U+1EE27,U+1EE29-1EE32,U+1EE34-1EE37,U+1EE39,U+1EE3B,U+1EE42,U+1EE47,U+1EE49,U+1EE4B,U+1EE4D-1EE4F,U+1EE51-1EE52,U+1EE54,U+1EE57,U+1EE59,U+1EE5B,U+1EE5D,U+1EE5F,U+1EE61-1EE62,U+1EE64,U+1EE67-1EE6A,U+1EE6C-1EE72,U+1EE74-1EE77,U+1EE79-1EE7C,U+1EE7E,U+1EE80-1EE89,U+1EE8B-1EE9B,U+1EEA1-1EEA3,U+1EEA5-1EEA9,U+1EEAB-1EEBB,U+1EEF0-1EEF1}@font-face{font-family:Noto Naskh Arabic;font-style:normal;font-display:swap;font-weight:500;src:url("./media/noto-naskh-arabic-math-500-normal-PJEV24JB.woff2") format("woff2"),url("./media/noto-naskh-arabic-math-500-normal-HGH3EHAP.woff") format("woff");unicode-range:U+0302-0303,U+0305,U+0307-0308,U+0310,U+0312,U+0315,U+031A,U+0326-0327,U+032C,U+032F-0330,U+0332-0333,U+0338,U+033A,U+0346,U+034D,U+0391-03A1,U+03A3-03A9,U+03B1-03C9,U+03D1,U+03D5-03D6,U+03F0-03F1,U+03F4-03F5,U+2016-2017,U+2034-2038,U+203C,U+2040,U+2043,U+2047,U+2050,U+2057,U+205F,U+2070-2071,U+2074-208E,U+2090-209C,U+20D0-20DC,U+20E1,U+20E5-20EF,U+2100-2112,U+2114-2115,U+2117-2121,U+2123-214F,U+2190,U+2192,U+2194-21AE,U+21B0-21E5,U+21F1-21F2,U+21F4-2211,U+2213-2214,U+2216-22FF,U+2308-230B,U+2310,U+2319,U+231C-2321,U+2336-237A,U+237C,U+2395,U+239B-23B7,U+23D0,U+23DC-23E1,U+2474-2475,U+25AF,U+25B3,U+25B7,U+25BD,U+25C1,U+25CA,U+25CC,U+25FB,U+266D-266F,U+27C0-27FF,U+2900-2AFF,U+2B0E-2B11,U+2B30-2B4C,U+2BFE,U+3030,U+FF5B,U+FF5D,U+1D400-1D7FF,U+1EE00-1EEFF}@font-face{font-family:Noto Naskh Arabic;font-style:normal;font-display:swap;font-weight:500;src:url("./media/noto-naskh-arabic-symbols-500-normal-PCYSSMRJ.woff2") format("woff2"),url("./media/noto-naskh-arabic-symbols-500-normal-NYUYQDNO.woff") format("woff");unicode-range:U+0001-000C,U+000E-001F,U+007F-009F,U+20DD-20E0,U+20E2-20E4,U+2150-218F,U+2190,U+2192,U+2194-2199,U+21AF,U+21E6-21F0,U+21F3,U+2218-2219,U+2299,U+22C4-22C6,U+2300-243F,U+2440-244A,U+2460-24FF,U+25A0-27BF,U+2800-28FF,U+2921-2922,U+2981,U+29BF,U+29EB,U+2B00-2BFF,U+4DC0-4DFF,U+FFF9-FFFB,U+10140-1018E,U+10190-1019C,U+101A0,U+101D0-101FD,U+102E0-102FB,U+10E60-10E7E,U+1D2C0-1D2D3,U+1D2E0-1D37F,U+1F000-1F0FF,U+1F100-1F1AD,U+1F1E6-1F1FF,U+1F30D-1F30F,U+1F315,U+1F31C,U+1F31E,U+1F320-1F32C,U+1F336,U+1F378,U+1F37D,U+1F382,U+1F393-1F39F,U+1F3A7-1F3A8,U+1F3AC-1F3AF,U+1F3C2,U+1F3C4-1F3C6,U+1F3CA-1F3CE,U+1F3D4-1F3E0,U+1F3ED,U+1F3F1-1F3F3,U+1F3F5-1F3F7,U+1F408,U+1F415,U+1F41F,U+1F426,U+1F43F,U+1F441-1F442,U+1F444,U+1F446-1F449,U+1F44C-1F44E,U+1F453,U+1F46A,U+1F47D,U+1F4A3,U+1F4B0,U+1F4B3,U+1F4B9,U+1F4BB,U+1F4BF,U+1F4C8-1F4CB,U+1F4D6,U+1F4DA,U+1F4DF,U+1F4E3-1F4E6,U+1F4EA-1F4ED,U+1F4F7,U+1F4F9-1F4FB,U+1F4FD-1F4FE,U+1F503,U+1F507-1F50B,U+1F50D,U+1F512-1F513,U+1F53E-1F54A,U+1F54F-1F5FA,U+1F610,U+1F650-1F67F,U+1F687,U+1F68D,U+1F691,U+1F694,U+1F698,U+1F6AD,U+1F6B2,U+1F6B9-1F6BA,U+1F6BC,U+1F6C6-1F6CF,U+1F6D3-1F6D7,U+1F6E0-1F6EA,U+1F6F0-1F6F3,U+1F6F7-1F6FC,U+1F700-1F7FF,U+1F800-1F80B,U+1F810-1F847,U+1F850-1F859,U+1F860-1F887,U+1F890-1F8AD,U+1F8B0-1F8BB,U+1F8C0-1F8C1,U+1F900-1F90B,U+1F93B,U+1F946,U+1F984,U+1F996,U+1F9E9,U+1FA00-1FA6F,U+1FA70-1FA7C,U+1FA80-1FA89,U+1FA8F-1FAC6,U+1FACE-1FADC,U+1FADF-1FAE9,U+1FAF0-1FAF8,U+1FB00-1FBFF}@font-face{font-family:Noto Naskh Arabic;font-style:normal;font-display:swap;font-weight:500;src:url("./media/noto-naskh-arabic-latin-ext-500-normal-YEH2XFFJ.woff2") format("woff2"),url("./media/noto-naskh-arabic-latin-ext-500-normal-EWXZZ4YW.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:Noto Naskh Arabic;font-style:normal;font-display:swap;font-weight:500;src:url("./media/noto-naskh-arabic-latin-500-normal-JZGP5HQH.woff2") format("woff2"),url("./media/noto-naskh-arabic-latin-500-normal-KMAKM6HA.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:Noto Naskh Arabic;font-style:normal;font-display:swap;font-weight:600;src:url("./media/noto-naskh-arabic-arabic-600-normal-UZM3EV5Z.woff2") format("woff2"),url("./media/noto-naskh-arabic-arabic-600-normal-ECDDS6Y4.woff") format("woff");unicode-range:U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0897-08E1,U+08E3-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC,U+102E0-102FB,U+10E60-10E7E,U+10EC2-10EC4,U+10EFC-10EFF,U+1EE00-1EE03,U+1EE05-1EE1F,U+1EE21-1EE22,U+1EE24,U+1EE27,U+1EE29-1EE32,U+1EE34-1EE37,U+1EE39,U+1EE3B,U+1EE42,U+1EE47,U+1EE49,U+1EE4B,U+1EE4D-1EE4F,U+1EE51-1EE52,U+1EE54,U+1EE57,U+1EE59,U+1EE5B,U+1EE5D,U+1EE5F,U+1EE61-1EE62,U+1EE64,U+1EE67-1EE6A,U+1EE6C-1EE72,U+1EE74-1EE77,U+1EE79-1EE7C,U+1EE7E,U+1EE80-1EE89,U+1EE8B-1EE9B,U+1EEA1-1EEA3,U+1EEA5-1EEA9,U+1EEAB-1EEBB,U+1EEF0-1EEF1}@font-face{font-family:Noto Naskh Arabic;font-style:normal;font-display:swap;font-weight:600;src:url("./media/noto-naskh-arabic-math-600-normal-HTU6HGO6.woff2") format("woff2"),url("./media/noto-naskh-arabic-math-600-normal-UMHWFZZ4.woff") format("woff");unicode-range:U+0302-0303,U+0305,U+0307-0308,U+0310,U+0312,U+0315,U+031A,U+0326-0327,U+032C,U+032F-0330,U+0332-0333,U+0338,U+033A,U+0346,U+034D,U+0391-03A1,U+03A3-03A9,U+03B1-03C9,U+03D1,U+03D5-03D6,U+03F0-03F1,U+03F4-03F5,U+2016-2017,U+2034-2038,U+203C,U+2040,U+2043,U+2047,U+2050,U+2057,U+205F,U+2070-2071,U+2074-208E,U+2090-209C,U+20D0-20DC,U+20E1,U+20E5-20EF,U+2100-2112,U+2114-2115,U+2117-2121,U+2123-214F,U+2190,U+2192,U+2194-21AE,U+21B0-21E5,U+21F1-21F2,U+21F4-2211,U+2213-2214,U+2216-22FF,U+2308-230B,U+2310,U+2319,U+231C-2321,U+2336-237A,U+237C,U+2395,U+239B-23B7,U+23D0,U+23DC-23E1,U+2474-2475,U+25AF,U+25B3,U+25B7,U+25BD,U+25C1,U+25CA,U+25CC,U+25FB,U+266D-266F,U+27C0-27FF,U+2900-2AFF,U+2B0E-2B11,U+2B30-2B4C,U+2BFE,U+3030,U+FF5B,U+FF5D,U+1D400-1D7FF,U+1EE00-1EEFF}@font-face{font-family:Noto Naskh Arabic;font-style:normal;font-display:swap;font-weight:600;src:url("./media/noto-naskh-arabic-symbols-600-normal-ZNVX54SD.woff2") format("woff2"),url("./media/noto-naskh-arabic-symbols-600-normal-BA52XZOS.woff") format("woff");unicode-range:U+0001-000C,U+000E-001F,U+007F-009F,U+20DD-20E0,U+20E2-20E4,U+2150-218F,U+2190,U+2192,U+2194-2199,U+21AF,U+21E6-21F0,U+21F3,U+2218-2219,U+2299,U+22C4-22C6,U+2300-243F,U+2440-244A,U+2460-24FF,U+25A0-27BF,U+2800-28FF,U+2921-2922,U+2981,U+29BF,U+29EB,U+2B00-2BFF,U+4DC0-4DFF,U+FFF9-FFFB,U+10140-1018E,U+10190-1019C,U+101A0,U+101D0-101FD,U+102E0-102FB,U+10E60-10E7E,U+1D2C0-1D2D3,U+1D2E0-1D37F,U+1F000-1F0FF,U+1F100-1F1AD,U+1F1E6-1F1FF,U+1F30D-1F30F,U+1F315,U+1F31C,U+1F31E,U+1F320-1F32C,U+1F336,U+1F378,U+1F37D,U+1F382,U+1F393-1F39F,U+1F3A7-1F3A8,U+1F3AC-1F3AF,U+1F3C2,U+1F3C4-1F3C6,U+1F3CA-1F3CE,U+1F3D4-1F3E0,U+1F3ED,U+1F3F1-1F3F3,U+1F3F5-1F3F7,U+1F408,U+1F415,U+1F41F,U+1F426,U+1F43F,U+1F441-1F442,U+1F444,U+1F446-1F449,U+1F44C-1F44E,U+1F453,U+1F46A,U+1F47D,U+1F4A3,U+1F4B0,U+1F4B3,U+1F4B9,U+1F4BB,U+1F4BF,U+1F4C8-1F4CB,U+1F4D6,U+1F4DA,U+1F4DF,U+1F4E3-1F4E6,U+1F4EA-1F4ED,U+1F4F7,U+1F4F9-1F4FB,U+1F4FD-1F4FE,U+1F503,U+1F507-1F50B,U+1F50D,U+1F512-1F513,U+1F53E-1F54A,U+1F54F-1F5FA,U+1F610,U+1F650-1F67F,U+1F687,U+1F68D,U+1F691,U+1F694,U+1F698,U+1F6AD,U+1F6B2,U+1F6B9-1F6BA,U+1F6BC,U+1F6C6-1F6CF,U+1F6D3-1F6D7,U+1F6E0-1F6EA,U+1F6F0-1F6F3,U+1F6F7-1F6FC,U+1F700-1F7FF,U+1F800-1F80B,U+1F810-1F847,U+1F850-1F859,U+1F860-1F887,U+1F890-1F8AD,U+1F8B0-1F8BB,U+1F8C0-1F8C1,U+1F900-1F90B,U+1F93B,U+1F946,U+1F984,U+1F996,U+1F9E9,U+1FA00-1FA6F,U+1FA70-1FA7C,U+1FA80-1FA89,U+1FA8F-1FAC6,U+1FACE-1FADC,U+1FADF-1FAE9,U+1FAF0-1FAF8,U+1FB00-1FBFF}@font-face{font-family:Noto Naskh Arabic;font-style:normal;font-display:swap;font-weight:600;src:url("./media/noto-naskh-arabic-latin-ext-600-normal-VHWWJMX3.woff2") format("woff2"),url("./media/noto-naskh-arabic-latin-ext-600-normal-L2SCJVM3.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:Noto Naskh Arabic;font-style:normal;font-display:swap;font-weight:600;src:url("./media/noto-naskh-arabic-latin-600-normal-SXXLCT4T.woff2") format("woff2"),url("./media/noto-naskh-arabic-latin-600-normal-VVMAMC6H.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:Noto Naskh Arabic;font-style:normal;font-display:swap;font-weight:700;src:url("./media/noto-naskh-arabic-arabic-700-normal-BPKTDK5Y.woff2") format("woff2"),url("./media/noto-naskh-arabic-arabic-700-normal-NLSZTXYS.woff") format("woff");unicode-range:U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0897-08E1,U+08E3-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC,U+102E0-102FB,U+10E60-10E7E,U+10EC2-10EC4,U+10EFC-10EFF,U+1EE00-1EE03,U+1EE05-1EE1F,U+1EE21-1EE22,U+1EE24,U+1EE27,U+1EE29-1EE32,U+1EE34-1EE37,U+1EE39,U+1EE3B,U+1EE42,U+1EE47,U+1EE49,U+1EE4B,U+1EE4D-1EE4F,U+1EE51-1EE52,U+1EE54,U+1EE57,U+1EE59,U+1EE5B,U+1EE5D,U+1EE5F,U+1EE61-1EE62,U+1EE64,U+1EE67-1EE6A,U+1EE6C-1EE72,U+1EE74-1EE77,U+1EE79-1EE7C,U+1EE7E,U+1EE80-1EE89,U+1EE8B-1EE9B,U+1EEA1-1EEA3,U+1EEA5-1EEA9,U+1EEAB-1EEBB,U+1EEF0-1EEF1}@font-face{font-family:Noto Naskh Arabic;font-style:normal;font-display:swap;font-weight:700;src:url("./media/noto-naskh-arabic-math-700-normal-XKNLINYD.woff2") format("woff2"),url("./media/noto-naskh-arabic-math-700-normal-KPX25ZI7.woff") format("woff");unicode-range:U+0302-0303,U+0305,U+0307-0308,U+0310,U+0312,U+0315,U+031A,U+0326-0327,U+032C,U+032F-0330,U+0332-0333,U+0338,U+033A,U+0346,U+034D,U+0391-03A1,U+03A3-03A9,U+03B1-03C9,U+03D1,U+03D5-03D6,U+03F0-03F1,U+03F4-03F5,U+2016-2017,U+2034-2038,U+203C,U+2040,U+2043,U+2047,U+2050,U+2057,U+205F,U+2070-2071,U+2074-208E,U+2090-209C,U+20D0-20DC,U+20E1,U+20E5-20EF,U+2100-2112,U+2114-2115,U+2117-2121,U+2123-214F,U+2190,U+2192,U+2194-21AE,U+21B0-21E5,U+21F1-21F2,U+21F4-2211,U+2213-2214,U+2216-22FF,U+2308-230B,U+2310,U+2319,U+231C-2321,U+2336-237A,U+237C,U+2395,U+239B-23B7,U+23D0,U+23DC-23E1,U+2474-2475,U+25AF,U+25B3,U+25B7,U+25BD,U+25C1,U+25CA,U+25CC,U+25FB,U+266D-266F,U+27C0-27FF,U+2900-2AFF,U+2B0E-2B11,U+2B30-2B4C,U+2BFE,U+3030,U+FF5B,U+FF5D,U+1D400-1D7FF,U+1EE00-1EEFF}@font-face{font-family:Noto Naskh Arabic;font-style:normal;font-display:swap;font-weight:700;src:url("./media/noto-naskh-arabic-symbols-700-normal-Z4BLGMID.woff2") format("woff2"),url("./media/noto-naskh-arabic-symbols-700-normal-K2POT57H.woff") format("woff");unicode-range:U+0001-000C,U+000E-001F,U+007F-009F,U+20DD-20E0,U+20E2-20E4,U+2150-218F,U+2190,U+2192,U+2194-2199,U+21AF,U+21E6-21F0,U+21F3,U+2218-2219,U+2299,U+22C4-22C6,U+2300-243F,U+2440-244A,U+2460-24FF,U+25A0-27BF,U+2800-28FF,U+2921-2922,U+2981,U+29BF,U+29EB,U+2B00-2BFF,U+4DC0-4DFF,U+FFF9-FFFB,U+10140-1018E,U+10190-1019C,U+101A0,U+101D0-101FD,U+102E0-102FB,U+10E60-10E7E,U+1D2C0-1D2D3,U+1D2E0-1D37F,U+1F000-1F0FF,U+1F100-1F1AD,U+1F1E6-1F1FF,U+1F30D-1F30F,U+1F315,U+1F31C,U+1F31E,U+1F320-1F32C,U+1F336,U+1F378,U+1F37D,U+1F382,U+1F393-1F39F,U+1F3A7-1F3A8,U+1F3AC-1F3AF,U+1F3C2,U+1F3C4-1F3C6,U+1F3CA-1F3CE,U+1F3D4-1F3E0,U+1F3ED,U+1F3F1-1F3F3,U+1F3F5-1F3F7,U+1F408,U+1F415,U+1F41F,U+1F426,U+1F43F,U+1F441-1F442,U+1F444,U+1F446-1F449,U+1F44C-1F44E,U+1F453,U+1F46A,U+1F47D,U+1F4A3,U+1F4B0,U+1F4B3,U+1F4B9,U+1F4BB,U+1F4BF,U+1F4C8-1F4CB,U+1F4D6,U+1F4DA,U+1F4DF,U+1F4E3-1F4E6,U+1F4EA-1F4ED,U+1F4F7,U+1F4F9-1F4FB,U+1F4FD-1F4FE,U+1F503,U+1F507-1F50B,U+1F50D,U+1F512-1F513,U+1F53E-1F54A,U+1F54F-1F5FA,U+1F610,U+1F650-1F67F,U+1F687,U+1F68D,U+1F691,U+1F694,U+1F698,U+1F6AD,U+1F6B2,U+1F6B9-1F6BA,U+1F6BC,U+1F6C6-1F6CF,U+1F6D3-1F6D7,U+1F6E0-1F6EA,U+1F6F0-1F6F3,U+1F6F7-1F6FC,U+1F700-1F7FF,U+1F800-1F80B,U+1F810-1F847,U+1F850-1F859,U+1F860-1F887,U+1F890-1F8AD,U+1F8B0-1F8BB,U+1F8C0-1F8C1,U+1F900-1F90B,U+1F93B,U+1F946,U+1F984,U+1F996,U+1F9E9,U+1FA00-1FA6F,U+1FA70-1FA7C,U+1FA80-1FA89,U+1FA8F-1FAC6,U+1FACE-1FADC,U+1FADF-1FAE9,U+1FAF0-1FAF8,U+1FB00-1FBFF}@font-face{font-family:Noto Naskh Arabic;font-style:normal;font-display:swap;font-weight:700;src:url("./media/noto-naskh-arabic-latin-ext-700-normal-5MKATW3L.woff2") format("woff2"),url("./media/noto-naskh-arabic-latin-ext-700-normal-463EWAJF.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:Noto Naskh Arabic;font-style:normal;font-display:swap;font-weight:700;src:url("./media/noto-naskh-arabic-latin-700-normal-4ZU4AJSH.woff2") format("woff2"),url("./media/noto-naskh-arabic-latin-700-normal-4QHY5ZCW.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}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-font-smoothing:antialiased;-webkit-text-size-adjust:100%;touch-action:manipulation}body{font-family:Inter,system-ui,sans-serif;background:var(--bg);color:var(--text-primary);line-height:1.6}select,input:not([type=checkbox]):not([type=radio]):not([type=range]),textarea{-webkit-appearance:none;appearance:none;font-family:inherit}select{background-image:url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3e%3cpath fill='%2394A3B8' d='M6 8L0 0h12z'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right 12px center;background-size:10px 7px;padding-right:32px}.app-shell{display:flex;height:100dvh;overflow:hidden}.sidebar{width:var(--sidebar-width);background:var(--sidebar-bg);display:flex;flex-direction:column;flex-shrink:0;transition:width .25s cubic-bezier(.4,0,.2,1);overflow:hidden;position:relative;z-index:10}.sidebar.collapsed{width:var(--sidebar-collapsed)}.sidebar-header{display:flex;align-items:center;justify-content:space-between;padding:20px 16px 16px;border-bottom:1px solid rgba(255,255,255,.06)}.logo-wrap{display:flex;align-items:center;gap:10px;min-width:0}.logo-icon{flex-shrink:0;width:36px;height:36px;background:#3b82f61f;border-radius:10px;display:flex;align-items:center;justify-content:center;border:1px solid rgba(59,130,246,.25)}.logo-text{display:flex;flex-direction:column;min-width:0}.logo-name{font-size:15px;font-weight:700;color:#fff;letter-spacing:.5px;white-space:nowrap}.logo-sub{font-size:10px;color:var(--neutral-400);text-transform:uppercase;letter-spacing:.8px;white-space:nowrap}.collapse-btn{background:none;border:none;color:var(--neutral-500);cursor:pointer;padding:4px;border-radius:var(--radius-sm);display:flex;flex-shrink:0;transition:color .15s,background .15s}.collapse-btn:hover{color:var(--neutral-200);background:#ffffff0f}.sidebar.collapsed .collapse-btn svg{transform:rotate(180deg)}.sidebar-nav{flex:1;overflow-y:auto;padding:12px 8px;display:flex;flex-direction:column;gap:4px;scrollbar-width:none}.sidebar-nav::-webkit-scrollbar{display:none}.nav-group{margin-bottom:8px}.nav-group-label{font-size:10px;font-weight:600;color:var(--neutral-500);text-transform:uppercase;letter-spacing:.8px;padding:4px 8px 6px;display:block}.nav-item{display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:var(--radius);color:var(--neutral-400);text-decoration:none;font-size:13.5px;font-weight:500;transition:background .15s,color .15s;white-space:nowrap;position:relative}.nav-item:hover{background:#ffffff0f;color:#fff}.nav-item.active{background:#3b82f626;color:var(--primary-400)}.nav-item.active .nav-icon svg{stroke:var(--primary-400)}.nav-icon{flex-shrink:0;display:flex;align-items:center;justify-content:center;color:#fff}.nav-icon svg{width:18px;height:18px;display:block}.nav-label{flex:1}.nav-badge{background:var(--red-600);color:#fff;font-size:10px;font-weight:600;padding:2px 6px;border-radius:10px}.nav-module-badge{margin-left:6px;background:var(--amber-50, #FEF3C7);color:var(--amber-600, #D97706);border:1px solid #FDE68A;font-size:9px;font-weight:700;letter-spacing:.3px;text-transform:none;padding:1px 6px;border-radius:10px;vertical-align:middle}.nav-item .nav-module-badge{margin-left:auto}.sidebar-footer{padding:12px 8px;border-top:1px solid rgba(255,255,255,.06)}.user-card{display:flex;align-items:center;gap:10px;padding:10px;border-radius:var(--radius);background:#ffffff0a;cursor:pointer;transition:background .15s}.user-card:hover{background:#ffffff14}.user-card.mini{justify-content:center}.user-avatar{width:32px;height:32px;border-radius:8px;background:var(--primary-700);color:var(--primary-200);display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:600;flex-shrink:0}.user-name{display:block;font-size:13px;font-weight:600;color:#fff;white-space:nowrap}.user-role{display:block;font-size:11px;color:var(--neutral-400)}.main-wrap{flex:1;display:flex;flex-direction:column;overflow:hidden}.topbar{height:60px;background:var(--surface);border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding:0 24px;flex-shrink:0}.topbar-left{display:flex;align-items:center;gap:12px}.topbar-right{display:flex;align-items:center;gap:8px}.menu-btn{background:none;border:none;cursor:pointer;color:var(--neutral-500);display:flex;padding:6px;border-radius:var(--radius-sm);transition:background .15s,color .15s}.menu-btn:hover{background:var(--neutral-100);color:var(--neutral-800)}.year-badge{font-size:12px;font-weight:600;color:var(--primary-600);background:var(--primary-50);border:1px solid var(--primary-200);padding:3px 10px;border-radius:20px}.icon-btn{background:none;border:none;cursor:pointer;color:var(--neutral-500);display:flex;padding:8px;border-radius:var(--radius-sm);transition:background .15s,color .15s;position:relative}.icon-btn:hover{background:var(--neutral-100);color:var(--neutral-800)}.notif-dot{width:7px;height:7px;background:var(--red-500);border-radius:50%;position:absolute;top:7px;right:7px;border:1.5px solid white}.topbar-avatar{width:34px;height:34px;border-radius:8px;background:var(--primary-600);color:#fff;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:600;cursor:pointer}.main-content{flex:1;overflow-y:auto;padding:0}.page{padding:28px 32px;max-width:1800px;margin-inline:auto}.page-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:28px}.page-title{font-size:24px;font-weight:700;color:var(--neutral-900);letter-spacing:-.3px}.page-subtitle{font-size:13.5px;color:var(--text-secondary);margin-top:2px}.header-actions{display:flex;gap:8px;align-items:center}.search-container{position:relative}.search-input{width:280px;padding:8px 12px;border:1px solid var(--border);border-radius:var(--radius);font-size:13.5px;color:var(--neutral-800);background:var(--surface);transition:border-color .15s,box-shadow .15s;outline:none}.search-results{position:absolute;top:100%;left:0;right:0;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-lg);margin-top:4px;max-height:300px;overflow-y:auto;z-index:50}.search-result-item{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;cursor:pointer;transition:background .15s;border-bottom:1px solid var(--neutral-100)}.search-result-item:last-child{border-bottom:none}.search-result-item:hover{background:var(--neutral-50)}.user-type{font-size:11px;font-weight:600;color:var(--neutral-500);background:var(--neutral-100);padding:2px 8px;border-radius:12px}.session-select{padding:8px 12px;border:1px solid var(--border);border-radius:var(--radius);font-size:13.5px;color:var(--neutral-800);background:var(--surface);outline:none;cursor:pointer;min-width:180px}.session-select:focus{border-color:var(--primary-400);box-shadow:0 0 0 3px #3b82f61a}.kpi-section{margin-bottom:24px}.kpi-section-title{font-size:14px;font-weight:600;color:var(--neutral-700);margin-bottom:12px}.kpi-pink:before{background:#ec4899}.kpi-purple:before{background:var(--brand-500, #3B82F6)}.kpi-pink .kpi-icon{background:#fdf2f8;color:#ec4899}.kpi-purple .kpi-icon{background:var(--brand-50, #EFF6FF);color:var(--brand-600, #2563EB)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:20px 24px;box-shadow:var(--shadow-sm)}.card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.card-title{font-size:15px;font-weight:600;color:var(--neutral-800)}.card-link{font-size:13px;color:var(--primary-600);text-decoration:none;font-weight:500;transition:color .15s}.card-link:hover{color:var(--primary-800)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:6px 14px;min-height:34px;border-radius:var(--radius);font-size:13px;font-weight:600;cursor:pointer;border:1px solid transparent;transition:all .15s;text-decoration:none;white-space:nowrap}.btn-primary{background:var(--primary-600);color:#fff;border-color:var(--primary-600)}.btn-primary:hover{background:var(--primary-700);border-color:var(--primary-700)}.btn-ghost{background:transparent;color:var(--neutral-600);border-color:var(--border)}.btn-ghost:hover{background:var(--neutral-50);border-color:var(--neutral-300)}.btn-sm{padding:5px 12px;font-size:12.5px}.btn-link{background:none;border:none;color:var(--primary-600);font-size:13px;font-weight:500;cursor:pointer;padding:0;text-decoration:none}.btn-link:hover{color:var(--primary-800)}.kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px}.kpi-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:20px 22px;display:flex;align-items:center;gap:16px;box-shadow:var(--shadow-sm);position:relative;overflow:hidden;transition:box-shadow .2s,transform .2s}.kpi-card:hover{box-shadow:var(--shadow);transform:translateY(-1px)}.kpi-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;border-radius:var(--radius-lg) var(--radius-lg) 0 0}.kpi-blue:before{background:var(--primary-500)}.kpi-emerald:before{background:var(--emerald-500)}.kpi-amber:before{background:var(--amber-500)}.kpi-teal:before{background:var(--teal-500)}.kpi-icon{width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.kpi-blue .kpi-icon{background:var(--primary-50);color:var(--primary-600)}.kpi-emerald .kpi-icon{background:var(--emerald-50);color:var(--emerald-600)}.kpi-amber .kpi-icon{background:var(--amber-50);color:var(--amber-600)}.kpi-teal .kpi-icon{background:var(--teal-50);color:var(--teal-600)}.kpi-body{flex:1}.kpi-value{display:block;font-size:26px;font-weight:700;letter-spacing:-.5px;color:var(--neutral-900);line-height:1.1}.kpi-label{display:block;font-size:12.5px;color:var(--text-secondary);margin-top:2px}.kpi-trend{position:absolute;bottom:2px;right:16px;display:flex;align-items:center;gap:3px;font-size:11px;font-weight:600}.kpi-trend.up{color:var(--emerald-600)}.kpi-trend.down{color:var(--red-600)}.kpi-trend.neutral{color:var(--neutral-400)}.dash-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px}.finance-bars{display:flex;flex-direction:column;gap:16px}.finance-bar-row{display:flex;align-items:center;gap:12px}.finance-bar-row.balance{padding-top:12px;border-top:1px solid var(--border)}.finance-bar-label{font-size:13px;color:var(--text-secondary);width:80px;flex-shrink:0}.finance-bar-track{flex:1;height:8px;background:var(--neutral-100);border-radius:4px;overflow:hidden}.finance-bar{height:100%;border-radius:4px;transition:width .6s cubic-bezier(.4,0,.2,1)}.finance-bar.recettes{background:var(--emerald-500)}.finance-bar.depenses{background:var(--red-500)}.finance-bar-val{font-size:13.5px;font-weight:600;width:100px;text-align:right;flex-shrink:0}.finance-bar-val.green{color:var(--emerald-600)}.finance-bar-val.red{color:var(--red-600)}.absence-list{display:flex;flex-direction:column;gap:10px}.absence-row{display:flex;align-items:center;gap:12px;padding:10px;border-radius:var(--radius);background:var(--neutral-50);transition:background .15s}.absence-row:hover{background:var(--neutral-100)}.absence-info{flex:1;min-width:0}.absence-name{display:block;font-size:13.5px;font-weight:600;color:var(--neutral-800);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.absence-date{display:block;font-size:11.5px;color:var(--text-muted)}.absence-badge{font-size:11px;font-weight:600;padding:3px 8px;border-radius:20px;background:var(--red-50);color:var(--red-600);border:1px solid #FECACA;white-space:nowrap}.absence-badge.justified{background:var(--emerald-50);color:var(--emerald-600);border-color:#a7f3d0}.quick-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.quick-action{display:flex;align-items:center;gap:10px;padding:12px 14px;border-radius:var(--radius);border:1px solid var(--border);text-decoration:none;color:var(--neutral-700);font-size:13px;font-weight:500;transition:all .15s;cursor:pointer}.quick-action:hover{background:var(--neutral-50);border-color:var(--neutral-300);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.qa-icon{width:34px;height:34px;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.qa-icon.blue{background:var(--primary-50);color:var(--primary-600)}.qa-icon.amber{background:var(--amber-50);color:var(--amber-600)}.qa-icon.emerald{background:var(--emerald-50);color:var(--emerald-600)}.qa-icon.teal{background:var(--teal-50);color:var(--teal-600)}.table-card{padding:0;overflow-x:auto}.data-table thead{background:var(--neutral-50);border-bottom:1px solid var(--border)}.data-table th{padding:8px 12px;text-align:left;font-size:11px;font-weight:600;color:var(--neutral-500);letter-spacing:.4px;white-space:nowrap}.data-table td{padding:8px 12px;font-size:12px;color:var(--neutral-700);border-bottom:1px solid var(--neutral-100);vertical-align:middle}.data-table tbody tr:last-child td{border-bottom:none}.data-table tbody tr{transition:background .12s}.data-table tbody tr:hover{background:var(--neutral-50)}.user-cell{display:flex;align-items:center;gap:10px}.table-avatar{width:32px;height:32px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:11.5px;font-weight:700;color:#fff;flex-shrink:0}.teal-avatar{background:var(--teal-600)!important}.cell-name{font-weight:600;color:var(--neutral-800);display:block;white-space:nowrap}.cell-sub{font-size:11.5px;color:var(--text-muted);display:block}.cell-sub.ar{font-family:serif;direction:rtl}.text-muted{color:var(--text-secondary)}.text-sm{font-size:12.5px}.toolbar{display:flex;align-items:center;gap:12px;margin-bottom:16px;flex-wrap:wrap}.toolbar>.form-group,.toolbar>.form-field{flex:1 1 160px;min-width:160px;margin-bottom:0}.toolbar>.form-group .select-sm,.toolbar>.form-group .form-input-sm,.toolbar>.form-field .select-sm,.toolbar>.form-field .form-select-sm,.toolbar>.form-field .form-input-sm{width:100%}.toolbar>.checkbox-group,.toolbar>.checkbox-wrapper{flex:0 0 auto;align-self:flex-end;min-height:var(--control-h-sm, 36px)}.search-wrap{position:relative;flex:1;max-width:320px}.search-icon{position:absolute;left:10px;top:50%;transform:translateY(-50%);color:var(--neutral-400);pointer-events:none}.search-input{width:100%;padding:8px 12px 8px 34px;border:1px solid var(--border);border-radius:var(--radius);font-size:13.5px;color:var(--neutral-800);background:var(--surface);transition:border-color .15s,box-shadow .15s;outline:none}.search-input:focus{border-color:var(--primary-400);box-shadow:0 0 0 3px #3b82f61a}.toolbar-filters{display:flex;gap:8px;align-items:center}.select-sm,.form-input-sm,.form-select-sm{padding:7px 10px;border:1px solid var(--border);border-radius:var(--radius);font-size:13px;color:var(--neutral-700);background:var(--surface);outline:none;cursor:pointer}.select-sm:focus,.form-input-sm:focus{border-color:var(--primary-400);box-shadow:0 0 0 3px #3b82f61a}.form-group-inline{display:flex;align-items:center;gap:8px}.label-sm{font-size:12.5px;font-weight:500;color:var(--neutral-600);white-space:nowrap}.pagination{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:20px}.btn-page{width:34px;height:34px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--neutral-600);transition:all .15s}.btn-page:hover:not(:disabled){background:var(--primary-50);border-color:var(--primary-300);color:var(--primary-600)}.btn-page:disabled{opacity:.4;cursor:not-allowed}.page-info{font-size:13px;color:var(--text-secondary)}.skeleton-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px}.skeleton-card{height:120px;background:linear-gradient(90deg,var(--neutral-100) 25%,var(--neutral-50) 50%,var(--neutral-100) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:var(--radius-lg)}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.table-loading{padding:8px 0}.table-row-skel{height:52px;background:linear-gradient(90deg,var(--neutral-100) 25%,var(--neutral-50) 50%,var(--neutral-100) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;margin:4px 16px;border-radius:var(--radius)}.pill{display:inline-flex;align-items:center;padding:2px 9px;border-radius:20px;font-size:11.5px;font-weight:600}.pill-blue{background:var(--primary-50);color:var(--primary-700);border:1px solid var(--primary-200)}.pill-green{background:var(--emerald-50);color:var(--emerald-600);border:1px solid #A7F3D0}.pill-red{background:var(--red-50);color:var(--red-600);border:1px solid #FECACA}.pill-amber{background:var(--amber-50);color:var(--amber-600);border:1px solid #FDE68A}.pill-purple{background:var(--brand-50, #EFF6FF);color:var(--brand-700, #1D4ED8);border:1px solid var(--brand-200, #BFDBFE)}.pill-orange{background:#fffbeb;color:#f59e0b;border:1px solid #FDE68A}.pill-neutral{background:var(--neutral-100, #F3F4F6);color:var(--neutral-600, #4B5563);border:1px solid var(--neutral-200, #E5E7EB)}.status-dot{display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:5px;background:var(--neutral-300)}.status-dot.active{background:var(--emerald-500);box-shadow:0 0 0 2px #10b98133}.icon-btn-sm{background:none;border:none;cursor:pointer;color:var(--neutral-400);padding:4px;border-radius:var(--radius-sm);display:flex;transition:background .15s,color .15s}.icon-btn-sm:hover{background:var(--neutral-100);color:var(--neutral-700)}.action-buttons{display:flex;gap:2px;align-items:center}.text-right .action-buttons,td[data-label=Actions] .action-buttons{justify-content:flex-end}.btn-icon:hover{background:var(--neutral-100);color:var(--neutral-700)}.empty-state{text-align:center;padding:40px 20px;color:var(--text-secondary)}.empty-state svg{margin:0 auto 12px;display:block}.empty-state p{font-size:14px}.empty-state-wide{grid-column:1 / -1;display:flex;flex-direction:column;align-items:center;gap:12px;padding:48px 20px;color:var(--text-secondary);font-size:14px}.modal-overlay{position:fixed;inset:0;background:#0f172a80;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:100;padding:20px;animation:fadeIn .15s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal{background:var(--surface);border-radius:var(--radius-lg);width:100%;max-width:520px;max-height:calc(100vh - 40px);overflow-y:auto;box-shadow:var(--shadow-lg);animation:slideUp .2s cubic-bezier(.4,0,.2,1)}@keyframes slideUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px 16px;border-bottom:1px solid var(--border);position:sticky;top:0;background:var(--surface);border-top-left-radius:var(--radius-lg);border-top-right-radius:var(--radius-lg);z-index:2}.modal-header h2{font-size:16px;font-weight:700;color:var(--neutral-900)}.modal-close{background:none;border:none;cursor:pointer;color:var(--neutral-400);padding:4px;border-radius:var(--radius-sm);display:flex;transition:background .15s,color .15s}.modal-close:hover{background:var(--neutral-100);color:var(--neutral-800)}.modal-form{padding:20px 24px;display:flex;flex-direction:column;gap:16px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.form-group{display:flex;flex-direction:column;gap:6px}.form-group label{font-size:12.5px;font-weight:600;color:var(--neutral-600)}.form-input{padding:9px 12px;border:1px solid var(--border);border-radius:var(--radius);font-size:13.5px;color:var(--neutral-800);background:var(--surface);outline:none;transition:border-color .15s,box-shadow .15s;width:100%}.form-input:focus{border-color:var(--primary-400);box-shadow:0 0 0 3px #3b82f61a}.checkbox-label{display:flex;align-items:center;gap:8px;font-size:13.5px!important;color:var(--neutral-700)!important;cursor:pointer}.modal.doc-modal{max-width:560px;--doc-accent: #4f46e5;--doc-accent-soft: #eef2ff;--doc-accent-border: #e0e7ff}.modal.doc-modal.doc-modal-generate{--doc-accent: var(--brand-600, #2563EB);--doc-accent-soft: var(--brand-50, #EFF6FF);--doc-accent-border: var(--brand-200, #BFDBFE)}.modal.doc-modal.doc-modal-history{--doc-accent: #0891b2;--doc-accent-soft: #ecfeff;--doc-accent-border: #cffafe}.modal.doc-modal.doc-modal-choice{--doc-accent: #2563eb;--doc-accent-soft: #eff6ff;--doc-accent-border: #dbeafe}.doc-modal .doc-modal-header{display:flex;align-items:flex-start;gap:14px;padding:20px 24px;background:var(--doc-accent-soft);border-bottom:1px solid var(--doc-accent-border);position:sticky;top:0;z-index:2;border-top-left-radius:var(--radius-lg);border-top-right-radius:var(--radius-lg)}.doc-modal .doc-modal-icon{flex-shrink:0;width:40px;height:40px;border-radius:11px;background:var(--doc-accent);color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 6px 16px -6px var(--doc-accent)}.doc-modal .doc-modal-icon svg{width:20px;height:20px}.doc-modal .doc-modal-titles{flex:1;min-width:0}.doc-modal .doc-modal-titles h2{font-size:16px;font-weight:700;color:var(--neutral-900);line-height:1.3}.doc-modal .doc-modal-subtitle{margin-top:2px;font-size:12.5px;color:var(--neutral-500);line-height:1.4}.doc-modal .doc-modal-close{flex-shrink:0;background:#fff9;border:1px solid var(--doc-accent-border);cursor:pointer;color:var(--neutral-500);padding:6px;border-radius:9px;display:flex;transition:background .15s,color .15s}.doc-modal .doc-modal-close:hover{background:#fff;color:var(--neutral-800)}.doc-modal .doc-modal-close:disabled{opacity:.5;cursor:not-allowed}.doc-modal .doc-modal-body{padding:20px 24px;display:flex;flex-direction:column;gap:16px}.doc-modal .doc-info-banner{display:flex;align-items:flex-start;gap:9px;padding:12px 14px;border-radius:10px;background:var(--doc-accent-soft);border:1px solid var(--doc-accent-border);color:var(--neutral-700);font-size:12.5px;line-height:1.45}.doc-modal .doc-info-banner svg{flex-shrink:0;margin-top:1px;color:var(--doc-accent)}.doc-modal .doc-field{display:flex;flex-direction:column;gap:7px}.doc-modal .doc-field>label{font-size:11.5px;font-weight:700;color:var(--neutral-600);text-transform:uppercase;letter-spacing:.3px}.doc-modal .doc-modal-footer{display:flex;justify-content:flex-end;gap:10px;padding:14px 24px;border-top:1px solid var(--border);background:var(--surface);position:sticky;bottom:0;z-index:2;border-bottom-left-radius:var(--radius-lg);border-bottom-right-radius:var(--radius-lg)}.doc-modal .doc-choice-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px;max-height:56vh;overflow-y:auto}.doc-modal .doc-choice-item{width:100%;display:flex;align-items:center;gap:12px;text-align:left;padding:13px 15px;border:1px solid var(--border);border-radius:12px;background:var(--surface);cursor:pointer;transition:border-color .15s,background .15s,box-shadow .15s}.doc-modal .doc-choice-item:hover{border-color:var(--doc-accent);background:var(--doc-accent-soft);box-shadow:0 4px 14px -8px var(--doc-accent)}.doc-modal .doc-choice-item .doc-choice-badge{flex-shrink:0;width:34px;height:34px;border-radius:9px;background:var(--doc-accent-soft);color:var(--doc-accent);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:13px}.doc-modal .doc-choice-item .doc-choice-label{flex:1;font-size:13.5px;font-weight:600;color:var(--neutral-800)}.doc-modal .doc-choice-item .doc-choice-chevron{color:var(--neutral-300);display:flex}.doc-modal .doc-choice-item:hover .doc-choice-chevron{color:var(--doc-accent)}.doc-modal .doc-timeline{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.doc-modal .doc-version{border:1px solid var(--border);border-left:3px solid var(--doc-accent);border-radius:10px;padding:12px 14px;background:var(--surface)}.doc-modal .doc-version.is-archived{border-left-color:var(--neutral-300);background:var(--neutral-50, #f8fafc)}.doc-modal .doc-version-head{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.doc-modal .doc-version-badge{font-size:11px;font-weight:700;color:var(--doc-accent);background:var(--doc-accent-soft);padding:2px 9px;border-radius:999px}.doc-modal .doc-version.is-archived .doc-version-badge{color:var(--neutral-500);background:var(--neutral-100)}.doc-modal .doc-version-nom{font-size:13px;font-weight:600;color:var(--neutral-800);word-break:break-all}.doc-modal .doc-version-tag{font-size:10.5px;font-weight:650;color:var(--neutral-500);background:var(--neutral-100);border:1px solid var(--neutral-200, #e5e7eb);padding:1px 8px;border-radius:999px}.doc-modal .doc-version-meta{margin-top:6px;font-size:12px;color:var(--neutral-500)}.doc-modal .doc-version-link{background:none;border:none;padding:0;margin-top:6px;color:var(--doc-accent);cursor:pointer;font-size:12px;font-weight:600}.doc-modal .doc-version-link:hover{text-decoration:underline}.doc-modal .doc-version-ouvrir{margin-left:auto;display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border-radius:8px;cursor:pointer;font-size:11.5px;font-weight:650;color:var(--doc-accent);background:var(--doc-accent-soft);border:1px solid var(--doc-accent-border);transition:background .15s}.doc-modal .doc-version-ouvrir:hover{background:#fff}.doc-modal .doc-version-ouvrir:disabled{opacity:.5;cursor:not-allowed}@media(max-width:640px){.doc-modal .doc-modal-header,.doc-modal .doc-modal-body{padding:16px 18px}.doc-modal .doc-modal-footer{padding:12px 18px}}.classes-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px}.class-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-sm);transition:box-shadow .2s,transform .2s}.class-card:hover{box-shadow:var(--shadow);transform:translateY(-2px)}.class-card.inactive{opacity:.6}.class-card-top{padding:24px 20px 20px;display:flex;align-items:flex-start;justify-content:space-between}.class-abrev{font-size:15px;font-weight:800;color:#fffffff2;letter-spacing:-1px}.class-actions{display:flex;gap:8px}.class-action-btn{background:#fff3;border:none;border-radius:6px;padding:6px;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.class-action-btn:hover{background:#ffffff4d;transform:scale(1.05)}.class-action-btn svg{stroke:#fff}.class-action-btn.text-alert:hover{background:#ef444466}.class-places{display:flex;align-items:center;gap:4px;font-size:11.5px;color:#ffffffb3;background:#00000026;padding:3px 8px;border-radius:20px}.class-card-body{padding:16px 20px}.class-name{font-size:15px;font-weight:700;color:var(--neutral-900);margin-bottom:2px}.class-filiere{font-size:12.5px;color:var(--text-secondary);margin-bottom:10px}.class-enseignant{font-size:12px;color:var(--text-secondary);display:flex;align-items:center;margin-bottom:12px}.cost-badge{font-size:12px;font-weight:600;color:var(--emerald-600);background:var(--emerald-50);border:1px solid #A7F3D0;padding:2px 8px;border-radius:20px;display:inline-block;margin-bottom:12px}.class-stats{display:flex;gap:16px;margin-bottom:12px}.stat-item{display:flex;flex-direction:column;align-items:center;flex:1}.stat-value{font-size:20px;font-weight:700;color:var(--neutral-900);line-height:1}.stat-label{font-size:11px;color:var(--text-secondary);margin-top:2px}.text-alert{color:var(--red-600)}.class-footer{display:flex;align-items:center;padding-top:12px;border-top:1px solid var(--border)}.finance-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:24px}.fin-card{padding:20px 24px;border-radius:var(--radius-lg);border:1px solid}.fin-card.recette{background:var(--emerald-50);border-color:#a7f3d0}.fin-card.depense{background:var(--red-50);border-color:#fecaca}.fin-card.balance.positive{background:var(--primary-50);border-color:var(--primary-200)}.fin-card.balance.negative{background:var(--amber-50);border-color:#fde68a}.panel{margin-bottom:1.5rem}.panel-header{display:flex;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;background:var(--brand-gradient-auth, linear-gradient(135deg, #1D4ED8 0%, #2563EB 100%));border-radius:1rem 1rem 0 0;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 6px #2563eb33}.panel-header:hover{box-shadow:0 6px 12px #2563eb4d}.panel-header h3{margin:0;font-size:1.125rem;font-weight:600;color:#fff}.panel-header svg{stroke:#fff;transition:transform .3s ease}.panel-content{padding:1.5rem;background:#fff;border:1px solid var(--neutral-200);border-top:none;border-radius:0 0 1rem 1rem;box-shadow:0 2px 8px #00000014}.panel-content.collapsed{display:none}.inscription-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;align-items:end;padding:1.25rem;background:linear-gradient(135deg,#f5f7fa,#c3cfe2);border-radius:.75rem;margin-bottom:1rem;box-shadow:0 2px 4px #0000000d}.inscription-row-second{display:flex;gap:1rem;align-items:center;padding:1rem 1.25rem;background:linear-gradient(135deg,#e0eafc,#cfdef3);border-radius:0 0 .75rem .75rem;margin-top:-.5rem;margin-bottom:1rem;box-shadow:0 2px 4px #0000000d}.inscription-row-second .form-group{flex:1;min-width:0}.inscription-actions{display:flex;align-items:flex-start;gap:1rem;padding:1.25rem;background:linear-gradient(135deg,#f5f7fa,#c3cfe2);border-radius:0 0 .75rem .75rem;margin-top:-.5rem;box-shadow:0 2px 4px #0000000d}.checkbox-stack{display:flex;flex-direction:column;gap:.625rem}.history-item{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.25rem;background:linear-gradient(135deg,#fff,#f8f9fa);border:1px solid var(--neutral-200);border-radius:.75rem;margin-bottom:.75rem;transition:all .3s ease;box-shadow:0 2px 4px #0000000a}.history-item:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000014}.history-item.active-session{border-left:4px solid var(--brand-600, #2563EB);background:var(--brand-50, #EFF6FF)}.history-info{display:flex;flex-direction:column;gap:.375rem}.history-actions{display:flex;align-items:center;gap:.5rem}.btn-icon-sm{background:linear-gradient(135deg,#ff6b6b,#ee5a5a);border:none;cursor:pointer;padding:.5rem;display:flex;align-items:center;justify-content:center;border-radius:.5rem;transition:all .3s ease}.btn-icon-sm svg{stroke:#fff}.btn-icon-sm:hover{transform:scale(1.1);box-shadow:0 4px 8px #ee5a5a4d}.class-info{font-size:.875rem;color:var(--text-secondary)}.checkbox-wrapper{display:flex;align-items:center;gap:.625rem;cursor:pointer;font-size:.875rem;color:var(--text-primary)}.checkbox-wrapper input[type=checkbox]{width:16px;height:16px;cursor:pointer;accent-color:var(--brand-600, #2563EB);transition:transform .2s ease;border-radius:4px}.checkbox-wrapper input[type=checkbox]:hover{transform:scale(1.15)}.checkbox-wrapper input[type=checkbox]:checked{animation:checkBounce .3s ease}@keyframes checkBounce{0%{transform:scale(1)}50%{transform:scale(1.25)}to{transform:scale(1)}}.checkbox-group{display:flex;flex-direction:column;gap:.625rem}.family-section{margin-top:1.5rem;padding-top:1.5rem;border-top:2px solid var(--neutral-200)}.family-section-title{font-size:1rem;font-weight:600;color:var(--brand-700, #1D4ED8);margin-bottom:1rem;display:flex;align-items:center;gap:.5rem}.family-section-title:before{content:"";width:4px;height:1.25rem;background:var(--brand-gradient-auth, linear-gradient(135deg, #1D4ED8 0%, #2563EB 100%));border-radius:2px}.family-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem}.family-column{background:linear-gradient(135deg,#fff,#f8f9fa);border:1px solid var(--neutral-200);border-radius:.75rem;padding:1.25rem;box-shadow:0 2px 8px #0000000f}.family-column h4{margin:0 0 1rem;font-size:.9375rem;font-weight:600;color:var(--brand-700, #1D4ED8);display:flex;align-items:center;gap:.5rem}.family-list{display:flex;flex-direction:column;gap:.5rem}.feature-list{display:flex;flex-direction:column;gap:6px;margin:12px 0;padding:0;list-style:none}.feature-row{display:flex;align-items:flex-start;gap:8px}.feature-check{flex-shrink:0;font-weight:700;line-height:1.4}.feature-included .feature-check{color:var(--emerald-600, #059669)}.feature-excluded .feature-check{color:var(--neutral-400, #9CA3AF)}.feature-excluded .feature-text{color:var(--text-secondary, #6B7280);text-decoration:line-through;text-decoration-color:var(--neutral-300, #D1D5DB)}.family-item{display:flex;align-items:center;padding:.75rem 1rem;background:linear-gradient(135deg,#f5f7fa,#e8ecf1);border:1px solid var(--neutral-200);border-radius:.5rem;cursor:pointer;transition:all .3s ease}.family-item:hover{background:var(--brand-50, #EFF6FF);border-color:var(--brand-600, #2563EB);transform:translateY(-2px);box-shadow:0 4px 8px #2563eb33}.family-item-name{font-size:.875rem;font-weight:500;color:var(--brand-700, #1D4ED8)}.family-item-details{font-size:.8125rem;color:var(--text-secondary);margin-top:.375rem}.family-empty{font-size:.875rem;color:var(--text-secondary);font-style:italic;padding:.75rem}.search-clear-modern{position:absolute;right:10px;top:50%;transform:translateY(-50%);background:linear-gradient(135deg,#ff6b6b,#ee5a5a);border:none;cursor:pointer;color:#fff;font-size:16px;padding:.25rem .5rem;line-height:1;border-radius:.375rem;transition:all .3s ease}.search-clear-modern:hover{transform:translateY(-50%) scale(1.1);box-shadow:0 2px 8px #ee5a5a4d}.search-results-modern{position:absolute;top:100%;left:0;right:0;background:#fff;border:1px solid var(--neutral-200);border-radius:.75rem;box-shadow:0 8px 24px #0000001f;z-index:1000;max-height:240px;overflow-y:auto;margin-top:.5rem}.search-result-item-modern{padding:.875rem 1.25rem;cursor:pointer;transition:all .2s;border-bottom:1px solid var(--neutral-100)}.search-result-item-modern:last-child{border-bottom:none}.search-result-item-modern:hover{background:linear-gradient(135deg,#f5f7fa,#e8ecf1)}.fin-card-label{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--neutral-500);margin-bottom:6px}.fin-card-val{font-size:26px;font-weight:800;letter-spacing:-.5px}.fin-card.recette .fin-card-val{color:var(--emerald-600)}.fin-card.depense .fin-card-val{color:var(--red-600)}.fin-card.balance.positive .fin-card-val{color:var(--primary-700)}.fin-card.balance.negative .fin-card-val{color:var(--amber-600)}.fin-card-count{font-size:12px;color:var(--neutral-500);margin-top:4px}.tabs{display:flex;gap:2px;background:var(--neutral-100);border-radius:var(--radius);padding:4px;width:fit-content;margin-bottom:16px}.tab-btn{padding:7px 20px;border:none;background:transparent;border-radius:7px;font-size:13.5px;font-weight:500;color:var(--neutral-500);cursor:pointer;transition:all .15s}.tab-btn.active{background:var(--surface);color:var(--neutral-900);font-weight:600;box-shadow:var(--shadow-sm)}.amount{font-size:14px;font-weight:700}.amount.green{color:var(--emerald-600)}.amount.red{color:var(--red-600)}.sourates-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:8px;max-height:280px;overflow-y:auto;padding-right:4px}.sourates-grid::-webkit-scrollbar{width:4px}.sourates-grid::-webkit-scrollbar-track{background:var(--neutral-100);border-radius:2px}.sourates-grid::-webkit-scrollbar-thumb{background:var(--neutral-300);border-radius:2px}.sourate-chip{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:var(--radius);background:var(--neutral-50);border:1px solid var(--neutral-150);cursor:default;transition:background .12s}.sourate-chip:hover{background:var(--teal-50);border-color:#99f6e4}.sourate-num{width:22px;height:22px;background:var(--teal-500);color:#fff;border-radius:6px;display:flex;align-items:center;justify-content:center;font-size:10.5px;font-weight:700;flex-shrink:0}.sourate-info{flex:1;min-width:0}.sourate-nom{font-size:12.5px;font-weight:600;color:var(--neutral-800);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}.sourate-ar{font-size:12px;color:var(--text-muted);direction:rtl;display:block}.sourate-v{font-size:10.5px;color:var(--neutral-400);flex-shrink:0}.events-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}.event-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:20px;box-shadow:var(--shadow-sm);transition:box-shadow .2s,transform .2s}.event-card:hover{box-shadow:var(--shadow);transform:translateY(-2px)}.event-type-badge{font-size:11px;font-weight:600;color:var(--teal-600);background:var(--teal-50);border:1px solid #99F6E4;padding:2px 8px;border-radius:20px;display:inline-block;margin-bottom:10px;text-transform:uppercase;letter-spacing:.3px}.event-title{font-size:15px;font-weight:700;color:var(--neutral-900);margin-bottom:10px}.event-date,.event-lieu{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--text-secondary);margin-bottom:6px}.event-places{font-size:12.5px;color:var(--text-muted);margin-bottom:12px}.event-footer{display:flex;gap:6px;flex-wrap:wrap;padding-top:12px;border-top:1px solid var(--border)}.note-bar-wrap{display:flex;align-items:center;gap:8px}.note-bar{height:6px;border-radius:3px;background:var(--primary-500);min-width:4px;max-width:80px;transition:width .4s}.note-bar.good{background:var(--emerald-500)}.note-bar.bad{background:var(--red-500)}.note-val{font-weight:700;color:var(--neutral-800)}.note-pct{font-size:12px;color:var(--text-muted)}.mb-6{margin-bottom:24px}@media(max-width:1200px){.kpi-grid{grid-template-columns:repeat(2,1fr)}.dash-grid{grid-template-columns:1fr 1fr}}@media(max-width:768px){.sidebar{position:fixed;left:-100%;top:0;height:100vh;z-index:1000;width:256px;transition:left .3s ease;display:flex!important;padding-top:env(safe-area-inset-top)}.sidebar.mobile-open{left:0}.sidebar-overlay{position:fixed;inset:0;background:#00000080;z-index:999}.toolbar>.form-group,.toolbar>.form-field{flex:1 1 auto;min-width:0;align-self:stretch;width:100%}.toolbar>.form-group .select-sm,.toolbar>.form-group .form-input-sm,.toolbar>.form-field .select-sm,.toolbar>.form-field .form-select-sm .toolbar>.form-field .form-input-sm{width:100%}.toolbar>.checkbox-wrapper,.toolbar>.checkbox-group{align-self:flex-start;min-height:0}.topbar{height:auto;min-height:56px;padding:10px 14px;padding-top:calc(10px + env(safe-area-inset-top));flex-wrap:nowrap;gap:8px}.topbar-left{gap:8px;flex:1 1 auto;min-width:0}.topbar-right{flex:0 0 auto}.menu-btn{flex-shrink:0}.search-input{width:100%}.search-container{flex:1;min-width:0}.search-input,.form-input,.select-sm,.form-input-sm,select,input:not([type=checkbox]):not([type=radio]):not([type=range]),textarea{font-size:16px}.page{padding:16px;padding-bottom:calc(16px + env(safe-area-inset-bottom))}.break-anywhere{overflow-wrap:anywhere;word-break:break-word}.page-header{flex-direction:column;align-items:stretch;gap:12px}.page-title{font-size:20px}.header-actions{flex-wrap:wrap}.kpi-grid{grid-template-columns:1fr 1fr;gap:10px}.kpi-card{padding:14px 16px;gap:12px}.kpi-value{font-size:21px}.dash-grid,.finance-summary{grid-template-columns:1fr}.dash-grid>.card{min-width:0}.dash-grid>.card p{overflow-wrap:anywhere;word-break:break-word}.history-item,.history-info{min-width:0}.history-item .cell-name{white-space:normal;overflow-wrap:anywhere}.history-item .cell-sub{overflow-wrap:anywhere;word-break:break-word}.form-row,.family-grid,.classes-grid,.events-grid{grid-template-columns:1fr}.toolbar{flex-direction:column;align-items:stretch}.search-wrap{max-width:none}.toolbar-filters{flex-wrap:wrap}.select-sm,.form-input-sm,.form-select-sm{flex:1;min-width:120px}.data-table{min-width:0}*:has(>.data-table),*:has(>table.data-table){overflow-x:visible}.data-table thead{display:none}.data-table,.data-table tbody,.data-table tr{display:block;width:100%}.data-table tbody tr{display:grid;grid-template-columns:1fr auto;column-gap:12px;row-gap:10px;align-items:center;padding:14px 16px;margin:0 0 10px;background:var(--surface, #ffffff);border:1px solid var(--border, #e8eaf0);border-radius:14px;box-shadow:0 1px 2px #0f172a0a;transition:box-shadow .15s,border-color .15s}.data-table tbody tr:last-child{margin-bottom:0}.data-table tbody tr:hover{box-shadow:0 4px 14px #0f172a12;border-color:#dbe0ea}.data-table td{display:flex;flex-direction:column;gap:3px;padding:0;border:none;font-size:13.5px;min-width:0;grid-column:1 / -1}.data-table td:before{content:attr(data-label);font-size:10px;font-weight:700;color:var(--text-muted, #94a3b8);text-transform:uppercase;letter-spacing:.4px}.data-table td[data-full]{order:-20;grid-column:1;font-size:15px;font-weight:700;color:var(--neutral-900, #0f172a)}.data-table td[data-full]:before,.data-table td[colspan]:before{display:none}.data-table td[colspan]{grid-column:1 / -1}.data-table td[data-label=Actions]{order:-19;grid-column:2;flex-direction:row;justify-content:flex-end;align-items:center;gap:4px}.data-table td[data-label=Actions]:before{display:none}.data-table td[data-full]{padding-bottom:12px;border-bottom:1px solid var(--neutral-100, #f1f5f9)}.data-table td[data-strong]{order:-10;grid-column:1 / -1;font-size:1.35rem;font-weight:800;color:var(--neutral-900, #0f172a)}.data-table td[data-strong] .amount{font-size:inherit;font-weight:inherit}.data-table td:not([data-full]):not([data-strong]):not([data-label=Actions]):not([colspan]){grid-column:span 1}.only-mobile{display:block}.data-table td.hide-mobile{display:none}.data-table--compact td:not([data-strong]):before{display:none}.data-table td.cell-badge{grid-column:2;align-items:flex-end;justify-content:center;gap:6px}.data-table td.cell-badge .pill,.data-table td.cell-badge app-paiement-badges{white-space:nowrap}.data-table--compact td[data-strong]{grid-column:1}.data-table .user-cell{gap:8px}.data-table .table-avatar{width:30px;height:30px;font-size:11px}.data-table .cell-name{font-size:15px;white-space:normal}.data-table .cell-sub{font-size:11.5px}.data-table .pill{padding:3px 9px;font-size:11px}.data-table td .pill{margin-right:4px}.modal-overlay{padding:12px;align-items:flex-end}.modal{max-width:none;max-height:calc(100dvh - 24px);overflow-y:auto}.modal-form{padding:16px 18px}.modal-header{padding:16px 18px 12px}.inscription-row{grid-template-columns:1fr}.inscription-row-second,.inscription-actions{flex-direction:column;align-items:stretch}.auth-card{padding:2rem 1.5rem;border-radius:1rem}.auth-container{padding:1rem}}@media(max-width:480px){html{font-size:16px}.page{padding:12px}.page-title{font-size:18px}.page-subtitle{font-size:12.5px}.kpi-grid{grid-template-columns:1fr;gap:8px}.kpi-card{padding:14px}.card{padding:16px 18px}.btn{width:100%;justify-content:center;padding:10px 16px}.header-actions,.modal-actions{flex-direction:column-reverse}.header-actions,.header-actions .btn,.modal-actions .btn{width:100%}.quick-actions{grid-template-columns:1fr}.sourates-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}.auth-card{padding:1.75rem 1.25rem}.auth-title{font-size:1.4rem}.auth-logo{width:64px;height:64px}}@keyframes blink{0%,to{opacity:1}50%{opacity:.3}}.auth-container{min-height:100vh;min-height:100dvh;display:flex;align-items:center;justify-content:center;background:var(--brand-gradient-auth, linear-gradient(135deg, #1D4ED8 0%, #2563EB 100%));padding:2rem;position:relative;overflow:hidden}.auth-container:before{content:"";position:absolute;width:600px;height:600px;background:#ffffff1a;border-radius:50%;top:-200px;right:-200px;animation:float 20s ease-in-out infinite}.auth-container:after{content:"";position:absolute;width:400px;height:400px;background:#ffffff14;border-radius:50%;bottom:-150px;left:-150px;animation:float 15s ease-in-out infinite reverse}@keyframes float{0%,to{transform:translate(0) rotate(0)}50%{transform:translate(30px,30px) rotate(180deg)}}.auth-card{background:#fff;border-radius:1.5rem;padding:3rem;width:100%;max-width:440px;box-shadow:0 25px 50px -12px #00000040;position:relative;z-index:1}.auth-card-centered{text-align:center;max-width:500px}.auth-header{text-align:center;margin-bottom:2.5rem}.auth-logo{width:80px;height:80px;background:var(--brand-gradient-auth, linear-gradient(135deg, #1D4ED8 0%, #2563EB 100%));border-radius:1.25rem;margin:0 auto 1.5rem;display:flex;align-items:center;justify-content:center;box-shadow:0 10px 25px #2563eb59}.auth-logo svg{width:40px;height:40px;stroke:#fff}.auth-icon{width:100px;height:100px;border-radius:50%;margin:0 auto 2rem;display:flex;align-items:center;justify-content:center}.auth-icon-error{background:linear-gradient(135deg,#ef4444,#dc2626);box-shadow:0 10px 25px #ef444466}.auth-icon svg{stroke:#fff}.auth-title{font-size:1.75rem;font-weight:700;color:#1e293b;margin-bottom:.5rem}.auth-title-large{font-size:2rem;margin-bottom:1rem}.auth-subtitle{font-size:.9375rem;color:#64748b}.auth-subtitle-large{font-size:1rem;margin-bottom:2rem;line-height:1.6}.auth-card .form-group{margin-bottom:1.5rem}.auth-card .form-group label{display:block;font-size:.875rem;font-weight:600;color:#334155;margin-bottom:.5rem}.auth-card .form-input{width:100%;padding:.875rem 1rem;border:2px solid #e2e8f0;border-radius:.75rem;font-size:.9375rem;color:#1e293b;background:#f8fafc;transition:all .3s ease;outline:none}.auth-card .form-input:focus{border-color:var(--brand-600, #2563EB);background:#fff;box-shadow:0 0 0 4px #2563eb1f}.auth-card .form-input::placeholder{color:#94a3b8}@media(max-width:768px){.auth-container{overflow:hidden;padding:0;align-items:stretch;justify-content:stretch}.auth-container:before,.auth-container:after{display:none}.auth-card{width:100%;max-width:none;min-height:100dvh;border-radius:0;box-shadow:none;padding:2rem 1.5rem;padding-top:calc(2rem + env(safe-area-inset-top,0px));padding-bottom:calc(2rem + env(safe-area-inset-bottom,0px));display:flex;flex-direction:column;justify-content:center}}@media(max-width:480px){.auth-card{padding:1.5rem 1.25rem;padding-top:calc(1.5rem + env(safe-area-inset-top,0px));padding-bottom:calc(1.5rem + env(safe-area-inset-bottom,0px))}}.input-wrapper{position:relative}.input-icon{position:absolute;left:1rem;top:50%;transform:translateY(-50%);color:#64748b;pointer-events:none}.form-input.with-icon{padding-left:3rem}.remember-forgot{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem}.remember-me{display:flex;align-items:center;gap:8px;font-size:.875rem;color:#64748b;cursor:pointer}.remember-me input[type=checkbox]{width:16px;height:16px;cursor:pointer;accent-color:var(--brand-600, #2563EB)}.forgot-password{font-size:.875rem;color:var(--brand-600, #2563EB);text-decoration:none;font-weight:500;transition:color .2s ease}.forgot-password:hover{color:var(--brand-700, #1D4ED8)}.submit-btn{width:100%;padding:1rem;background:var(--brand-gradient-auth, linear-gradient(135deg, #1D4ED8 0%, #2563EB 100%));color:#fff;border:none;border-radius:.75rem;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 10px 25px #2563eb59}.submit-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 15px 35px #2563eb73}.submit-btn:active:not(:disabled){transform:translateY(0)}.submit-btn:disabled{opacity:.6;cursor:not-allowed}.auth-footer{text-align:center;margin-top:2rem;padding-top:1.5rem;border-top:1px solid #e2e8f0}.auth-footer p{font-size:.875rem;color:#64748b;margin:0}.auth-footer a{color:var(--brand-600, #2563EB);text-decoration:none;font-weight:500;font-size:.875rem;transition:color .2s ease}.auth-footer a:hover{color:var(--brand-700, #1D4ED8)}.error-message{background:#fef2f2;color:#dc2626;padding:.75rem 1rem;border-radius:.5rem;font-size:.875rem;margin-bottom:1.5rem;border:1px solid #fecaca}.success-message{background:#f0fdf4;color:#16a34a;padding:1rem;border-radius:.5rem;font-size:.875rem;margin-bottom:1.5rem;border:1px solid #bbf7d0}.password-strength{font-size:.875rem;margin-top:.5rem}.password-strength.weak{color:#dc2626}.password-strength.medium{color:#d97706}.password-strength.strong{color:#16a34a}.dropdown-item{display:flex;align-items:center;gap:12px;padding:12px 16px;cursor:pointer;transition:background .2s ease;color:#334155;font-size:14px}.dropdown-item:hover{background:#f8fafc}.dropdown-item svg{color:#64748b}.dropdown-divider{height:1px;background:#e2e8f0;margin:0}:root{--brand-50: #EFF6FF;--brand-100: #DBEAFE;--brand-200: #BFDBFE;--brand-300: #93C5FD;--brand-400: #60A5FA;--brand-500: #3B82F6;--brand-600: #2563EB;--brand-700: #1D4ED8;--brand-800: #1E40AF;--brand-900: #1E3A8A;--brand-gradient-auth: linear-gradient(135deg, #1D4ED8 0%, #2563EB 100%);--neutral-0: #FFFFFF;--neutral-50: #F8FAFC;--neutral-100: #F1F5F9;--neutral-150: #EEF2F7;--neutral-200: #E2E8F0;--neutral-300: #CBD5E1;--neutral-400: #94A3B8;--neutral-500: #64748B;--neutral-600: #475569;--neutral-700: #334155;--neutral-800: #1E293B;--neutral-900: #0F172A;--bg: #F8FAFC;--surface: #FFFFFF;--surface-2: #F8FAFC;--border: #E2E8F0;--border-strong: #CBD5E1;--border-color: var(--border);--text-primary: #0F172A;--text-secondary: #475569;--text-muted: #64748B;--text-on-brand: #FFFFFF;--text-disabled: #94A3B8;--success-bg: #ECFDF5;--success-border: #A7F3D0;--success-fg: #047857;--success-solid: #059669;--success-strong: #065F46;--danger-bg: #FEF2F2;--danger-border: #FECACA;--danger-fg: #B91C1C;--danger-solid: #DC2626;--danger-strong: #991B1B;--warning-bg: #FFFBEB;--warning-border: #FDE68A;--warning-fg: #B45309;--warning-solid: #D97706;--warning-strong: #92400E;--info-bg: var(--brand-50);--info-border: var(--brand-200);--info-fg: var(--brand-700);--info-solid: var(--brand-600);--info-strong: var(--brand-800);--primary: var(--brand-600);--primary-50: var(--brand-50);--primary-100: var(--brand-100);--primary-200: var(--brand-200);--primary-300: var(--brand-300);--primary-400: var(--brand-400);--primary-500: var(--brand-500);--primary-600: var(--brand-600);--primary-700: var(--brand-700);--primary-800: var(--brand-800);--red-50: var(--danger-bg);--red-500: var(--danger-solid);--red-600: var(--danger-fg);--red-700: var(--danger-strong);--emerald-50: var(--success-bg);--emerald-500: #10B981;--emerald-600: var(--success-fg);--success-400: #34D399;--amber-50: var(--warning-bg);--amber-400: #FBBF24;--amber-500: var(--warning-solid);--amber-600: var(--warning-fg);--teal-50: #F0FDFA;--teal-500: #14B8A6;--teal-600: #0D9488;--font-sans: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-arabic: "Noto Naskh Arabic", "Cairo", "Amiri", serif;--font-mono: ui-monospace, "SF Mono", "Cascadia Code", Menlo, monospace;--text-xs: .75rem;--text-sm: .8125rem;--text-base: .875rem;--text-md: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 1.875rem;--font-normal: 400;--font-medium: 500;--font-semibold: 600;--font-bold: 700;--leading-tight: 1.25;--leading-normal: 1.5;--leading-relaxed: 1.65;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-7: 2rem;--space-8: 2.5rem;--space-9: 3rem;--space-10: 4rem;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 14px;--radius-xl: 18px;--radius-full: 9999px;--radius: var(--radius-md);--radius-lg-legacy: 16px;--shadow-xs: 0 1px 2px rgba(15, 23, 42, .04);--shadow-sm: 0 1px 3px rgba(15, 23, 42, .07), 0 1px 2px rgba(15, 23, 42, .05);--shadow-md: 0 4px 6px -1px rgba(15, 23, 42, .08), 0 2px 4px -1px rgba(15, 23, 42, .05);--shadow-lg: 0 10px 25px -5px rgba(15, 23, 42, .1), 0 4px 10px -4px rgba(15, 23, 42, .08);--focus-ring: 0 0 0 3px color-mix(in srgb, var(--brand-600) 35%, transparent);--focus-ring-danger: 0 0 0 3px color-mix(in srgb, var(--danger-solid) 30%, transparent);--overlay-bg: color-mix(in srgb, var(--neutral-900) 55%, transparent);--shadow: var(--shadow-md);--z-base: 0;--z-sticky: 100;--z-dropdown: 1000;--z-overlay: 1100;--z-modal: 1200;--z-toast: 1300;--duration-fast: .12s;--duration-base: .18s;--duration-slow: .28s;--ease-standard: cubic-bezier(.4, 0, .2, 1);--control-h-sm: 36px;--control-h-md: 44px;--control-h-lg: 52px;--bp-sm: 480px;--bp-md: 768px;--bp-lg: 1024px;--sidebar-bg: #0F172A;--sidebar-width: 256px;--sidebar-collapsed: 64px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:34px;padding:0 var(--space-4);border:1px solid transparent;border-radius:var(--radius-md);font-family:var(--font-sans);font-size:var(--text-base);font-weight:var(--font-semibold);line-height:1;text-decoration:none;white-space:nowrap;cursor:pointer;transition:background var(--duration-fast) var(--ease-standard),border-color var(--duration-fast) var(--ease-standard),color var(--duration-fast) var(--ease-standard)}.btn:focus-visible{outline:none;box-shadow:var(--focus-ring)}.btn:disabled,.btn[aria-disabled=true]{opacity:.55;cursor:not-allowed}.btn-primary{background:var(--brand-600);color:var(--text-on-brand);border-color:var(--brand-600)}.btn-secondary{background:var(--surface);color:var(--brand-700);border-color:var(--brand-200)}.btn-ghost{background:transparent;color:var(--text-secondary);border-color:var(--border)}.btn-danger{background:var(--danger-solid);color:#fff;border-color:var(--danger-solid)}@media(hover:hover){.btn-primary:hover:not(:disabled){background:var(--brand-700);border-color:var(--brand-700)}.btn-secondary:hover:not(:disabled){background:var(--brand-50)}.btn-ghost:hover:not(:disabled){background:var(--neutral-50);border-color:var(--border-strong)}.btn-danger:hover:not(:disabled){background:var(--danger-strong);border-color:var(--danger-strong)}}.btn-sm{min-height:var(--control-h-sm);padding:0 var(--space-3);font-size:var(--text-sm)}.btn-lg{min-height:var(--control-h-lg);padding:0 var(--space-5);font-size:var(--text-md)}.btn-icon{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:none;border-radius:var(--radius-md);background:transparent;color:var(--text-muted);cursor:pointer;transition:background var(--duration-fast) var(--ease-standard),color var(--duration-fast) var(--ease-standard)}.btn-icon:focus-visible{outline:none;box-shadow:var(--focus-ring)}.btn-icon.btn-icon-sm{width:28px;height:28px}@media(hover:hover){.btn-icon:hover{background:var(--neutral-100);color:var(--text-secondary)}}.btn-icon.is-danger{color:var(--danger-fg)}@media(hover:hover){.btn-icon.is-danger:hover{background:var(--danger-bg)}}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-5);box-shadow:var(--shadow-sm)}.card-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-4)}.card-title{font-size:var(--text-md);font-weight:var(--font-semibold);color:var(--text-primary)}.form-field{display:flex;flex-direction:column;gap:var(--space-1);margin-bottom:var(--space-4)}.form-label{font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--text-secondary)}.form-label .required{color:var(--danger-fg);margin-left:2px}.form-input,.form-select,.form-textarea{width:100%;min-height:var(--control-h-md);padding:0 var(--space-3);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);color:var(--text-primary);font-family:var(--font-sans);font-size:var(--text-base);outline:none;transition:border-color var(--duration-fast) var(--ease-standard),box-shadow var(--duration-fast) var(--ease-standard)}.form-textarea{padding:var(--space-2) var(--space-3);min-height:88px;line-height:var(--leading-normal);resize:vertical}.form-input::placeholder,.form-textarea::placeholder{color:var(--text-muted)}.form-input:focus-visible,.form-select:focus-visible,.form-textarea:focus-visible,.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--brand-500);box-shadow:var(--focus-ring)}.form-input:disabled,.form-select:disabled,.form-textarea:disabled{background:var(--neutral-100);color:var(--text-disabled);cursor:not-allowed}.form-input.is-error,.form-input[aria-invalid=true],.form-select.is-error,.form-select[aria-invalid=true],.form-textarea.is-error,.form-textarea[aria-invalid=true]{border-color:var(--danger-solid)}.form-input.is-error:focus,.form-select.is-error:focus,.form-textarea.is-error:focus{box-shadow:var(--focus-ring-danger)}.form-hint{font-size:var(--text-xs);color:var(--text-muted)}.form-error{font-size:var(--text-xs);color:var(--danger-fg);font-weight:var(--font-medium)}.form-input-sm,.form-select-sm{min-height:var(--control-h-sm);font-size:var(--text-sm)}.data-table{width:100%;border-collapse:collapse}.data-table thead th{padding:var(--space-2) var(--space-3);text-align:left;font-size:var(--text-xs);font-weight:var(--font-semibold);color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;background:var(--surface-2);border-bottom:1px solid var(--border);white-space:nowrap}.data-table tbody td{padding:var(--space-2) var(--space-3);font-size:var(--text-sm);color:var(--text-secondary);border-bottom:1px solid var(--neutral-100);vertical-align:middle}@media(hover:hover){.data-table tbody tr:hover td{background:var(--neutral-50)}}.data-table .text-right{text-align:right}@media(max-width:767.98px){.data-table thead{display:none}.data-table,.data-table tbody,.data-table tr,.data-table td{display:block;width:100%}.data-table tbody tr{display:grid;grid-template-columns:1fr auto;align-items:center;gap:var(--space-1) var(--space-3);padding:var(--space-3) var(--space-4);margin-bottom:var(--space-2);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-xs)}.data-table tbody td{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-3);padding:0;border:none;grid-column:1 / -1}.data-table tbody td:before{content:attr(data-label);flex:0 0 auto;font-size:var(--text-xs);font-weight:var(--font-semibold);color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em}.data-table tbody td[data-full]{order:-1;font-size:var(--text-md);font-weight:var(--font-semibold);color:var(--text-primary);padding-bottom:var(--space-2);border-bottom:1px solid var(--neutral-100)}.data-table tbody td[data-full]:before{display:none}.data-table tbody td[data-label=Actions]{grid-column:2;justify-content:flex-end}.data-table tbody td[data-label=Actions]:before{display:none}.data-table tbody td.hide-mobile{display:none}}.modal-overlay{position:fixed;inset:0;z-index:var(--z-overlay);display:flex;align-items:center;justify-content:center;padding:var(--space-4);padding-bottom:calc(var(--space-4) + env(safe-area-inset-bottom));background:#0f172a8c;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.modal{position:relative;z-index:var(--z-modal);width:100%;max-width:520px;max-height:calc(100dvh - 2 * var(--space-4));display:flex;flex-direction:column;overflow:hidden;background:var(--surface);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg)}.modal-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--border)}.modal-title{font-size:var(--text-lg);font-weight:var(--font-semibold);color:var(--text-primary)}.modal-body{padding:var(--space-5);overflow-y:auto}.modal-actions{display:flex;justify-content:flex-end;gap:var(--space-2);padding:var(--space-3) var(--space-5);padding-bottom:calc(var(--space-3) + env(safe-area-inset-bottom));border-top:1px solid var(--border);background:var(--surface)}@media(max-width:479.98px){.modal-overlay{align-items:flex-end;padding:0}.modal{max-width:none;border-radius:var(--radius-xl) var(--radius-xl) 0 0}}.badge{display:inline-flex;align-items:center;gap:var(--space-1);padding:2px var(--space-2);border-radius:var(--radius-full);border:1px solid transparent;font-size:var(--text-xs);font-weight:var(--font-semibold);line-height:1.4;white-space:nowrap}.badge-neutral{background:var(--neutral-100);color:var(--neutral-600);border-color:var(--neutral-200)}.badge-brand{background:var(--brand-50);color:var(--brand-700);border-color:var(--brand-200)}.badge-success{background:var(--success-bg);color:var(--success-fg);border-color:var(--success-border)}.badge-danger{background:var(--danger-bg);color:var(--danger-fg);border-color:var(--danger-border)}.badge-warning{background:var(--warning-bg);color:var(--warning-fg);border-color:var(--warning-border)}.badge-info{background:var(--info-bg);color:var(--info-fg);border-color:var(--info-border)}.tabs{display:flex;gap:var(--space-1);overflow-x:auto;scrollbar-width:none;border-bottom:1px solid var(--border)}.tabs::-webkit-scrollbar{display:none}.tab{flex:0 0 auto;min-height:var(--control-h-md);padding:0 var(--space-4);border:none;background:transparent;color:var(--text-secondary);font-size:var(--text-base);font-weight:var(--font-medium);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px}.tab[aria-selected=true]{color:var(--brand-700);border-bottom-color:var(--brand-600);font-weight:var(--font-semibold)}.tab:focus-visible{outline:none;box-shadow:var(--focus-ring);border-radius:var(--radius-sm)}.segmented{display:inline-flex;background:var(--neutral-100);border-radius:var(--radius-md);padding:3px}.segmented .seg{min-height:var(--control-h-sm);padding:0 var(--space-3);border:none;background:transparent;color:var(--text-secondary);font-size:var(--text-sm);font-weight:var(--font-medium);border-radius:var(--radius-sm);cursor:pointer}.segmented .seg[aria-selected=true]{background:var(--surface);color:var(--brand-700);box-shadow:var(--shadow-xs)}.segmented .seg:focus-visible{outline:none;box-shadow:var(--focus-ring)}.empty-state{display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--space-2);padding:var(--space-9) var(--space-5);color:var(--text-muted)}.empty-state .empty-icon{color:var(--neutral-300)}.empty-state .empty-title{font-size:var(--text-md);font-weight:var(--font-semibold);color:var(--text-secondary)}.empty-state .empty-sub{font-size:var(--text-sm);color:var(--text-muted)}.alert{display:flex;gap:var(--space-3);padding:var(--space-3) var(--space-4);border:1px solid transparent;border-radius:var(--radius-md);font-size:var(--text-base)}.alert-info{background:var(--info-bg);color:var(--info-fg);border-color:var(--info-border)}.alert-success{background:var(--success-bg);color:var(--success-fg);border-color:var(--success-border)}.alert-warning{background:var(--warning-bg);color:var(--warning-fg);border-color:var(--warning-border)}.alert-danger{background:var(--danger-bg);color:var(--danger-fg);border-color:var(--danger-border)}.spinner{width:20px;height:20px;border:2px solid var(--neutral-200);border-top-color:var(--brand-600);border-radius:var(--radius-full);animation:ds-spin var(--duration-slow) linear infinite}.spinner-sm{width:14px;height:14px;border-width:2px}@keyframes ds-spin{to{transform:rotate(360deg)}}.skeleton{border-radius:var(--radius-md);background:linear-gradient(90deg,var(--neutral-100) 25%,var(--neutral-50) 50%,var(--neutral-100) 75%);background-size:200% 100%;animation:ds-shimmer 1.4s infinite}@keyframes ds-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.progress{height:8px;border-radius:var(--radius-full);background:var(--neutral-150);overflow:hidden}.progress-bar{height:100%;border-radius:var(--radius-full);background:var(--brand-600);transition:width var(--duration-slow) var(--ease-standard)}.progress-bar.is-success{background:var(--success-solid)}.progress-bar.is-warning{background:var(--warning-solid)}.progress-bar.is-danger{background:var(--danger-solid)}.pagination{display:flex;align-items:center;justify-content:center;gap:var(--space-1);margin-top:var(--space-4)}.pagination-btn{display:inline-flex;align-items:center;justify-content:center;min-width:var(--control-h-md);height:var(--control-h-md);padding:0 var(--space-2);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text-primary);font-size:var(--text-sm);cursor:pointer}.pagination-btn:focus-visible{outline:none;box-shadow:var(--focus-ring)}.pagination-btn:disabled{opacity:.5;cursor:not-allowed}.pagination-btn.active{background:var(--brand-600);border-color:var(--brand-600);color:var(--text-on-brand);font-weight:var(--font-semibold)}@media(hover:hover){.pagination-btn:hover:not(:disabled):not(.active){background:var(--neutral-100);border-color:var(--border-strong)}}.pagination-ellipsis{padding:0 var(--space-2);color:var(--text-muted)}.avatar{display:inline-flex;align-items:center;justify-content:center;width:var(--control-h-md);height:var(--control-h-md);border-radius:var(--radius-full);color:#fff;font-weight:var(--font-semibold);font-size:var(--text-sm);flex-shrink:0;overflow:hidden}.avatar-sm{width:var(--control-h-sm);height:var(--control-h-sm);font-size:var(--text-xs)}.avatar-lg{width:56px;height:56px;font-size:var(--text-lg)}.avatar img{width:100%;height:100%;object-fit:cover}.avatar-c0{background:var(--brand-600)}.avatar-c1{background:var(--teal-600)}.avatar-c2{background:var(--success-solid)}.avatar-c3{background:var(--warning-solid)}.avatar-c4{background:#7c3aed}.avatar-c5{background:var(--danger-solid)}.avatar-dot{position:absolute;right:-1px;bottom:-1px;width:12px;height:12px;border-radius:var(--radius-full);border:2px solid var(--surface)}.avatar-dot.is-on{background:var(--success-solid)}.avatar-dot.is-off{background:var(--danger-solid)}.page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-5);flex-wrap:wrap}.page-title{font-size:var(--text-2xl);font-weight:var(--font-bold);color:var(--text-primary)}.page-subtitle{font-size:var(--text-sm);color:var(--text-muted);margin-top:2px}.toolbar,.filters-bar{display:flex;align-items:flex-end;gap:var(--space-3);flex-wrap:wrap;margin-bottom:var(--space-4)}.filters-bar .form-field{margin-bottom:0;flex:1 1 200px;min-width:0}.stack{display:flex;flex-direction:column;gap:var(--space-4)}.stack-2{display:flex;flex-direction:column;gap:var(--space-2)}.cluster{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2)}.cluster-between{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.fiche-header{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-4) var(--space-5);background:var(--brand-600);border-radius:var(--radius-lg);color:var(--text-on-brand)}.fiche-header .fiche-avatar{width:56px;height:56px;flex-shrink:0;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-full);background:#ffffff2e;border:1px solid rgba(255,255,255,.3);font-size:var(--text-lg);font-weight:var(--font-bold)}.fiche-header .fiche-id{flex:1;min-width:0}.fiche-header .fiche-name{font-size:var(--text-lg);font-weight:var(--font-bold)}.fiche-header .fiche-sub{font-size:var(--text-sm);opacity:.9}.fiche-header .fiche-actions{display:flex;gap:var(--space-2);flex-shrink:0}.fiche-header .fiche-actions .btn{background:#ffffff2e;border-color:#ffffff4d;color:#fff}@media(hover:hover){.fiche-header .fiche-actions .btn:hover{background:#ffffff47}}.auth-bg{background:var(--brand-gradient-auth)}.full-height{height:100dvh}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}@media print{.sidebar,.app-sidebar,.topbar,.app-topbar,.btn,.btn-icon,.pagination,.toolbar,.filters-bar,.modal-overlay,.no-print{display:none!important}body,.page,.card{background:#fff!important;box-shadow:none!important}.card{border:1px solid #cccccc;break-inside:avoid}a[href]:after{content:""}}@media(pointer:coarse){.btn{min-height:var(--control-h-md)}.btn-sm{min-height:var(--control-h-sm)}.btn-icon{width:var(--control-h-md);height:var(--control-h-md)}.btn-icon.btn-icon-sm{width:var(--control-h-sm);height:var(--control-h-sm)}.form-input,.form-select,textarea,input{font-size:16px}}.m-0{margin:0!important}.mt-1{margin-top:var(--space-1)}.mt-2{margin-top:var(--space-2)}.mt-3{margin-top:var(--space-3)}.mt-4{margin-top:var(--space-4)}.mt-6{margin-top:var(--space-6)}.mb-1{margin-bottom:var(--space-1)}.mb-2{margin-bottom:var(--space-2)}.mb-3{margin-bottom:var(--space-3)}.mb-4{margin-bottom:var(--space-4)}.mb-6{margin-bottom:var(--space-6)}.ml-auto{margin-left:auto}.mr-auto{margin-right:auto}.gap-1{gap:var(--space-1)}.gap-2{gap:var(--space-2)}.gap-3{gap:var(--space-3)}.gap-4{gap:var(--space-4)}.flex{display:flex}.flex-col{display:flex;flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.justify-between{justify-content:space-between}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.flex-1{flex:1 1 auto;min-width:0}.grow{flex-grow:1}.text-muted{color:var(--text-muted)}.text-secondary{color:var(--text-secondary)}.text-danger{color:var(--danger-fg)}.text-success{color:var(--success-fg)}.text-right{text-align:right}.text-center{text-align:center}.text-sm{font-size:var(--text-sm)}.text-xs{font-size:var(--text-xs)}.font-medium{font-weight:var(--font-medium)}.font-semibold{font-weight:var(--font-semibold)}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.required:after{content:" *";color:var(--danger-fg)}.field-error{font-size:var(--text-xs);color:var(--danger-fg);font-weight:var(--font-medium);margin-top:var(--space-1)}.ar{direction:rtl;text-align:right;font-family:var(--font-arabic);unicode-bidi:plaintext}.only-mobile{display:none}.only-desktop{display:revert}@media(max-width:767.98px){.only-mobile{display:revert}.only-desktop{display:none}}.w-full{width:100%}.hidden{display:none!important}.pointer{cursor:pointer}
