@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:300;src:url(/assets/ibm-plex-sans-cyrillic-ext-300-normal-DqmgDkIN.woff2)format("woff2"),url(/assets/ibm-plex-sans-cyrillic-ext-300-normal-Bbd5v1xK.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:300;src:url(/assets/ibm-plex-sans-cyrillic-300-normal-RhT0Ayi3.woff2)format("woff2"),url(/assets/ibm-plex-sans-cyrillic-300-normal-LoaTnByX.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:300;src:url(/assets/ibm-plex-sans-greek-300-normal-J-CBqZoJ.woff2)format("woff2"),url(/assets/ibm-plex-sans-greek-300-normal-STc8XiDr.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:300;src:url(/assets/ibm-plex-sans-vietnamese-300-normal-SDfX6ktj.woff2)format("woff2"),url(/assets/ibm-plex-sans-vietnamese-300-normal-CkYRZD2a.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:300;src:url(/assets/ibm-plex-sans-latin-ext-300-normal-BLFuR0P1.woff2)format("woff2"),url(/assets/ibm-plex-sans-latin-ext-300-normal-B8Zgwjh3.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:300;src:url(/assets/ibm-plex-sans-latin-300-normal-b4i7YzLG.woff2)format("woff2"),url(/assets/ibm-plex-sans-latin-300-normal-C9Of02-5.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-cyrillic-ext-400-normal-g30qAdWV.woff2)format("woff2"),url(/assets/ibm-plex-sans-cyrillic-ext-400-normal-Dsrv2Tcn.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-cyrillic-400-normal-DZqxrq2p.woff2)format("woff2"),url(/assets/ibm-plex-sans-cyrillic-400-normal-BTotfTJu.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-greek-400-normal-_efipK4i.woff2)format("woff2"),url(/assets/ibm-plex-sans-greek-400-normal-D9ESIMu3.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-vietnamese-400-normal-DG4YqDda.woff2)format("woff2"),url(/assets/ibm-plex-sans-vietnamese-400-normal-fK1oJ5dG.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-latin-ext-400-normal-C5H60-Va.woff2)format("woff2"),url(/assets/ibm-plex-sans-latin-ext-400-normal-RBey6euL.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-latin-400-normal-CDDApCn2.woff2)format("woff2"),url(/assets/ibm-plex-sans-latin-400-normal-CYLoc0-x.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-cyrillic-ext-500-normal-Cs5J6C77.woff2)format("woff2"),url(/assets/ibm-plex-sans-cyrillic-ext-500-normal-DB5PtV2g.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-cyrillic-500-normal-CocWQlwt.woff2)format("woff2"),url(/assets/ibm-plex-sans-cyrillic-500-normal-ByOcLdNv.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-greek-500-normal-JMMifIXV.woff2)format("woff2"),url(/assets/ibm-plex-sans-greek-500-normal-CuWXN6rf.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-vietnamese-500-normal-e4dixQRQ.woff2)format("woff2"),url(/assets/ibm-plex-sans-vietnamese-500-normal-BEb3_waV.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-latin-ext-500-normal-DakdToA3.woff2)format("woff2"),url(/assets/ibm-plex-sans-latin-ext-500-normal-D0aIdm-b.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-latin-500-normal-6ng42L7E.woff2)format("woff2"),url(/assets/ibm-plex-sans-latin-500-normal-BgVn5rGT.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-cyrillic-ext-600-normal-DUMzJB7m.woff2)format("woff2"),url(/assets/ibm-plex-sans-cyrillic-ext-600-normal-Bz0x94Yp.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-cyrillic-600-normal-71GNu3SW.woff2)format("woff2"),url(/assets/ibm-plex-sans-cyrillic-600-normal-BGq0mW3O.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-greek-600-normal-DzTrcv_p.woff2)format("woff2"),url(/assets/ibm-plex-sans-greek-600-normal-D-CqTdkO.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-vietnamese-600-normal-DpPYBSTl.woff2)format("woff2"),url(/assets/ibm-plex-sans-vietnamese-600-normal-DgdngZtN.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-latin-ext-600-normal-DOrvGEcy.woff2)format("woff2"),url(/assets/ibm-plex-sans-latin-ext-600-normal-DIrixKbi.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-latin-600-normal-CuJfVYMP.woff2)format("woff2"),url(/assets/ibm-plex-sans-latin-600-normal-Cu4Hd6ag.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/ibm-plex-sans-cyrillic-ext-700-normal-BmRLXWpJ.woff2)format("woff2"),url(/assets/ibm-plex-sans-cyrillic-ext-700-normal-DCQwxkRk.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/ibm-plex-sans-cyrillic-700-normal-D_uavGvn.woff2)format("woff2"),url(/assets/ibm-plex-sans-cyrillic-700-normal-RFb1v-CK.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/ibm-plex-sans-greek-700-normal-wyJ6jzdA.woff2)format("woff2"),url(/assets/ibm-plex-sans-greek-700-normal-CkZN0sRy.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/ibm-plex-sans-vietnamese-700-normal-CkEo6LDy.woff2)format("woff2"),url(/assets/ibm-plex-sans-vietnamese-700-normal-BV5B8Are.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/ibm-plex-sans-latin-ext-700-normal-aMgXseD4.woff2)format("woff2"),url(/assets/ibm-plex-sans-latin-ext-700-normal-DZH6Xh-4.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/ibm-plex-sans-latin-700-normal-Bxkt5Cjx.woff2)format("woff2"),url(/assets/ibm-plex-sans-latin-700-normal-Bth3BMcD.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-cyrillic-ext-400-normal-xuaO2J-f.woff2)format("woff2"),url(/assets/ibm-plex-mono-cyrillic-ext-400-normal-DMdlQ8Kv.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-cyrillic-400-normal-BSMlKf0J.woff2)format("woff2"),url(/assets/ibm-plex-mono-cyrillic-400-normal-CEL4l2ZJ.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-vietnamese-400-normal-BulugwFq.woff2)format("woff2"),url(/assets/ibm-plex-mono-vietnamese-400-normal-DDuiU_S-.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-ext-400-normal-BmRBH3aV.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-ext-400-normal-D3D2R8hC.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-400-normal-DMJ8VG8y.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-400-normal-CvHOgSBP.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-cyrillic-ext-500-normal-BqneJy0T.woff2)format("woff2"),url(/assets/ibm-plex-mono-cyrillic-ext-500-normal-BIfNGwUT.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-cyrillic-500-normal-Bq9vWWag.woff2)format("woff2"),url(/assets/ibm-plex-mono-cyrillic-500-normal-Ael50iVv.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-vietnamese-500-normal-DZ4AoWbu.woff2)format("woff2"),url(/assets/ibm-plex-mono-vietnamese-500-normal-C8zxqsMH.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-latin-ext-500-normal-CAhNIIs5.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-ext-500-normal-CZ70TYgx.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-latin-500-normal-DSY6xOcd.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-500-normal-CB9ihrfo.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-mono-cyrillic-ext-600-normal-V-xxqcpd.woff2)format("woff2"),url(/assets/ibm-plex-mono-cyrillic-ext-600-normal-9HEixskS.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-mono-cyrillic-600-normal-CTOM6hUh.woff2)format("woff2"),url(/assets/ibm-plex-mono-cyrillic-600-normal-fLZuRloM.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-mono-vietnamese-600-normal-D2EvbN8M.woff2)format("woff2"),url(/assets/ibm-plex-mono-vietnamese-600-normal-iLQfcSjf.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-mono-latin-ext-600-normal-D38SheWl.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-ext-600-normal-DmB0ttJJ.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-mono-latin-600-normal-BgSNZQsw.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-600-normal-DWFSQ4vo.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--color-bg:#0b1220;--color-sidebar:#0f1a2e;--color-surface:#111c33;--color-surface-alt:#16213b;--color-border:#1e293b;--color-border-strong:#29405c;--color-text:#94a3b8;--color-text-muted:#64748b;--color-heading:#f8fafc;--color-accent:#38bdf8;--color-accent-bright:#22d3ee;--color-accent-soft:#38bdf81f;--color-accent-border:#38bdf859;--color-accent-solid:#0ea5e9;--color-accent-solid-hover:#0284c7;--color-accent-solid-text:#fff;--color-hero-glow:#38bdf829;--color-brand-clay:#cf9b6c;--color-brand-clay-soft:#cf9b6c24;--color-brand-clay-border:#cf9b6c59;--color-secondary:#10b981;--color-secondary-soft:#10b9811f;--color-secondary-border:#10b98159;--color-danger:#f87171;--color-danger-soft:#f871711f;--color-danger-border:#f8717159;--color-warning:#fbbf24;--color-warning-soft:#fbbf241f;--chart-1:#38bdf8;--chart-2:#818cf8;--chart-3:#c084fc;--chart-4:#e879f9;--chart-5:#2dd4bf;--chart-6:#7dd3fc;--chart-7:#a78bfa;--chart-8:#cf9b6c;--shadow-sm:0 1px 2px #0000004d;--shadow-md:0 4px 16px #00000059;--shadow-lg:0 24px 60px #00000080;--glow-accent:0 0 60px #38bdf81f;--radius-sm:6px;--radius-md:12px;--radius-lg:18px;--radius-pill:999px;--font-sans:"IBM Plex Sans", "Segoe UI", system-ui, Roboto, Helvetica, Arial, sans-serif;--font-mono:"IBM Plex Mono", ui-monospace, Consolas, "SFMono-Regular", monospace;--fs-display:40px;--fs-h1:28px;--fs-h2:20px;--fs-h3:16px;--fs-body:15px;--fs-body-sm:13px;--fs-caption:11px;--fs-metric:28px;--fs-metric-hero:48px;--duration-fast:.12s;--duration-base:.2s;--duration-slow:.32s;--easing-standard:cubic-bezier(.2, 0, 0, 1);font:var(--fs-body) / 1.55 var(--font-sans);color:var(--color-text);background:var(--color-bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}@media (prefers-color-scheme:light){:root:not([data-theme]){--color-bg:#f4f6f9;--color-sidebar:#fff;--color-surface:#fff;--color-surface-alt:#eef1f6;--color-border:#dfe3ea;--color-border-strong:#c7ccd6;--color-text:#4b5563;--color-text-muted:#6b7280;--color-heading:#101828;--color-accent:#0284c7;--color-accent-bright:#0ea5e9;--color-accent-soft:#0284c714;--color-accent-border:#0284c74d;--color-accent-solid:#0284c7;--color-accent-solid-hover:#026aa1;--color-hero-glow:#0284c71a;--color-secondary:#059669;--color-secondary-soft:#0596691a;--color-secondary-border:#0596694d;--color-danger:#dc2626;--color-danger-soft:#dc262614;--color-danger-border:#dc26264d;--color-warning:#d97706;--color-warning-soft:#d977061a;--shadow-sm:0 1px 2px #1018280f;--shadow-md:0 4px 14px #10182814;--shadow-lg:0 20px 50px #10182824;--glow-accent:0 0 60px #0284c70f}}:root[data-theme=light]{--color-bg:#f4f6f9;--color-sidebar:#fff;--color-surface:#fff;--color-surface-alt:#eef1f6;--color-border:#dfe3ea;--color-border-strong:#c7ccd6;--color-text:#4b5563;--color-text-muted:#6b7280;--color-heading:#101828;--color-accent:#0284c7;--color-accent-bright:#0ea5e9;--color-accent-soft:#0284c714;--color-accent-border:#0284c74d;--color-accent-solid:#0284c7;--color-accent-solid-hover:#026aa1;--color-hero-glow:#0284c71a;--color-secondary:#059669;--color-secondary-soft:#0596691a;--color-secondary-border:#0596694d;--color-danger:#dc2626;--color-danger-soft:#dc262614;--color-danger-border:#dc26264d;--color-warning:#d97706;--color-warning-soft:#d977061a;--shadow-sm:0 1px 2px #1018280f;--shadow-md:0 4px 14px #10182814;--shadow-lg:0 20px 50px #10182824;--glow-accent:0 0 60px #0284c70f}:root[data-theme=dark]{--color-bg:#0b1220;--color-sidebar:#0f1a2e;--color-surface:#111c33;--color-surface-alt:#16213b;--color-border:#1e293b;--color-border-strong:#29405c;--color-text:#94a3b8;--color-text-muted:#64748b;--color-heading:#f8fafc;--color-accent:#38bdf8;--color-accent-bright:#22d3ee;--color-accent-soft:#38bdf81f;--color-accent-border:#38bdf859;--color-accent-solid:#0ea5e9;--color-accent-solid-hover:#0284c7;--color-accent-solid-text:#fff;--color-hero-glow:#38bdf829;--color-secondary:#10b981;--color-secondary-soft:#10b9811f;--color-secondary-border:#10b98159;--color-danger:#f87171;--color-danger-soft:#f871711f;--color-danger-border:#f8717159;--color-warning:#fbbf24;--color-warning-soft:#fbbf241f;--shadow-sm:0 1px 2px #0000004d;--shadow-md:0 4px 16px #00000059;--shadow-lg:0 24px 60px #00000080;--glow-accent:0 0 60px #38bdf81f}*,:before,:after{box-sizing:border-box}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}body{background:var(--color-bg);color:var(--color-text);margin:0}#root{flex-direction:column;min-height:100svh;display:flex}h1,h2,h3{font-family:var(--font-sans);color:var(--color-heading);margin:0 0 8px;font-weight:600}h1{font-size:var(--fs-h1);letter-spacing:-.5px}h2{font-size:var(--fs-h2);letter-spacing:-.2px}h3{font-size:var(--fs-h3)}p{margin:0}a{color:var(--color-accent)}code{font-family:var(--font-mono);font-size:var(--fs-body-sm);background:var(--color-surface-alt);color:var(--color-heading);border-radius:4px;padding:2px 6px}.caption{font-family:var(--font-mono);font-size:var(--fs-caption);text-transform:uppercase;letter-spacing:.6px;color:var(--color-text-muted);font-weight:600;display:inline-block}.metric{font-family:var(--font-mono);font-size:var(--fs-metric);letter-spacing:-.4px;font-variant-numeric:tabular-nums;color:var(--color-heading);font-weight:700;display:inline-block}.metric--hero{font-size:var(--fs-metric-hero);letter-spacing:-1px}button,input{font-family:inherit;font-size:inherit;color:inherit}:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px;border-radius:var(--radius-sm)}.btn{border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);border-radius:var(--radius-sm);cursor:pointer;justify-content:center;align-items:center;gap:6px;padding:9px 16px;font-size:14px;font-weight:600;line-height:1.2;text-decoration:none;transition:background-color .15s,border-color .15s,color .15s,box-shadow .15s;display:inline-flex}.btn:hover{border-color:var(--color-border-strong);background:var(--color-surface-alt)}.btn:disabled{opacity:.6;cursor:not-allowed}.btn--primary{border-color:var(--color-accent-solid);background:var(--color-accent-solid);color:var(--color-accent-solid-text)}.btn--primary:hover:not(:disabled){background:var(--color-accent-solid-hover);border-color:var(--color-accent-solid-hover)}.btn--ghost{background:0 0}.btn--danger{--btn-danger-solid:#dc2626;--btn-danger-solid-hover:#b91c1c;border-color:var(--btn-danger-solid);background:var(--btn-danger-solid);color:#fff}.btn--danger:hover:not(:disabled){background:var(--btn-danger-solid-hover);border-color:var(--btn-danger-solid-hover)}.btn--block{width:100%}.btn--sm{padding:6px 12px;font-size:13px}.btn--pill{border-radius:var(--radius-pill)}.btn--disabled{opacity:.6;cursor:not-allowed;pointer-events:none}.icon-btn{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg);width:36px;height:36px;color:var(--color-text);cursor:pointer;transition:color var(--duration-fast) var(--easing-standard), border-color var(--duration-fast) var(--easing-standard), background-color var(--duration-fast) var(--easing-standard);flex-shrink:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.icon-btn:hover:not(:disabled){color:var(--color-accent);border-color:var(--color-border-strong);background:var(--color-surface-alt)}.icon-btn:disabled{opacity:.45;cursor:not-allowed}.theme-toggle{flex-shrink:0;width:32px;height:32px;padding:6px}.btn[aria-pressed=true]{border-color:var(--color-accent-solid);background:var(--color-accent-solid);color:var(--color-accent-solid-text)}.pagination{align-items:center;gap:12px;display:inline-flex}.pagination__label{color:var(--color-text-muted);font-size:13px}.pagination__label--compact{font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--color-text);text-align:center;min-width:20px}.brand-lockup{align-items:center;gap:.08em;font-size:32px;line-height:1;display:inline-flex}.brand-lockup__mark{flex-shrink:0;width:.9em;height:1em}.brand-lockup__word{letter-spacing:-.027em;color:var(--color-text);font-size:1em;font-weight:600;line-height:1}.brand-accent{color:#38bdf8}.login-page{background:var(--color-bg);width:100%;min-height:100svh;position:relative;overflow:hidden}.login-page__backdrop{pointer-events:none;background:radial-gradient(circle at 18% 12%, var(--color-accent-soft), transparent 46%), radial-gradient(circle at 82% 88%, var(--color-hero-glow), transparent 52%);position:absolute;inset:0}.login-layout{box-sizing:border-box;justify-content:center;align-items:center;min-height:100svh;padding:40px 24px;display:flex;position:relative}.login-brand__lockup{z-index:1;pointer-events:none;font-size:34px;position:absolute;top:36px;left:36px}.login-brand__tagline{z-index:1;pointer-events:none;font-family:var(--font-mono);letter-spacing:1.6px;text-transform:uppercase;color:var(--color-accent-bright);align-items:center;gap:11px;margin:0;font-size:10.5px;display:flex;position:absolute;bottom:36px;right:36px}.login-brand__pulse{border-radius:var(--radius-pill);background:var(--color-accent-bright);flex-shrink:0;width:9px;height:9px;position:relative}.login-brand__pulse:after{content:"";border-radius:var(--radius-pill);border:1px solid var(--color-accent-bright);animation:2.6s ease-out infinite login-ring;position:absolute;inset:0}@keyframes login-ring{0%{opacity:.55;transform:scale(.6)}to{opacity:0;transform:scale(2.6)}}@keyframes login-rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes login-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.login-brand__pulse:after,.login-card,.login-submit__spinner{animation:none}}.login-panel{flex-direction:column;gap:18px;width:100%;min-width:0;max-width:470px;display:flex}.login-card{background:color-mix(in srgb, var(--color-surface) 62%, transparent);border:1px solid var(--color-border-strong);box-shadow:var(--shadow-lg);-webkit-backdrop-filter:blur(16px)saturate(140%);backdrop-filter:blur(16px)saturate(140%);border-radius:22px;padding:36px 34px 30px;animation:.5s login-rise}.login-card h1{letter-spacing:-.8px;color:var(--color-heading);text-align:center;margin:0;font-size:27px;font-weight:600;line-height:1.15}.login-card__sub{color:var(--color-text-muted);text-align:center;margin:9px 0 0;font-size:14px}.login-alert{background:var(--color-danger-soft);border:1px solid var(--color-danger-border);color:var(--color-danger);border-radius:11px;align-items:flex-start;gap:10px;margin-top:22px;padding:11px 13px;font-size:13.5px;animation:.25s login-rise;display:flex}.login-alert>svg{flex-shrink:0;margin-top:2px}.login-field{flex-direction:column;gap:7px;margin-top:22px;display:flex}.login-field label{font-family:var(--font-mono);letter-spacing:.8px;text-transform:uppercase;color:var(--color-text);font-size:10.5px;font-weight:500}.login-field input{box-sizing:border-box;border:1px solid var(--color-border-strong);background:var(--color-surface-alt);width:100%;height:48px;color:var(--color-heading);border-radius:11px;padding:0 15px;font-family:inherit;font-size:14.5px;transition:border-color .15s,box-shadow .15s}.login-field input::placeholder{color:var(--color-text-muted)}.login-field input:hover{border-color:var(--color-accent-border)}.login-field input:focus-visible{border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-soft);outline:none}.login-field__hint{color:var(--color-text-muted);font-size:12px}.login-field__wrap{align-items:center;display:flex;position:relative}.login-field__wrap input{padding-right:78px}.login-field__reveal{height:30px;color:var(--color-text-muted);font-family:var(--font-mono);letter-spacing:.6px;text-transform:uppercase;cursor:pointer;background:0 0;border:none;border-radius:7px;padding:0 10px;font-size:10.5px;position:absolute;right:8px}.login-field__reveal:hover{color:var(--color-accent);background:var(--color-accent-soft)}.login-field__reveal:focus-visible{outline:2px solid var(--color-accent);outline-offset:1px}.login-submit{background:var(--color-accent);width:100%;height:50px;color:var(--color-bg);cursor:pointer;border:none;border-radius:11px;justify-content:center;align-items:center;gap:10px;margin-top:24px;font-family:inherit;font-size:15px;font-weight:600;transition:background .15s,box-shadow .2s;display:flex}.login-submit:hover:not(:disabled){background:var(--color-accent-solid);box-shadow:0 12px 34px var(--color-accent-soft)}.login-submit:disabled{cursor:wait;opacity:.78}.login-submit__spinner{border-radius:var(--radius-pill);border:2px solid color-mix(in srgb, var(--color-bg) 35%, transparent);border-top-color:var(--color-bg);flex-shrink:0;width:15px;height:15px;animation:.7s linear infinite login-spin}@media (width<=620px){.login-layout{padding:40px 20px}.login-brand__lockup{font-size:26px;top:24px;left:24px}.login-brand__tagline{bottom:24px;right:24px}.login-card{padding:28px 22px 26px}}.field{flex-direction:column;gap:6px;display:flex}.field label{color:var(--color-heading);font-size:13px;font-weight:600}.field input{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface-alt);color:var(--color-heading);text-align:left;padding:12px 14px;transition:border-color .15s,box-shadow .15s}.field input::placeholder{color:var(--color-text-muted)}.field input:hover{border-color:var(--color-border-strong)}.field input:focus-visible{border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-soft);outline:none}.login-form .btn{margin-top:4px}.form-error{text-align:left;border:1px solid var(--color-danger-border);border-left:3px solid var(--color-danger);background:var(--color-danger-soft);color:var(--color-danger);border-radius:var(--radius-sm);margin-top:16px;padding:10px 12px;font-size:13.5px}.form-error+.form-error{margin-top:8px}.drawer__backdrop{--drawer-scrim:#0b1220a8;z-index:90;background:var(--drawer-scrim);animation:drawer-fade-in var(--duration-base) var(--easing-standard);position:fixed;inset:0}:root[data-theme=light] .drawer__backdrop{--drawer-scrim:#1018286b}@media (prefers-color-scheme:light){:root:not([data-theme]) .drawer__backdrop{--drawer-scrim:#1018286b}}.drawer{z-index:91;background:var(--color-sidebar);border-left:1px solid var(--color-border);width:390px;max-width:100vw;box-shadow:var(--shadow-lg);animation:drawer-slide-in var(--duration-base) var(--easing-standard);flex-direction:column;display:flex;position:fixed;top:0;bottom:0;right:0}.drawer:focus{outline:none}.drawer__header{border-bottom:1px solid var(--color-border);flex-shrink:0;justify-content:space-between;align-items:flex-start;gap:12px;padding:16px 20px 13px;display:flex}.drawer__heading h2{font-size:var(--fs-h3);margin:0}.drawer__subtitle{color:var(--color-text-muted);text-wrap:pretty;margin-top:4px;font-size:12.5px}.drawer__close{border:1px solid var(--color-border);border-radius:var(--radius-sm);width:36px;height:36px;color:var(--color-text-muted);cursor:pointer;background:0 0;flex-shrink:0;justify-content:center;align-items:center;transition:color .15s,border-color .15s;display:inline-flex}.drawer__close:hover{color:var(--color-heading);border-color:var(--color-border-strong)}.drawer__form{flex-direction:column;flex:1;min-height:0;display:flex}.drawer__body{flex:1;min-height:0;padding:18px 20px 22px;overflow-y:auto}.drawer__footer{border-top:1px solid var(--color-border);background:var(--color-surface);flex-shrink:0;gap:10px;padding:12px 20px;display:flex}.drawer__footer .btn{flex:1;min-height:44px}.drawer__footer .btn--primary{flex:2}@keyframes drawer-fade-in{0%{opacity:0}to{opacity:1}}@keyframes drawer-slide-in{0%{opacity:0;transform:translate(28px)}to{opacity:1;transform:none}}@keyframes drawer-slide-up{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}@media (width<=720px){.drawer{border-left:none;width:auto;animation-name:drawer-slide-up;left:0}}@media (prefers-reduced-motion:reduce){.drawer,.drawer__backdrop{animation:none}}.map{--map-critical:var(--color-danger);--map-warning:var(--color-warning);--map-ok:var(--color-secondary);--map-unknown:var(--color-text-muted)}.map__actions{justify-content:flex-end;gap:8px;margin-bottom:14px;display:flex}.map-kpis{border:1px solid var(--color-border);background:var(--color-surface);border-radius:12px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));margin-bottom:14px;display:grid;overflow:hidden}.map-kpis__item{border-right:1px solid var(--color-border);flex-direction:column;gap:6px;padding:16px 20px;display:flex}.map-kpis__item:last-child{border-right:none}.map-kpis__label{letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-muted);font-size:10.5px;font-weight:600}.map-kpis__value{font-family:var(--font-mono);color:var(--color-heading);align-items:baseline;gap:9px;font-size:27px;font-weight:600;line-height:1;display:flex}.map-kpis__value small{color:var(--color-text-muted);font-family:inherit;font-size:12px;font-weight:400}.map-kpis__value--accent{color:var(--color-accent)}.map-kpis__value--warning{color:var(--color-warning)}.map__workspace{border:1px solid var(--color-border);background:var(--color-surface);border-radius:12px;grid-template-columns:340px 1fr;gap:0;height:620px;display:grid;overflow:hidden}.map__workspace--with-detail{grid-template-columns:340px 1fr 360px}.map__workspace--list-collapsed{grid-template-columns:54px 1fr}.map__workspace--list-collapsed.map__workspace--with-detail{grid-template-columns:54px 1fr 360px}@media (width<=1200px){.map__workspace,.map__workspace--with-detail{grid-template-columns:300px 1fr;height:560px}.map__workspace--with-detail .map-detail{z-index:500;width:340px;box-shadow:var(--shadow-lg);position:absolute;top:0;bottom:0;right:0}.map__workspace{position:relative}}@media (width<=860px){.map__workspace,.map__workspace--with-detail{grid-template-columns:1fr;height:auto}.map__workspace .map-list{max-height:320px}.map__workspace .map-canvas{height:420px}}.map-list{border-right:1px solid var(--color-border);background:var(--color-surface);flex-direction:column;min-height:0;display:flex}.map-list--collapsed{align-items:center;gap:14px;padding:12px 0;overflow:hidden}.map-list__rail{flex-direction:column;align-items:center;gap:12px;display:flex}.map-list__rail-item{flex-direction:column;align-items:center;gap:4px;display:flex}.map-list__rail-count{font-family:var(--font-mono);color:var(--color-text-muted);font-size:10.5px}.map-list__collapse{border-radius:var(--radius-sm);width:28px;height:28px;color:var(--color-text-muted);cursor:pointer;background:0 0;border:1px solid #0000;flex-shrink:0;justify-content:center;align-items:center;transition:background-color .15s,color .15s,border-color .15s;display:inline-flex}.map-list__collapse:hover{background:var(--color-surface-alt);border-color:var(--color-border);color:var(--color-heading)}.map-list__collapse svg{width:16px;height:16px;transition:transform .2s}.map-list--collapsed .map-list__collapse svg{transform:rotate(180deg)}.map-list__head{align-items:center;gap:6px;padding-right:10px;display:flex}.map-list__head .map-list__search{flex:1;margin-right:0}.map-list__search{border:1px solid var(--color-border);background:var(--color-surface-alt);color:var(--color-text-muted);border-radius:9px;align-items:center;gap:8px;margin:14px 14px 10px;padding:0 11px;display:flex}.map-list__search input{color:var(--color-text);background:0 0;border:none;outline:none;flex:1;padding:9px 0;font-family:inherit;font-size:13px}.map-list__search input::placeholder{color:var(--color-text-muted)}.map-list__chips{flex-wrap:wrap;gap:6px;padding:0 14px 12px;display:flex}.map-chip{border:1px solid var(--color-border);color:var(--color-text);cursor:pointer;background:0 0;border-radius:999px;align-items:center;gap:6px;padding:5px 10px;font-family:inherit;font-size:12px;display:inline-flex}.map-chip:hover{border-color:var(--color-border-strong)}.map-chip--off{opacity:.4}.map-chip__dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.map-chip__count{font-family:var(--font-mono);color:var(--color-text-muted);font-size:11px}.map-chip--critical{border-color:var(--color-danger-border)}.map-chip--critical .map-chip__dot{background:var(--map-critical)}.map-chip--warning .map-chip__dot{background:var(--map-warning)}.map-chip--ok .map-chip__dot{background:var(--map-ok)}.map-chip--unknown .map-chip__dot{border:1.5px solid var(--map-unknown);background:0 0}.map-list__meta{border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border);letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-muted);justify-content:space-between;gap:10px;padding:9px 14px;font-size:10.5px;display:flex}.map-list__items{flex:1;min-height:0;margin:0;padding:0;list-style:none;overflow-y:auto}.map-list__empty{color:var(--color-text-muted);text-align:center;padding:24px 16px;font-size:12.5px;line-height:1.5}.map-list__item{border:none;border-left:3px solid #0000;border-bottom:1px solid var(--color-border);width:100%;color:var(--color-text);text-align:left;cursor:pointer;background:0 0;flex-direction:column;gap:4px;padding:11px 14px 12px;font-family:inherit;display:flex}.map-list__item:hover{background:var(--color-surface-alt)}.map-list__item--critical{border-left-color:var(--map-critical)}.map-list__item--warning{border-left-color:var(--map-warning)}.map-list__item--ok{border-left-color:var(--map-ok)}.map-list__item--unknown{border-left-color:#0000}.map-list__item--selected{background:var(--color-accent-soft)}.map-list__item--selected .map-list__code{color:var(--color-accent)}.map-list__row{align-items:center;gap:8px;display:flex}.map-list__row--sub{justify-content:space-between}.map-list__code{font-family:var(--font-mono);color:var(--color-heading);flex-shrink:0;font-size:12.5px;font-weight:600}.map-list__name{white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:12.5px;overflow:hidden}.map-list__place{color:var(--color-text-muted);white-space:nowrap;text-overflow:ellipsis;font-size:11.5px;overflow:hidden}.map-list__time{font-family:var(--font-mono);color:var(--color-text-muted);flex-shrink:0;font-size:11px}.map-list__alert{border-radius:6px;margin-top:5px;padding:5px 8px;font-size:11.5px;line-height:1.35}.map-list__alert--critical{background:var(--color-danger-soft);color:var(--color-danger)}.map-list__alert--warning{background:var(--color-warning-soft);color:var(--color-warning)}.map-badge{font-family:var(--font-mono);letter-spacing:.04em;border-radius:5px;flex-shrink:0;padding:2px 7px;font-size:9.5px;font-weight:600}.map-badge--critical{background:var(--color-danger-soft);color:var(--color-danger)}.map-badge--warning{background:var(--color-warning-soft);color:var(--color-warning)}.map-badge--ok{background:var(--color-secondary-soft);color:var(--color-secondary)}.map-badge--unknown{background:var(--color-surface-alt);color:var(--color-text-muted)}.map-badge--pill{text-transform:uppercase;border-radius:999px;align-items:center;gap:6px;padding:4px 10px;font-size:10px;display:inline-flex}.map-badge__dot{background:currentColor;border-radius:50%;width:6px;height:6px}.map-canvas{background:var(--color-surface-alt);min-height:0;position:relative}.map-canvas--loading{color:var(--color-text-muted);justify-content:center;align-items:center;font-size:13px;display:flex}.map-canvas .leaflet-container{background:var(--color-surface-alt);width:100%;height:100%;font-family:inherit}.map-canvas .leaflet-control-attribution{background:color-mix(in srgb, var(--color-surface) 82%, transparent);color:var(--color-text-muted);font-size:10px}.map-canvas .leaflet-control-attribution a{color:var(--color-text-muted)}.map-canvas .leaflet-bar a{background:var(--color-surface);border-bottom-color:var(--color-border);color:var(--color-heading)}.map-canvas .leaflet-bar a:hover{background:var(--color-surface-alt)}.map-canvas__basemap{z-index:500;border:1px solid var(--color-border);background:var(--color-surface);box-shadow:var(--shadow-sm);border-radius:8px;display:inline-flex;position:absolute;top:12px;right:12px;overflow:hidden}.map-canvas__basemap-option{color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;padding:6px 13px;font-family:inherit;font-size:12px}.map-canvas__basemap-option--active{background:var(--color-accent-soft);color:var(--color-accent);font-weight:600}.map-canvas__legend{z-index:500;border:1px solid var(--color-border);background:color-mix(in srgb, var(--color-surface) 92%, transparent);box-shadow:var(--shadow-sm);border-radius:9px;flex-direction:column;gap:6px;padding:11px 13px;display:flex;position:absolute;bottom:26px;left:12px}.map-canvas__legend-title{letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-muted);font-size:9.5px;font-weight:600}.map-canvas__legend-item{color:var(--color-text);align-items:center;gap:8px;font-size:11.5px;display:flex}.map-canvas__legend-dot{border-radius:50%;flex-shrink:0;width:9px;height:9px}.map-canvas__legend-dot--critical{background:var(--map-critical)}.map-canvas__legend-dot--warning{background:var(--map-warning)}.map-canvas__legend-dot--ok{background:var(--map-ok)}.map-canvas__legend-dot--unknown{border:1.5px solid var(--map-unknown);background:0 0}.map-detail{border-left:1px solid var(--color-border);background:var(--color-surface);flex-direction:column;min-height:0;display:flex}.map-detail__header{border-bottom:1px solid var(--color-border);padding:16px 18px 14px}.map-detail__title-row{align-items:center;gap:9px;display:flex}.map-detail__code{font-family:var(--font-mono);color:var(--color-heading);margin:0;font-size:17px;font-weight:600}.map-detail__close{color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;border-radius:6px;margin-left:auto;padding:4px}.map-detail__close:hover{background:var(--color-surface-alt);color:var(--color-text)}.map-detail__name{color:var(--color-heading);margin:9px 0 2px;font-size:14px;font-weight:600}.map-detail__place{color:var(--color-text-muted);margin:0;font-size:12px}.map-detail__body{flex:1;min-height:0;padding:16px 18px;overflow-y:auto}.map-detail__section{letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-muted);margin:20px 0 10px;font-size:10.5px;font-weight:600}.map-detail__body>.map-detail__section:first-child{margin-top:0}.map-detail__alert{border:1px solid #0000;border-radius:10px;padding:12px 14px}.map-detail__alert--critical{background:var(--color-danger-soft);border-color:var(--color-danger-border)}.map-detail__alert--warning{background:var(--color-warning-soft);border-color:color-mix(in srgb, var(--color-warning) 35%, transparent)}.map-detail__alert-kind{letter-spacing:.07em;text-transform:uppercase;align-items:center;gap:6px;margin:0 0 7px;font-size:10px;font-weight:600;display:flex}.map-detail__alert--critical .map-detail__alert-kind{color:var(--color-danger)}.map-detail__alert--warning .map-detail__alert-kind{color:var(--color-warning)}.map-detail__alert-title{color:var(--color-heading);margin:0 0 6px;font-size:13.5px;font-weight:600}.map-detail__alert-text{color:var(--color-text);margin:0;font-size:12px;line-height:1.5}.map-detail__alert-meta{font-family:var(--font-mono);color:var(--color-text-muted);margin:9px 0 0;font-size:10.5px}.map-detail__readings{border:1px solid var(--color-border);border-radius:10px;grid-template-columns:repeat(3,1fr);display:grid;overflow:hidden}.map-detail__reading{border-right:1px solid var(--color-border);background:var(--color-surface-alt);flex-direction:column;gap:3px;padding:11px 12px;display:flex}.map-detail__reading:last-child{border-right:none}.map-detail__reading-label{letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-muted);font-size:9.5px;font-weight:600}.map-detail__reading-value{font-family:var(--font-mono);color:var(--color-heading);font-size:15px;font-weight:600}.map-detail__reading--accent .map-detail__reading-value{color:var(--color-accent)}.map-detail__reading-when{color:var(--color-text-muted);font-size:10px}.map-detail__specs{border:1px solid var(--color-border);border-radius:10px;margin:0;overflow:hidden}.map-detail__specs>div{border-bottom:1px solid var(--color-border);background:var(--color-surface-alt);justify-content:space-between;align-items:center;gap:12px;padding:9px 12px;display:flex}.map-detail__specs>div:last-child{border-bottom:none}.map-detail__specs dt{color:var(--color-text-muted);font-size:12px}.map-detail__specs dd{color:var(--color-text);text-align:right;margin:0;font-size:12.5px}.map-detail__mono{font-family:var(--font-mono);color:var(--color-heading)!important;font-size:12px!important}.map-detail__hint{color:var(--color-text-muted);margin:0;font-size:12px;line-height:1.5}.map-detail__footer{border-top:1px solid var(--color-border);gap:8px;padding:13px 18px;display:flex}.map-detail__footer .btn{flex:1;justify-content:center}.map__empty{text-align:center;border:1px dashed var(--color-border-strong);background:var(--color-surface);border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:12px;min-height:340px;padding:40px 24px;display:flex}.map__empty-icon{color:var(--color-text-muted)}.map__empty-icon svg{width:34px;height:34px}.map__empty-title{color:var(--color-heading);margin:0;font-size:16px;font-weight:600}.map__empty-text{max-width:460px;color:var(--color-text-muted);margin:0;font-size:13px;line-height:1.55}.map-import__dropzone{border:1px dashed var(--color-border-strong);text-align:center;cursor:pointer;color:var(--color-text-muted);border-radius:10px;padding:26px;font-size:13px;display:block}.map-import__dropzone:hover{border-color:var(--color-accent-border);color:var(--color-text)}.map-import__file{font-family:var(--font-mono);color:var(--color-text);margin-top:10px;font-size:12px}.map-import__summary{grid-template-columns:repeat(auto-fit,minmax(104px,1fr));gap:10px;margin:16px 0;display:grid}.map-import__stat{border:1px solid var(--color-border);background:var(--color-surface-alt);border-radius:9px;padding:10px 12px}.map-import__stat-value{font-family:var(--font-mono);color:var(--color-heading);font-size:19px;font-weight:600;display:block}.map-import__stat-label{color:var(--color-text-muted);margin-top:2px;font-size:11px;display:block}.map-import__note{color:var(--color-text-muted);margin:0;font-size:12px;line-height:1.5}.map-import__skipped{background:var(--color-warning-soft);color:var(--color-warning);border-radius:9px;margin-top:12px;padding:10px 12px;font-size:12px}.map-import__skipped ul{max-height:130px;margin:6px 0 0;padding-left:18px;overflow-y:auto}.map-link__current{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.map-link__search{width:100%;margin:12px 0 8px}.map-link__results{border:1px solid var(--color-border);border-radius:9px;max-height:240px;overflow-y:auto}.map-link__result{border:none;border-bottom:1px solid var(--color-border);width:100%;color:var(--color-text);text-align:left;cursor:pointer;background:0 0;justify-content:space-between;align-items:center;gap:10px;padding:9px 12px;font-family:inherit;font-size:12.5px;display:flex}.map-link__result:last-child{border-bottom:none}.map-link__result:hover{background:var(--color-surface-alt)}.map-link__result-ref{font-family:var(--font-mono);color:var(--color-heading);font-weight:600}.map-link__result-meta{color:var(--color-text-muted);font-size:11.5px}.tabs{border-bottom:1px solid var(--color-border);align-items:center;gap:2px;margin-bottom:20px;display:flex;overflow-x:auto}.tabs__tab{color:var(--color-text-muted);white-space:nowrap;cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;align-items:center;gap:7px;padding:10px 14px 11px;font-family:inherit;font-size:13.5px;font-weight:500;display:inline-flex}.tabs__tab:hover{color:var(--color-text)}.tabs__tab--active{color:var(--color-heading);border-bottom-color:var(--color-accent);font-weight:600}.tabs__icon{align-items:center;display:inline-flex}.tabs__icon svg{width:15px;height:15px}.tabs__badge{min-width:17px;height:17px;font-family:var(--font-mono);background:var(--color-accent-soft);color:var(--color-accent);border-radius:999px;justify-content:center;align-items:center;padding:0 5px;font-size:9.5px;font-weight:600;display:inline-flex}.tabs__badge--warn{background:var(--color-warning-soft);color:var(--color-warning)}.page{text-align:left;box-sizing:border-box;width:100%}.page>h1{margin-bottom:4px}.page__period{font-variant-numeric:tabular-nums;color:var(--color-text);background:var(--color-surface-alt);border:1px solid var(--color-border);border-radius:var(--radius-pill);align-items:center;gap:6px;margin-bottom:28px;padding:6px 12px;font-size:12.5px;display:inline-flex}.page__state,.page__empty{color:var(--color-text);background:var(--color-surface-alt);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:14px 16px;font-size:13.5px}.page__error{border:1px solid var(--color-danger-border);border-left:3px solid var(--color-danger);background:var(--color-danger-soft);border-radius:var(--radius-md);color:var(--color-danger);padding:14px 16px;font-size:13.5px}.breadcrumb{color:var(--color-text-muted);margin-bottom:20px;font-size:13px}.breadcrumb a{color:var(--color-accent);text-decoration:none}.breadcrumb a:hover{text-decoration:underline}.breadcrumb__sep{color:var(--color-border-strong);margin:0 6px}.kpi-grid{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:14px;margin:0 0 32px;display:grid}.kpi-grid--even{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:16px}@media (width<=1000px){.kpi-grid--even{grid-template-columns:repeat(2,minmax(0,1fr))}}.kpi-card{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);box-shadow:var(--shadow-sm);flex-direction:column;gap:8px;padding:16px 18px;transition:box-shadow .15s,border-color .15s;display:flex}.kpi-card:hover{border-color:var(--color-border-strong)}.kpi-card__label{font-family:var(--font-mono);font-size:var(--fs-caption);text-transform:uppercase;letter-spacing:.6px;color:var(--color-text-muted);font-weight:600}.kpi-card__value{font-family:var(--font-mono);font-size:var(--fs-metric);color:var(--color-heading);letter-spacing:-.4px;font-variant-numeric:tabular-nums;font-weight:700}.kpi-card__subvalue{color:var(--color-text-muted);font-size:12px}.kpi-card__value--positive{color:var(--color-secondary)}.kpi-card__value--negative{color:var(--color-danger)}.kpi-card--compact{grid-template-columns:auto minmax(0,1fr);align-items:baseline;gap:4px 7px;padding:12px 14px;display:grid}.kpi-card--compact .kpi-card__label{white-space:nowrap;text-overflow:ellipsis;grid-column:1/-1;line-height:1.4;overflow:hidden}.kpi-card--compact .kpi-card__value{letter-spacing:-.2px;font-size:20px;font-weight:600;line-height:1.15}.kpi-card--compact .kpi-card__subvalue{color:var(--color-text);white-space:nowrap;text-overflow:ellipsis;min-width:0;overflow:hidden}.kpi-card--hero{background:radial-gradient(120% 140% at 100% 0%, var(--color-hero-glow), transparent 60%), var(--color-surface);border-color:var(--color-accent-border);box-shadow:var(--shadow-md), var(--glow-accent);grid-column:span 2;padding:22px 24px}.kpi-card--hero .kpi-card__label{color:var(--color-accent-bright)}.kpi-card--hero .kpi-card__value{font-size:var(--fs-metric-hero);letter-spacing:-1px}.member-consumption__hero-card{grid-column:1/-1}.member-consumption__hero-main{flex-direction:column;gap:8px;display:flex}.member-consumption__hero-footer{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-top:4px;display:flex}.member-consumption__hero-footer .kpi-card__subvalue{margin-left:auto}.member-consumption__live-badge{border-radius:var(--radius-pill);background:var(--color-secondary-soft);border:1px solid var(--color-secondary-border);font-family:var(--font-mono);letter-spacing:.5px;text-transform:uppercase;color:var(--color-secondary);flex-shrink:0;align-items:center;gap:9px;padding:8px 14px;font-size:11px;font-weight:600;display:inline-flex}.member-consumption__live-dot{border-radius:var(--radius-pill);background:var(--color-secondary);width:8px;height:8px;animation:2s ease-in-out infinite member-consumption-live-pulse}@keyframes member-consumption-live-pulse{0%,to{opacity:.4;transform:scale(.85)}50%{opacity:1;transform:scale(1)}}@media (prefers-reduced-motion:reduce){.member-consumption__live-dot{animation:none}}@media (width<=560px){.kpi-card--hero{grid-column:span 1}.kpi-card--hero .kpi-card__value{font-size:34px}}.section{margin-bottom:36px}.section>h2{margin-bottom:14px}.member-consumption__header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.member-consumption__header .page__period{margin-bottom:0}.member-consumption__chart-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);margin-top:16px;padding:20px 22px 8px}.member-consumption__month-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:14px;display:flex}.member-consumption__month-header h2{margin-bottom:0}.member-consumption__month-picker{gap:10px;display:flex}.member-consumption__month-picker>*{width:140px}.member-consumption__detail-toggle{margin-top:16px}.trend-chart__controls{gap:8px;margin-bottom:14px;display:flex}.trend-chart__controls button{border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);border-radius:var(--radius-pill);cursor:pointer;padding:6px 16px;font-size:13px;font-weight:600;transition:all .15s}.trend-chart__controls button:hover{border-color:var(--color-border-strong)}.trend-chart__controls button[aria-pressed=true]{border-color:var(--color-accent-solid);color:var(--color-accent-solid-text);background:var(--color-accent-solid)}.unit-toggle{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-pill);padding:3px;display:inline-flex}.unit-toggle button{cursor:pointer;border-radius:var(--radius-pill);font-family:var(--font-mono);color:var(--color-text-muted);background:0 0;border:none;padding:7px 18px;font-size:12px;font-weight:600;transition:background .15s,color .15s}.unit-toggle button[aria-pressed=true]{background:var(--color-accent-soft);color:var(--color-accent-bright)}.ranking-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.ranking-list__item{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);justify-content:space-between;align-items:center;padding:10px 14px;transition:border-color .15s,background-color .15s;display:flex}.ranking-list__item:hover{border-color:var(--color-accent-border);background:var(--color-accent-soft)}.ranking-list__item a{color:var(--color-heading);font-weight:600;text-decoration:none}.ranking-list__item a:hover{color:var(--color-accent)}.ranking-list__item span{font-variant-numeric:tabular-nums;color:var(--color-text-muted);font-size:13.5px}.distribution-table{border-collapse:collapse;border:1px solid var(--color-border);border-radius:var(--radius-md);width:100%;font-size:13.5px;overflow:hidden}.distribution-table th{text-align:left;background:var(--color-surface-alt);color:var(--color-text);text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--color-border);padding:10px 14px;font-size:11.5px;font-weight:700}.distribution-table td{text-align:left;border-bottom:1px solid var(--color-border);font-variant-numeric:tabular-nums;padding:10px 14px}.distribution-table tr:last-child td{border-bottom:none}.distribution-table__zone-row{cursor:pointer;background:var(--color-surface-alt)}.distribution-table__zone-row:hover{background:var(--color-accent-soft)}.distribution-table__zone-row button{color:var(--color-heading);cursor:pointer;font-weight:600;font-size:inherit;background:0 0;border:none;padding:0}.distribution-table__meter-row a{color:var(--color-accent);text-decoration:none}.distribution-table__meter-row a:hover{text-decoration:underline}.meter-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.meter-list__item{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);justify-content:space-between;align-items:center;padding:10px 14px;transition:border-color .15s,background-color .15s;display:flex}.meter-list__item:hover{border-color:var(--color-accent-border);background:var(--color-accent-soft)}.meter-list__item a{color:var(--color-heading);font-weight:600;text-decoration:none}.meter-list__item span{color:var(--color-text-muted);font-variant-numeric:tabular-nums;font-size:13.5px}.meter-detail__header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:20px;display:flex}.meter-detail__header-main{flex-direction:column;gap:10px;display:flex}.meter-detail__title{font-family:var(--font-mono);color:var(--color-heading);letter-spacing:-.3px;margin:0;font-size:24px;font-weight:700}.meter-detail__header-chips{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.meter-detail__chip{border-radius:var(--radius-pill);border:1px solid var(--color-border);align-items:center;gap:6px;padding:4px 12px;font-size:12px;font-weight:600;display:inline-flex}.meter-detail__chip-dot{border-radius:var(--radius-pill);background:currentColor;width:7px;height:7px}.meter-detail__chip--success{color:var(--color-secondary);background:var(--color-secondary-soft);border-color:var(--color-secondary-border)}.meter-detail__chip--warning{color:var(--color-warning);background:var(--color-warning-soft)}.meter-detail__chip--muted{color:var(--color-text-muted);background:var(--color-surface-alt)}.meter-detail__chip--neutral{color:var(--color-text);background:var(--color-surface-alt)}.meter-detail__grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px;margin-bottom:20px;display:grid}.meter-detail__card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);margin-bottom:20px;padding:20px 22px}.meter-detail__card-header{align-items:center;gap:10px;margin-bottom:4px;display:flex}.meter-detail__card-icon{border-radius:var(--radius-md);background:var(--color-accent-soft);width:34px;height:34px;color:var(--color-accent-bright);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.meter-detail__card-icon svg{width:18px;height:18px}.meter-detail__card-title{color:var(--color-heading);margin:0;font-size:16px;font-weight:700}.meter-detail__card-hint{color:var(--color-text-muted);max-width:640px;margin:4px 0 16px;font-size:13px}.meter-detail__card-hint--spaced{margin-top:14px}.meter-detail__status-pill{border-radius:var(--radius-pill);white-space:nowrap;align-items:center;gap:5px;margin-left:auto;padding:3px 10px;font-size:11.5px;font-weight:600;display:inline-flex}.meter-detail__status-pill svg{width:13px;height:13px}.meter-detail__status-pill--success{color:var(--color-secondary);background:var(--color-secondary-soft);border:1px solid var(--color-secondary-border)}.meter-detail__status-pill--failure{color:var(--color-danger);background:var(--color-danger-soft);border:1px solid var(--color-danger-border)}.meter-detail__status-pill--pending{color:var(--color-warning);background:var(--color-warning-soft)}.meter-detail__valve-columns{grid-template-columns:minmax(220px,1fr) minmax(220px,1.3fr);align-items:stretch;gap:24px;display:grid}@media (width<=720px){.meter-detail__valve-columns{grid-template-columns:1fr}}.meter-detail__valve-state-col{flex-direction:column;align-items:stretch;gap:12px;min-width:0;display:flex}.meter-detail__valve-ring{border-radius:var(--radius-pill);background:var(--color-surface-alt);width:56px;height:56px;color:var(--color-text-muted);border:1px solid var(--color-border);justify-content:center;align-items:center;display:inline-flex}.meter-detail__valve-ring svg{width:26px;height:26px}.meter-detail__valve-ring--open{background:var(--color-secondary-soft);color:var(--color-secondary);border-color:var(--color-secondary-border)}.meter-detail__valve-ring--closed{background:var(--color-danger-soft);color:var(--color-danger)}.meter-detail__valve-state-label{color:var(--color-heading);font-size:14px;font-weight:700}.meter-detail__identity{z-index:5;background:var(--color-bg);border-bottom:1px solid var(--color-border);margin:0 0 20px;padding:4px 0 0;position:sticky;top:0}.meter-detail__identity-row{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:24px;display:flex}.meter-detail__identity-main{min-width:0}.meter-detail__identity-title-row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.meter-detail__identity-meta{font-family:var(--font-mono);font-size:var(--fs-caption);color:var(--color-text-muted);flex-wrap:wrap;align-items:center;gap:10px;margin-top:7px;display:flex}.meter-detail__meta-sep{color:var(--color-border-strong)}.meter-detail__meta-live{align-items:center;gap:5px;display:inline-flex}.meter-detail__meta-dot{background:var(--color-secondary);border-radius:999px;width:5px;height:5px}.meter-detail__identity-actions{flex-shrink:0;align-items:center;gap:9px;display:flex}.meter-detail__tabs{align-items:center;gap:2px;margin-top:14px;display:flex;overflow-x:auto}.meter-detail__tab{color:var(--color-text-muted);white-space:nowrap;cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;align-items:center;gap:7px;padding:10px 14px 11px;font-family:inherit;font-size:13.5px;font-weight:500;display:inline-flex}.meter-detail__tab:hover{color:var(--color-text)}.meter-detail__tab--active{color:var(--color-heading);border-bottom-color:var(--color-accent);font-weight:600}.meter-detail__tab-badge{min-width:17px;height:17px;font-family:var(--font-mono);background:var(--color-accent-soft);color:var(--color-accent);border-radius:999px;justify-content:center;align-items:center;padding:0 5px;font-size:9.5px;font-weight:600;display:inline-flex}.meter-detail__tab-badge--warn{background:var(--color-warning-soft);color:var(--color-warning)}.meter-detail__banner{border-radius:var(--radius-md);background:var(--color-warning-soft);border:1px solid var(--color-warning);align-items:flex-start;gap:14px;margin-bottom:20px;padding:15px 18px;display:flex}.meter-detail__banner-icon{background:var(--color-warning-soft);width:32px;height:32px;color:var(--color-warning);border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.meter-detail__banner-icon svg{width:17px;height:17px}.meter-detail__banner-body{flex:1;min-width:0}.meter-detail__banner-title-row{flex-wrap:wrap;align-items:center;gap:9px;display:flex}.meter-detail__banner-title{color:var(--color-warning);font-size:14.5px;font-weight:600}.meter-detail__banner-count{font-family:var(--font-mono);letter-spacing:.4px;background:var(--color-warning-soft);color:var(--color-warning);border-radius:5px;padding:2px 7px;font-size:10px}.meter-detail__banner-text{color:var(--color-text);max-width:82ch;margin:5px 0 0;font-size:13px;line-height:1.55}.meter-detail__banner-action{border:1px solid var(--color-warning);color:var(--color-warning);cursor:pointer;background:0 0;border-radius:8px;flex-shrink:0;padding:7px 12px;font-family:inherit;font-size:12.5px;font-weight:500}.meter-detail__banner-action:hover{background:var(--color-warning-soft)}.meter-detail__split{grid-template-columns:minmax(0,1fr) 336px;align-items:start;gap:20px;display:grid}.meter-detail__split--even{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.meter-detail__split-main,.meter-detail__stack{flex-direction:column;gap:20px;min-width:0;display:flex}.meter-detail__rail{flex-direction:column;gap:16px;display:flex;position:sticky;top:132px}@media (width<=1100px){.meter-detail__split,.meter-detail__split--even{grid-template-columns:minmax(0,1fr)}.meter-detail__rail{position:static}}.meter-detail__card--flush{padding:0;overflow:hidden}.meter-detail__card-header--pad{padding:16px 20px 0}.meter-detail__card-meta{font-family:var(--font-mono);color:var(--color-text-muted);margin-left:auto;font-size:11px}.meter-detail__period-grid{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:14px;display:grid}.meter-detail__period-cell{border-left:1px solid var(--color-border);flex-direction:column;gap:7px;padding:4px 20px 18px;display:flex}.meter-detail__period-cell:first-child{border-left-color:#0000}.meter-detail__period-label{font-family:var(--font-mono);letter-spacing:.9px;text-transform:uppercase;color:var(--color-text-muted);font-size:9.5px;font-weight:600;display:block}.meter-detail__period-value{font-family:var(--font-mono);letter-spacing:-1px;color:var(--color-heading);font-size:26px;font-weight:600;line-height:1}.meter-detail__period-value--muted{color:var(--color-text)}.meter-detail__totalizer{border-top:1px solid var(--color-border);background:var(--color-surface-alt);flex-wrap:wrap;align-items:center;gap:14px;padding:12px 20px;display:flex}.meter-detail__totalizer-value{font-family:var(--font-mono);color:var(--color-heading);font-size:13px;font-weight:600}.meter-detail__rail-row{border-top:1px solid var(--color-border);align-items:center;gap:12px;padding:12px 18px;display:flex}.meter-detail__rail-icon{background:var(--color-accent-soft);width:30px;height:30px;color:var(--color-accent);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.meter-detail__rail-icon svg{width:17px;height:17px}.meter-detail__rail-icon--ok{background:var(--color-secondary-soft);color:var(--color-secondary)}.meter-detail__rail-icon--closed{background:var(--color-danger-soft);color:var(--color-danger)}.meter-detail__rail-icon--unknown{background:var(--color-surface-alt);color:var(--color-text-muted)}.meter-detail__rail-text{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.meter-detail__rail-label{color:var(--color-text);white-space:nowrap;text-overflow:ellipsis;font-size:12.5px;overflow:hidden}.meter-detail__rail-sub{font-family:var(--font-mono);color:var(--color-text-muted);white-space:nowrap;text-overflow:ellipsis;font-size:10.5px;overflow:hidden}.meter-detail__rail-value{text-align:right;font-family:var(--font-mono);color:var(--color-heading);flex-shrink:0;font-size:13.5px;font-weight:600}.meter-detail__rail-value--closed{color:var(--color-danger)}.meter-detail__rail-value--open{color:var(--color-secondary)}.meter-detail__valve-state{border-radius:var(--radius-md);background:var(--color-surface-alt);border:1px solid var(--color-border);align-items:center;gap:13px;padding:13px 15px;display:flex}.meter-detail__valve-state--closed{background:var(--color-danger-soft);border-color:var(--color-danger-border)}.meter-detail__valve-state--open{background:var(--color-secondary-soft);border-color:var(--color-secondary-border)}.meter-detail__valve-state .meter-detail__valve-state-label{margin-top:2px;font-size:17px;display:block}.meter-detail__inline-link{color:var(--color-accent);cursor:pointer;background:0 0;border:none;align-items:center;gap:6px;margin-top:11px;padding:0;font-family:inherit;font-size:12.5px;font-weight:500;display:inline-flex}.meter-detail__inline-link:hover{color:var(--color-accent-bright)}.meter-detail__inline-link-icon{transform:rotate(-90deg)}.meter-detail__toggle-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px;margin-top:15px;display:grid}.meter-detail__toggle{text-align:left;cursor:pointer;color:var(--color-text);background:var(--color-surface-alt);border:1px solid var(--color-border);border-radius:9px;align-items:center;gap:9px;padding:10px 12px;font-family:inherit;font-size:13px;display:flex}.meter-detail__toggle--on{background:var(--color-accent-soft);border-color:var(--color-accent-border);color:var(--color-heading);font-weight:600}.meter-detail__toggle-box{border:1.5px solid var(--color-border-strong);color:#0000;border-radius:5px;flex-shrink:0;justify-content:center;align-items:center;width:16px;height:16px;display:flex}.meter-detail__toggle--on .meter-detail__toggle-box{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-bg)}.meter-detail__stepper{border:1px solid var(--color-border-strong);border-radius:9px;align-items:center;display:flex;overflow:hidden}.meter-detail__stepper button{background:var(--color-bg);width:34px;height:38px;color:var(--color-text);cursor:pointer;border:none;justify-content:center;align-items:center;display:flex}.meter-detail__stepper button:hover:not(:disabled){color:var(--color-accent)}.meter-detail__stepper button:disabled{opacity:.4;cursor:not-allowed}.meter-detail__stepper-value{background:var(--color-bg);border-inline:1px solid var(--color-border-strong);width:56px;height:38px;font-family:var(--font-mono);color:var(--color-heading);justify-content:center;align-items:center;font-size:15px;font-weight:600;display:flex}.meter-detail__card-footer{flex-wrap:wrap;align-items:center;gap:12px;margin-top:16px;display:flex}.meter-detail__card-footer-end{margin-left:auto}.meter-detail__card--danger-zone{border-color:var(--color-warning);background:var(--color-surface-alt)}.meter-detail__card-icon--warn{color:var(--color-warning)}.meter-detail__tool-row{border-top:1px solid var(--color-border);align-items:center;gap:14px;padding:14px 0;display:flex}.meter-detail__btn-warn{border-color:var(--color-warning);color:var(--color-warning)}.meter-detail__valve-stale{max-width:34ch;font-size:var(--fs-caption);color:var(--color-warning);background:var(--color-warning-soft);border:1px solid var(--color-warning);border-radius:var(--radius-md);margin:0;padding:10px 12px;line-height:1.5}.meter-detail__telemetry-hint{font-family:var(--font-mono);font-size:var(--fs-caption);color:var(--color-text-muted)}.meter-detail__valve-note-col{background:var(--color-surface-alt);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:14px 16px}.meter-detail__valve-note-title{text-transform:uppercase;letter-spacing:.4px;color:var(--color-text-muted);margin:0 0 6px;font-size:12px;font-weight:700}.meter-detail__valve-note-col .meter-detail__card-hint{margin-bottom:10px}.meter-detail__protocol-tag{color:var(--color-accent);background:var(--color-accent-soft);border:1px solid var(--color-accent-border);border-radius:var(--radius-pill);padding:3px 10px;font-size:11px;font-weight:600;display:inline-block}.meter-detail__subsection{border-top:1px solid var(--color-border);margin-top:20px;padding-top:18px}.meter-detail__disclosure-toggle{text-transform:uppercase;letter-spacing:.4px;width:100%;color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;align-items:center;gap:8px;padding:0;font-size:12px;font-weight:700;display:flex}.meter-detail__disclosure-toggle:hover{color:var(--color-heading)}.meter-detail__disclosure-chevron{margin-left:auto;transition:transform .15s}.meter-detail__disclosure-chevron--open{transform:rotate(180deg)}.meter-detail__disclosure-body{margin-top:14px}.meter-detail__empty-state{text-align:center;flex-direction:column;align-items:center;gap:6px;padding:28px 16px;display:flex}.meter-detail__empty-state-icon{width:36px;height:36px;color:var(--color-secondary);margin-bottom:6px}.meter-detail__empty-state-title{color:var(--color-heading);margin:0;font-size:14px;font-weight:700}.meter-detail__empty-state-subtitle{color:var(--color-text-muted);max-width:420px;margin:0;font-size:13px}.meter-detail__pending-note{color:var(--color-warning);font-size:11.5px;font-weight:600}.meter-detail__pending-note--block{margin:-6px 0 12px;font-size:13px;display:block}.meter-detail__command-badge{border-radius:var(--radius-pill);align-items:center;padding:3px 10px;font-size:12px;font-weight:600;display:inline-flex}.meter-detail__command-badge--pending{color:var(--color-warning);background:var(--color-warning-soft)}.meter-detail__command-badge--delivered{color:var(--color-accent);background:var(--color-accent-soft)}.meter-detail__command-badge--success,.meter-detail__command-badge--answered{color:var(--color-secondary);background:var(--color-secondary-soft)}.meter-detail__command-badge--failure{color:var(--color-danger);background:var(--color-danger-soft)}.meter-detail__command-badge--expired{color:var(--color-text-muted);background:var(--color-surface-alt)}.meter-detail__actions{flex-wrap:wrap;gap:8px;margin-top:4px;display:flex}.meter-detail__actions--stretch>.btn{flex:1;justify-content:center;min-width:140px}.meter-detail__feedback{margin-top:10px;font-size:13px}.alert-toast{border:1px solid var(--color-danger-border);border-left:3px solid var(--color-danger);background:var(--color-surface);max-width:320px;color:var(--color-heading);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);z-index:1000;padding:12px 16px;position:fixed;top:16px;right:16px}.alert-toast strong{color:var(--color-danger);margin-bottom:4px;font-size:13.5px;display:block}.alert-toast p{color:var(--color-text-muted);font-size:13px}.alert-toast button{color:var(--color-text-muted);cursor:pointer;float:right;background:0 0;border:none;font-size:16px;line-height:1}.alert-toast button:hover{color:var(--color-danger)}.admin-tabs{border-bottom:1px solid var(--color-border);gap:4px;margin-bottom:24px;display:flex}.admin-tabs__tab{color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;padding:10px 16px;font-size:13.5px;font-weight:600;transition:color .15s,border-color .15s}.admin-tabs__tab:hover{color:var(--color-heading)}.admin-tabs__tab--active{color:var(--color-accent-bright);border-bottom-color:var(--color-accent-solid)}.meter-detail__flags{flex-wrap:wrap;gap:8px;padding:4px 0 0;display:flex}.meter-detail__flag{border-radius:var(--radius-pill);border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text-muted);align-items:center;gap:8px;padding:6px 12px;font-size:12.5px;display:inline-flex}.meter-detail__flag-dot{border-radius:var(--radius-pill);background:var(--color-border-strong);flex-shrink:0;width:7px;height:7px}.meter-detail__flag--on{border-color:var(--color-warning);background:var(--color-warning-soft);color:var(--color-warning)}.meter-detail__flag--on .meter-detail__flag-dot{background:var(--color-warning)}.meter-detail__flag-state{font-family:var(--font-mono);opacity:.75;font-size:11px}.meter-detail__hint{color:var(--color-text-muted);text-wrap:pretty;margin:12px 0 0;font-size:12.5px}.meter-detail__hint strong{color:var(--color-text);font-weight:600}label.meter-detail__flag{cursor:pointer;-webkit-user-select:none;user-select:none}label.meter-detail__flag input[type=checkbox]{width:14px;height:14px;accent-color:var(--color-accent);cursor:pointer;margin:0}label.meter-detail__flag:hover{border-color:var(--color-border-strong)}.analytics-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:12px;display:flex}.analytics-share{align-items:center;gap:10px;min-width:160px;display:flex}.analytics-share__bar{background:var(--color-surface-alt);border-radius:999px;flex:1;height:6px;overflow:hidden}.analytics-share__fill{background:var(--color-accent);border-radius:999px;height:100%;display:block}.analytics-share__value{text-align:right;min-width:52px;font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--color-text);flex-shrink:0}.analytics-sensor-actions{flex-wrap:wrap;gap:8px;margin:8px 0;display:flex}.analytics-sensor-group{list-style:none}.analytics-sensor-group__head{font-family:var(--font-mono);font-size:var(--fs-caption);letter-spacing:.6px;text-transform:uppercase;color:var(--color-text-muted);background:var(--color-surface);z-index:1;align-items:center;gap:8px;padding:8px 10px 4px;font-weight:600;display:flex;position:sticky;top:0}.analytics-sensor-group__count{border-radius:var(--radius-pill);background:var(--color-surface-alt);color:var(--color-text);padding:1px 7px;font-size:10.5px}.analytics-sensor-group__list{margin:0;padding:0;list-style:none}.bi-kpis{background:var(--color-border);border:1px solid var(--color-border);border-radius:14px;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:1px;margin-bottom:18px;display:grid;overflow:hidden}@media (width<=900px){.bi-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}.bi-kpis__hero{background:radial-gradient(120% 160% at 100% 0%, var(--color-hero-glow), transparent 62%), var(--color-surface);padding:18px 22px}.bi-kpis__cell{background:var(--color-bg);flex-direction:column;gap:4px;padding:18px 20px;display:flex}.bi-kpis__label{font-family:var(--font-mono);letter-spacing:1px;text-transform:uppercase;color:var(--color-text-muted);min-height:26px;font-size:9.5px;font-weight:600;display:block}.bi-kpis__label--hero{color:var(--color-accent-bright);min-height:0}.bi-kpis__metric{align-items:baseline;gap:8px;margin-top:8px;display:flex}.bi-kpis__value{font-family:var(--font-mono);letter-spacing:-1.6px;color:var(--color-heading);font-variant-numeric:tabular-nums;font-size:40px;font-weight:600;line-height:1}.bi-kpis__cell-value{font-family:var(--font-mono);letter-spacing:-.6px;color:var(--color-heading);font-variant-numeric:tabular-nums;font-size:22px;font-weight:600;line-height:1.1}.bi-kpis__sub{color:var(--color-text-muted);font-size:11.5px}.bi-kpis__delta-row{align-items:center;gap:7px;margin-top:10px;display:flex}.bi-kpis__delta{font-family:var(--font-mono);border-radius:7px;align-items:center;gap:4px;padding:3px 8px;font-size:11px;font-weight:600;display:inline-flex}.bi-kpis__delta--sube{color:var(--color-danger);background:var(--color-danger-soft)}.bi-kpis__delta--baja{color:var(--color-secondary);background:var(--color-secondary-soft)}.bi-kpis__delta--neutro{color:var(--color-text);background:var(--color-surface-alt)}.analytics-filters{grid-template-columns:minmax(0,1fr) 320px;align-items:start;gap:20px;margin-bottom:16px;display:grid}@media (width<=900px){.analytics-filters{grid-template-columns:minmax(0,1fr)}}.analytics-filters__period{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.analytics-filters__sensors{min-width:0;position:relative}.analytics-picker__trigger{border-radius:var(--radius-sm);border:1px solid var(--color-border);background:var(--color-surface-alt);width:100%;color:var(--color-heading);font-family:inherit;font-size:inherit;text-align:left;cursor:pointer;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;line-height:1.2;display:flex}.analytics-picker__trigger:hover{border-color:var(--color-border-strong)}.analytics-picker__summary{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.analytics-picker__scrim{z-index:20;position:fixed;inset:0}.analytics-picker__panel{z-index:21;border-radius:var(--radius-md);border:1px solid var(--color-border-strong);background:var(--color-surface);box-shadow:var(--shadow-lg);padding:12px;position:absolute;top:calc(100% + 6px);left:0;right:0}.analytics-picker__footer{border-top:1px solid var(--color-border);justify-content:space-between;align-items:center;gap:12px;margin-top:10px;padding-top:10px;display:flex}.analytics-picker__limit{font-family:var(--font-mono);color:var(--color-text-muted);font-size:11px}.bi-card{background:var(--color-bg);border:1px solid var(--color-border);border-radius:14px;margin-bottom:18px;padding:18px 20px 14px}.bi-card__head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px;display:flex}.bi-card__title{color:var(--color-heading);margin:0;font-size:15px;font-weight:600}.bi-card__sub{color:var(--color-text-muted);margin:3px 0 0;font-size:12px}.bi-page__sub{color:var(--color-text-muted);margin:0 0 24px;font-size:13px}.page-info{vertical-align:middle;margin-left:10px;display:inline-flex;position:relative}.page-info__trigger{border:1px solid var(--color-border);background:var(--color-surface-alt);width:24px;height:24px;color:var(--color-text-muted);cursor:pointer;border-radius:999px;justify-content:center;align-items:center;display:inline-flex}.page-info__trigger:hover,.page-info__trigger[aria-expanded=true]{border-color:var(--color-accent-border);background:var(--color-accent-soft);color:var(--color-accent)}.page-info__panel{z-index:30;border-radius:var(--radius-md);border:1px solid var(--color-border-strong);background:var(--color-surface);width:min(520px,80vw);box-shadow:var(--shadow-lg);padding:14px 16px;position:absolute;top:calc(100% + 8px);left:0}.page-info__head{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:8px;display:flex}.page-info__title{color:var(--color-heading);font-size:13.5px;font-weight:600}.page-info__close{border-radius:var(--radius-sm);width:22px;height:22px;color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.page-info__close:hover{color:var(--color-heading);background:var(--color-surface-alt)}.page-info__body{color:var(--color-text);font-size:12.5px;line-height:1.6}.page-info__body p{margin:0 0 8px}.page-info__body p:last-child{margin-bottom:0}.page-info__body strong{color:var(--color-heading)}.select-trigger{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface-alt);min-width:120px;color:var(--color-heading);font-family:inherit;font-size:inherit;cursor:pointer;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;line-height:1.2;transition:border-color .15s,box-shadow .15s;display:inline-flex}.select-trigger[data-placeholder]{color:var(--color-text-muted)}.select-trigger:hover{border-color:var(--color-border-strong)}.select-trigger:focus-visible{border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-soft);outline:none}.select-trigger[data-disabled]{opacity:.6;cursor:not-allowed}.select-trigger__icon{color:var(--color-text-muted);flex-shrink:0;align-items:center;display:inline-flex}.select-content{z-index:95;min-width:var(--radix-select-trigger-width);max-height:min(320px, var(--radix-select-content-available-height,320px));border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface-alt);box-shadow:var(--shadow-md);overflow:hidden}.select-viewport{max-height:inherit;padding:4px;overflow-y:auto}.select-item{border-radius:var(--radius-sm);color:var(--color-text);cursor:pointer;-webkit-user-select:none;user-select:none;outline:none;justify-content:space-between;align-items:center;gap:10px;padding:8px 10px;font-size:13.5px;display:flex}.select-item[data-highlighted]{background:var(--color-accent-solid);color:var(--color-accent-solid-text)}.select-item[data-state=checked]{color:var(--color-heading);font-weight:600}.select-item[data-highlighted][data-state=checked]{color:var(--color-accent-solid-text)}.select-item[data-disabled]{opacity:.5;cursor:not-allowed}.select-item__indicator{color:inherit;flex-shrink:0;align-items:center;display:inline-flex}.billing-wizard{flex-direction:column;gap:0;display:flex}.billing-wizard__header{border-bottom:1px solid var(--color-border);flex-shrink:0;padding-bottom:0}.billing-wizard__title-row{justify-content:space-between;align-items:flex-start;gap:24px;display:flex}.billing-wizard__title-block{min-width:0}.billing-wizard__title-block h1{margin-bottom:4px}.billing-wizard__title-block .page__period{margin-bottom:0}.billing-wizard__draft{vertical-align:middle;margin-left:10px}.billing-steps{align-items:stretch;gap:26px;margin-top:18px;display:flex}.billing-steps__item{text-align:left;cursor:pointer;opacity:.55;color:inherit;background:0 0;border:none;border-bottom:2px solid #0000;align-items:center;gap:11px;padding:10px 0 13px;font-family:inherit;display:flex}.billing-steps__item:disabled{cursor:default}.billing-steps__item--done,.billing-steps__item--active{opacity:1}.billing-steps__item--active{border-bottom-color:var(--color-accent)}.billing-steps__badge{border-radius:var(--radius-pill);width:26px;height:26px;font-family:var(--font-mono);background:var(--color-sidebar);border:1px solid var(--color-border);color:var(--color-text-muted);flex-shrink:0;justify-content:center;align-items:center;font-size:12px;font-weight:600;display:inline-flex}.billing-steps__item--done .billing-steps__badge{background:var(--color-secondary-soft);border-color:var(--color-secondary-border);color:var(--color-secondary)}.billing-steps__item--active .billing-steps__badge{background:var(--color-accent-solid-hover);border-color:var(--color-accent);color:var(--color-accent-solid-text)}.billing-steps__text{min-width:0;display:block}.billing-steps__title{color:var(--color-text);font-size:13.5px;font-weight:600;display:block}.billing-steps__item--active .billing-steps__title{color:var(--color-heading)}.billing-steps__hint{font-family:var(--font-mono);letter-spacing:.6px;text-transform:uppercase;color:var(--color-text-muted);margin-top:2px;font-size:10px;display:block}.billing-wizard__body{grid-template-columns:minmax(0,1fr) 326px;align-items:start;gap:24px;padding:24px 0;display:grid}.billing-wizard__main{min-width:0}.billing-card{padding:0;overflow:hidden}.billing-card__head{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:baseline;gap:16px;padding:16px 20px;display:flex}.billing-card__head h2{margin:0}.billing-card__sub{color:var(--color-text-muted);margin:3px 0 0;font-size:13px}.billing-card__body{flex-direction:column;gap:14px;padding:18px 20px 22px;display:flex}.billing-presets{flex-wrap:wrap;gap:8px;display:flex}.billing-chip{border-radius:var(--radius-pill);cursor:pointer;border:1px solid var(--color-border);color:var(--color-text);background:0 0;padding:7px 13px;font-size:13px;font-weight:500}.billing-chip:hover{border-color:var(--color-border-strong)}.billing-chip--static{cursor:default}.billing-chip--active{background:var(--color-accent-soft);border-color:var(--color-accent);color:var(--color-accent-bright);font-weight:600}.billing-period__grid{grid-template-columns:1fr 1fr;gap:16px;display:grid}.field__required{color:var(--color-danger)}.billing-period__summary{border-radius:var(--radius-md);background:var(--color-bg);border:1px solid var(--color-border);color:var(--color-accent);align-items:center;gap:14px;padding:12px 15px;display:flex}.billing-period__summary-label{min-width:0;color:var(--color-text);flex:1;font-size:13px}.billing-period__summary-value{font-family:var(--font-mono);color:var(--color-heading);font-size:12.5px;font-weight:600}.billing-scope__modes{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.billing-scope__mode{text-align:left;border-radius:var(--radius-md);cursor:pointer;background:var(--color-bg);border:1px solid var(--color-border);padding:14px;font-family:inherit;display:block}.billing-scope__mode:hover{border-color:var(--color-border-strong)}.billing-scope__mode--active{background:var(--color-accent-soft);border-color:var(--color-accent);box-shadow:0 0 0 3px #38bdf81a}.billing-scope__mode-head{align-items:center;gap:8px;display:flex}.billing-scope__mode-dot{border-radius:var(--radius-pill);border:1px solid var(--color-border-strong);flex-shrink:0;width:15px;height:15px}.billing-scope__mode--active .billing-scope__mode-dot{border-color:var(--color-accent);background:radial-gradient(circle, var(--color-accent) 0 3.5px, transparent 3.5px)}.billing-scope__mode-label{color:var(--color-text);font-size:13.5px;font-weight:600}.billing-scope__mode--active .billing-scope__mode-label{color:var(--color-heading)}.billing-scope__mode-desc{color:var(--color-text-muted);margin-top:6px;font-size:12px;line-height:1.45;display:block}.billing-list{border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden}.billing-list__head{background:var(--color-surface);border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;gap:12px;padding:10px 14px;display:flex}.billing-list__scroll{max-height:340px;overflow-y:auto}.billing-list__row{cursor:pointer;border-top:1px solid var(--color-surface-alt);align-items:center;gap:12px;padding:12px 14px;display:flex}.billing-list__row:first-child{border-top:none}.billing-list__row:hover{background:var(--color-surface)}.billing-list__row--on{background:var(--color-sidebar)}.billing-list__body{flex:1;min-width:0}.billing-list__name{color:var(--color-text);font-size:13.5px;font-weight:500;display:block}.billing-list__row--on .billing-list__name{color:var(--color-heading)}.billing-list__note{color:var(--color-text-muted);margin-top:1px;font-size:12px;display:block}.billing-list__count{font-family:var(--font-mono);color:var(--color-heading);font-variant-numeric:tabular-nums;font-size:13px;font-weight:600}.billing-list__unit{text-align:right;width:66px;font-family:var(--font-mono);color:var(--color-text-muted);font-size:11px}.billing-exclusions{flex-direction:column;gap:10px;display:flex}.billing-toggle{border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-bg);cursor:pointer;align-items:center;gap:12px;padding:12px 15px;display:flex}.billing-toggle:hover{border-color:var(--color-border-strong)}.billing-toggle input{opacity:0;pointer-events:none;position:absolute}.billing-toggle__track{border-radius:var(--radius-pill);background:var(--color-surface-alt);border:1px solid var(--color-border-strong);flex-shrink:0;justify-content:flex-start;align-items:center;width:36px;height:20px;padding:2px;display:flex}.billing-toggle input:checked+.billing-toggle__track{background:var(--color-accent-solid-hover);border-color:var(--color-accent);justify-content:flex-end}.billing-toggle input:focus-visible+.billing-toggle__track{outline:2px solid var(--color-accent);outline-offset:2px}.billing-toggle__knob{border-radius:var(--radius-pill);background:var(--color-text-muted);width:14px;height:14px}.billing-toggle input:checked+.billing-toggle__track .billing-toggle__knob{background:#fff}.billing-toggle__label{min-width:0;color:var(--color-text);flex:1;font-size:13.5px}.billing-toggle__count{font-family:var(--font-mono);color:var(--color-text-muted);font-size:12.5px}.billing-toggle__count--on{color:var(--color-danger)}.billing-review{flex-direction:column;margin:0;display:flex}.billing-review__row{border-bottom:1px solid var(--color-surface-alt);align-items:center;gap:16px;padding:12px 0;display:flex}.billing-review__row dt{width:190px;color:var(--color-text-muted);flex-shrink:0;font-size:13px}.billing-review__row dd{min-width:0;color:var(--color-text);flex:1;margin:0;font-size:13.5px;font-weight:500}.billing-review__mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.billing-review__strong{color:var(--color-heading);font-weight:600}.billing-review__edit{cursor:pointer;color:var(--color-accent);background:0 0;border:none;flex-shrink:0;padding:0;font-family:inherit;font-size:12.5px}.billing-review__edit:hover{text-decoration:underline}.billing-review__edit-spacer{flex-shrink:0;width:42px}.billing-breakdown summary{cursor:pointer;color:var(--color-accent);padding:4px 0;font-size:13px}.billing-breakdown>table,.billing-breakdown .distribution-table{margin-top:12px}.billing-confirm{border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-sidebar);cursor:pointer;color:var(--color-text);align-items:center;gap:12px;padding:14px 16px;font-size:13.5px;display:flex}.billing-confirm--on{border-color:var(--color-accent-border);color:var(--color-heading)}.billing-summary{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-sidebar);flex-direction:column;gap:12px;padding:20px;display:flex}.billing-summary>*{flex-shrink:0}.billing-summary__hero{border-radius:var(--radius-md);background:var(--color-bg);border:1px solid var(--color-border);padding:16px}.billing-summary__hero-label{color:var(--color-text-muted);font-size:12px;display:block}.billing-summary__hero-value{font-family:var(--font-mono);letter-spacing:-.6px;color:var(--color-heading);font-variant-numeric:tabular-nums;margin-top:3px;font-size:26px;font-weight:600;display:block}.billing-summary__hero-note{color:var(--color-text-muted);margin-top:8px;font-size:12px;display:block}.billing-summary__rows{border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden}.billing-summary__row{background:var(--color-bg);border-top:1px solid var(--color-surface-alt);justify-content:space-between;align-items:center;gap:12px;padding:11px 14px;display:flex}.billing-summary__row:first-child{border-top:none}.billing-summary__row-label{color:var(--color-text-muted);font-size:12.5px}.billing-summary__row-value{font-family:var(--font-mono);text-align:right;color:var(--color-text);font-variant-numeric:tabular-nums;font-size:12.5px;font-weight:500}.billing-summary__row-value--danger{color:var(--color-danger)}.billing-summary__row-value--accent{color:var(--color-accent)}.billing-checks{flex-direction:column;gap:9px;margin:0;padding:0;list-style:none;display:flex}.billing-checks__item{color:#fde68a;align-items:flex-start;gap:9px;font-size:12.5px;line-height:1.4;display:flex}.billing-checks__item--ok{color:var(--color-text)}.billing-checks__item>svg{box-sizing:content-box;border-radius:var(--radius-pill);background:var(--color-warning-soft);border:1px solid var(--color-warning);width:11px;height:11px;color:var(--color-warning);flex-shrink:0;margin-top:1px;padding:2px}.billing-checks__item--ok>svg{background:var(--color-secondary-soft);border-color:var(--color-secondary-border);color:var(--color-secondary)}.billing-summary__note{border-radius:var(--radius-md);background:var(--color-accent-soft);border:1px solid var(--color-accent-border);color:var(--color-text);margin:0;padding:13px 14px;font-size:12.5px;line-height:1.5}.billing-wizard__footer{border-top:1px solid var(--color-border);background:var(--color-bg);flex-shrink:0;justify-content:space-between;align-items:center;gap:16px;padding:14px 0;display:flex}.billing-wizard__footer-hint{min-width:0;font-family:var(--font-mono);color:var(--color-text-muted);font-size:11.5px}.billing-wizard__footer-actions{flex-shrink:0;align-items:center;gap:10px;display:flex}@media (width>=1101px){.billing-wizard{height:100svh;margin:-28px -32px -48px}.billing-wizard__header{padding:28px 32px 0}.billing-wizard__footer{padding:14px 32px}.billing-wizard__body{flex:1;align-items:stretch;gap:0;min-height:0;padding:0;overflow:hidden}.billing-wizard__main,.billing-summary{height:100%;min-height:0;overflow-y:auto}.billing-wizard__main{padding:26px 32px 40px}.billing-summary{border:none;border-left:1px solid var(--color-border);border-radius:0;padding:22px 20px 32px}}@media (width<=1100px){.billing-wizard__body{grid-template-columns:minmax(0,1fr)}.billing-summary{order:-1}.billing-scope__modes,.billing-period__grid{grid-template-columns:minmax(0,1fr)}}.billing-scope__list{border:1px solid var(--color-border);border-radius:var(--radius-md);max-height:360px;margin:0;padding:0;list-style:none;overflow-y:auto}.billing-scope__item{border-bottom:1px solid var(--color-border);align-items:center;gap:10px;padding:10px 14px;font-size:13.5px;display:flex}.billing-scope__item:last-child{border-bottom:none}.billing-scope__item label{cursor:pointer;align-items:center;gap:10px;width:100%;display:flex}.analytics-sensor-search{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface-alt);width:220px;color:var(--color-heading);margin-bottom:6px;padding:7px 10px;font-size:12.5px}.analytics-sensor-search:focus-visible{border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-soft);outline:none}.analytics-sensor-list{width:100%;max-height:260px}.analytics-sensor-list .billing-scope__item{padding:7px 12px;font-size:12.5px}.analytics-sensor-list__empty{color:var(--color-text-muted);justify-content:center;font-style:italic}.billing-review__total{border:1px solid var(--color-accent-border);background:var(--color-accent-soft);border-radius:var(--radius-md);justify-content:space-between;align-items:center;margin-bottom:18px;padding:14px 18px;display:flex}.billing-review__total strong{color:var(--color-heading);font-variant-numeric:tabular-nums;font-size:22px}.billing-review__detail{background:var(--color-surface-alt);border-radius:var(--radius-sm);margin-top:6px;padding:10px 14px;font-size:12.5px}.billing-review__detail table{border-collapse:collapse;width:100%}.billing-review__detail td{font-variant-numeric:tabular-nums;padding:4px 6px}.billing-confirm-panel{border:1px solid var(--color-warning);background:var(--color-warning-soft);border-radius:var(--radius-md);margin-top:20px;padding:16px 20px}.billing-confirm-panel h3{margin-bottom:8px}.billing-confirm-panel__actions{gap:10px;margin-top:14px;display:flex}.billing-variables__connection-picker{align-items:flex-end;gap:16px;margin-bottom:24px;display:flex}.billing-variables__value-cell{align-items:center;gap:8px;display:flex}.billing-variables__value-cell input{width:130px}.file-picker-trigger{cursor:pointer;width:fit-content}.confirm-dialog__backdrop{--confirm-scrim:#0b1220a8;z-index:100;background:var(--confirm-scrim);animation:confirm-fade-in var(--duration-base) var(--easing-standard);position:fixed;inset:0}:root[data-theme=light] .confirm-dialog__backdrop{--confirm-scrim:#1018286b}.confirm-dialog__wrap{z-index:101;pointer-events:none;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.confirm-dialog{pointer-events:auto;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);width:min(480px,100%);max-height:calc(100vh - 48px);box-shadow:var(--shadow-lg);animation:confirm-pop-in var(--duration-base) var(--easing-standard);padding:22px 24px 20px;overflow-y:auto}.confirm-dialog--danger{border-color:var(--color-danger-border)}.confirm-dialog__head{align-items:center;gap:11px;display:flex}.confirm-dialog__icon{background:var(--color-danger-soft);width:34px;height:34px;color:var(--color-danger);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.confirm-dialog__title{color:var(--color-heading);margin:0;font-size:17px;font-weight:600;line-height:1.25}.confirm-dialog__body{color:var(--color-text);margin-top:12px;font-size:13.5px;line-height:1.6}.confirm-dialog__body p{margin:0 0 10px}.confirm-dialog__body p:last-child{margin-bottom:0}.confirm-dialog__footer{border-top:1px solid var(--color-border);justify-content:flex-end;gap:10px;margin-top:20px;padding-top:16px;display:flex}@media (width<=480px){.confirm-dialog__footer{flex-direction:column-reverse}.confirm-dialog__footer .btn{justify-content:center;width:100%}}@keyframes confirm-fade-in{0%{opacity:0}to{opacity:1}}@keyframes confirm-pop-in{0%{opacity:0;transform:translateY(8px)scale(.98)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.confirm-dialog__backdrop,.confirm-dialog{animation:none}}.alert-badge{border-radius:var(--radius-pill);white-space:nowrap;align-items:center;padding:3px 10px;font-size:12px;font-weight:600;display:inline-flex}.alert-badge--status-open{color:var(--color-danger);background:var(--color-danger-soft);border:1px solid var(--color-danger-border)}.alert-badge--status-acknowledged{color:var(--color-warning);background:var(--color-warning-soft)}.alert-badge--status-resolved{color:var(--color-secondary);background:var(--color-secondary-soft);border:1px solid var(--color-secondary-border)}.alert-badge--source-device{color:var(--color-accent);background:var(--color-accent-soft)}.alert-badge--source-system{color:var(--color-text-muted);background:var(--color-surface-alt)}.alert-badge--severity-critical{color:var(--color-danger);background:var(--color-danger-soft)}.alert-badge--severity-warning{color:var(--color-warning);background:var(--color-warning-soft)}.alert-badge--severity-info{color:var(--color-accent-bright);background:var(--color-accent-soft)}.alerts-table__actions{white-space:nowrap;gap:8px;display:flex}.alerts-page__manage-link{margin-bottom:20px;font-size:13.5px}.alerts-page__manage-link a{color:var(--color-accent-bright);align-items:center;gap:6px;font-weight:600;text-decoration:none;transition:color .15s;display:inline-flex}.alerts-page__manage-link a:hover{color:var(--color-accent)}.alerts-page__manage-link a svg{width:15px;height:15px}.field select,.field textarea{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface-alt);color:var(--color-heading);font-family:inherit;font-size:inherit;resize:vertical;padding:10px 12px;transition:border-color .15s,box-shadow .15s}.field select:hover,.field textarea:hover{border-color:var(--color-border-strong)}.field select:focus-visible,.field textarea:focus-visible{border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-soft);outline:none}.alert-rule-form{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px 20px;max-width:760px;margin-bottom:12px;display:grid}.field--full{grid-column:1/-1}.admin-form-section{border-top:1px solid var(--color-border);grid-column:1/-1;margin-top:6px;padding-top:16px}.admin-form-section:first-child{border-top:none;margin-top:0;padding-top:0}.role-badge{--role-badge-color:var(--color-accent-bright);--role-badge-bg:var(--color-accent-soft);--role-badge-border:var(--color-accent-border);border-radius:var(--radius-pill);white-space:nowrap;color:var(--role-badge-color);background:var(--role-badge-bg);border:1px solid var(--role-badge-border);align-items:center;padding:3px 10px;font-size:12px;font-weight:600;display:inline-flex}.user-avatar{--role-badge-color:var(--color-accent-bright);--role-badge-bg:var(--color-accent-soft);--role-badge-border:var(--color-accent-border);border-radius:var(--radius-md);background:var(--role-badge-bg);border:1px solid var(--role-badge-border);width:32px;height:32px;color:var(--role-badge-color);font-family:var(--font-mono);flex-shrink:0;justify-content:center;align-items:center;font-size:11px;font-weight:600;display:inline-flex}.admin-toolbar{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:12px;display:flex}.admin-toolbar__search{flex:190px;align-items:center;display:flex;position:relative}.admin-toolbar__search svg{color:var(--color-text-muted);pointer-events:none;position:absolute;left:12px}.admin-toolbar__search input{box-sizing:border-box;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface-alt);width:100%;min-height:40px;color:var(--color-heading);padding:10px 12px 10px 34px;font-size:13.5px;transition:border-color .15s,box-shadow .15s}.admin-toolbar__search input::placeholder{color:var(--color-text-muted)}.admin-toolbar__search input:hover{border-color:var(--color-border-strong)}.admin-toolbar__search input:focus-visible{border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-soft);outline:none}.admin-toolbar__filter{flex:150px;min-width:150px;max-width:240px}.admin-toolbar__filter .select-trigger{width:100%;min-height:40px;font-size:13.5px}.admin-list__table{display:block}.admin-list__cards{display:none}.distribution-table.distribution-table--compact th{font-family:var(--font-mono);letter-spacing:.8px;padding:9px 14px;font-size:11px}.distribution-table.distribution-table--compact td{padding:9px 14px}.distribution-table--compact .admin-list__col-role{width:170px}.distribution-table--compact .admin-list__col-actions{width:92px}.distribution-table--compact th.admin-list__col-actions{text-align:right}.admin-list__row-actions{justify-content:flex-end;gap:6px;display:flex}.admin-list__footer{margin-top:14px}.admin-list__identity{align-items:center;gap:10px;display:flex}.admin-list__name{color:var(--color-heading);font-weight:500}.admin-list__card{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);flex-direction:column;gap:10px;padding:13px 14px;display:flex}.admin-list__card-top{align-items:center;gap:10px;display:flex}.admin-list__card-bottom{border-top:1px solid var(--color-border);justify-content:space-between;align-items:center;gap:10px;padding-top:10px;display:flex}@media (width<=720px){.admin-list__table{display:none}.admin-list__cards{flex-direction:column;gap:10px;display:flex}}.admin-page-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:20px;display:flex}.admin-page-header__titles{flex:220px;min-width:0}.admin-page-header h1{margin-bottom:0}.admin-page-header__subtitle{color:var(--color-text);text-wrap:pretty;margin-top:5px;font-size:13.5px;line-height:1.45}.drawer-section+.drawer-section{border-top:1px solid var(--color-border);margin-top:22px;padding-top:18px}.drawer-section__title{margin-bottom:12px;display:block}.drawer-section .field+.field{margin-top:14px}.drawer__body .field>input,.drawer__body .member-picker__input,.drawer__body .access-preview{background:var(--color-bg)}.drawer__body .form-error{margin-top:18px}.field__hint{color:var(--color-text-muted);text-wrap:pretty;font-size:11.5px;line-height:1.45}.field__hint--error{color:var(--color-danger)}.role-cards{flex-direction:column;gap:8px;display:flex}.role-card{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg);cursor:pointer;align-items:flex-start;gap:11px;padding:12px;transition:border-color .15s,background-color .15s;display:flex;position:relative}.role-card:hover{border-color:var(--color-border-strong)}.role-card--active{border-color:var(--color-accent);background:var(--color-accent-soft)}.role-card:has(.role-card__input:focus-visible){outline:2px solid var(--color-accent);outline-offset:2px}.role-card--disabled{cursor:not-allowed;opacity:.7}.role-card--disabled:hover{border-color:var(--color-border)}.role-card__input{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.role-card__dot{border-radius:var(--radius-pill);border:2px solid var(--color-border-strong);background:0 0;flex-shrink:0;width:16px;height:16px;margin-top:2px;transition:border-color .15s,box-shadow .15s}.role-card--active .role-card__dot{border-color:var(--color-accent);background:var(--color-accent);box-shadow:inset 0 0 0 3px var(--color-sidebar)}.role-card__text{min-width:0}.role-card__label{color:var(--color-text);font-size:13.5px;font-weight:600;display:block}.role-card--active .role-card__label{color:var(--color-heading)}.role-card__desc{color:var(--color-text-muted);text-wrap:pretty;margin-top:2px;font-size:12px;line-height:1.4;display:block}.access-preview{border:1px solid var(--color-border);border-radius:var(--radius-md);margin-top:13px;padding:13px}.access-preview__title{margin-bottom:8px;display:block}.access-preview__list{margin:0;padding:0;list-style:none}.access-preview__row{color:var(--color-text);align-items:center;gap:8px;padding:3px 0;font-size:12.5px;display:flex}.access-preview__row svg{color:var(--color-secondary);flex-shrink:0}.access-preview__row--off{color:var(--color-text-muted)}.access-preview__row--off svg{color:var(--color-border-strong)}.member-picker{position:relative}.member-picker__input{border:1px solid var(--color-border);border-radius:var(--radius-sm);align-items:center;gap:8px;padding-left:12px;transition:border-color .15s,box-shadow .15s;display:flex}.member-picker__input:hover{border-color:var(--color-border-strong)}.member-picker__input:focus-within{border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-soft)}.member-picker__input svg{color:var(--color-text-muted);flex-shrink:0}.member-picker .member-picker__input input{min-width:0;color:var(--color-heading);background:0 0;border:none;border-radius:0;flex:1;padding:12px 0}.member-picker__input input::placeholder{color:var(--color-text-muted)}.member-picker .member-picker__input input:focus-visible{box-shadow:none;border-color:#0000;outline:none}.member-picker__clear{border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-muted);cursor:pointer;background:0 0;flex-shrink:0;margin-right:6px;padding:4px 8px;font-size:12px;font-weight:600}.member-picker__clear:hover{color:var(--color-heading);border-color:var(--color-border-strong)}.member-picker__list{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);box-shadow:var(--shadow-md);margin:6px 0 0;padding:4px;list-style:none}.member-picker__option{border-radius:var(--radius-sm);color:var(--color-text);cursor:pointer;justify-content:space-between;align-items:baseline;gap:10px;padding:7px 9px;font-size:13px;display:flex}.member-picker__option--active{background:var(--color-accent-soft);color:var(--color-heading)}.member-picker__option-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.member-picker__option-rut{font-family:var(--font-mono);color:var(--color-text-muted);flex-shrink:0;font-size:11.5px}.member-picker__empty{color:var(--color-text-muted);padding:7px 9px;font-size:12.5px}.admin-callout{border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-surface);align-items:flex-start;gap:10px;margin-bottom:14px;padding:12px 14px;display:flex}.admin-callout>svg{flex-shrink:0;margin-top:1px}.admin-callout--warning{border-color:var(--color-warning-soft);background:var(--color-warning-soft)}.admin-callout--warning>svg{color:var(--color-warning)}.admin-callout--inline{margin-top:12px;margin-bottom:0;padding:10px 12px}.admin-callout__body{flex:1;min-width:0}.admin-callout__title{color:var(--color-heading);font-size:13.5px;font-weight:600;display:block}.admin-callout__text{color:var(--color-text);text-wrap:pretty;font-size:12.5px;line-height:1.45;display:block}.admin-callout__title+.admin-callout__text{margin-top:2px}.admin-callout__text+.admin-callout__text{margin-top:6px}.admin-callout__action{border-radius:var(--radius-sm);border:1px solid var(--color-warning-soft);min-height:36px;color:var(--color-warning);cursor:pointer;background:0 0;flex-shrink:0;padding:6px 12px;font-family:inherit;font-size:12.5px;font-weight:600;transition:background-color .15s,border-color .15s}.admin-callout__action:hover{border-color:var(--color-warning);background:var(--color-warning-soft)}.admin-callout__action:focus-visible{outline:2px solid var(--color-warning);outline-offset:2px}.admin-list__stack{flex-direction:column;gap:2px;min-width:0;display:flex}.admin-list__sub{color:var(--color-text-muted);font-size:12px;line-height:1.35}.admin-list__card-top .admin-list__stack{flex:1}.admin-list__name--mono{font-family:var(--font-mono);font-size:12.5px}.admin-list__row--flagged td:first-child{box-shadow:inset 3px 0 0 var(--color-warning)}.admin-list__card--flagged{border-left:3px solid var(--color-warning)}.admin-list__card-meta{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0;display:grid}.admin-list__card-meta dt{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.6px;color:var(--color-text-muted);font-size:10.5px;font-weight:600}.admin-list__card-meta dd{color:var(--color-text);margin:3px 0 0;font-size:13px}.state-badge{border-radius:var(--radius-pill);white-space:nowrap;border:1px solid #0000;align-items:center;gap:5px;padding:3px 10px;font-size:12px;font-weight:600;display:inline-flex}.state-badge--success{color:var(--color-secondary);background:var(--color-secondary-soft);border-color:var(--color-secondary-border)}.state-badge--warning{color:var(--color-warning);background:var(--color-warning-soft);border-color:var(--color-warning-soft)}.state-badge--muted{color:var(--color-text-muted);background:var(--color-surface-alt);border-color:var(--color-border-strong)}.state-badge--danger{color:var(--color-danger);background:var(--color-danger-soft);border-color:var(--color-danger-border)}.level-meter{align-items:center;gap:8px;display:inline-flex}.level-meter__value{font-variant-numeric:tabular-nums;color:var(--color-text);font-size:12.5px}.level-bars{align-items:flex-end;gap:2px;height:14px;display:inline-flex}.level-bars__bar{background:var(--color-border-strong);border-radius:1px;width:4px}.level-bars__bar:first-child{height:5px}.level-bars__bar:nth-child(2){height:8px}.level-bars__bar:nth-child(3){height:11px}.level-bars__bar:nth-child(4){height:14px}.level-bars--ok .level-bars__bar--on{background:var(--color-secondary)}.level-bars--low .level-bars__bar--on{background:var(--color-warning)}.level-bars--critical .level-bars__bar--on{background:var(--color-danger)}.distribution-table--compact .meters-list__col-status{width:180px}.distribution-table--compact .meters-list__col-battery{width:116px}.distribution-table--compact .meters-list__col-usage{width:132px}.distribution-table--compact th.admin-list__col-actions--dual,.distribution-table--compact td.admin-list__col-actions--dual{width:116px}.admin-list__row-actions a.icon-btn,.admin-list__row-actions a.icon-btn:hover{text-decoration:none}.distribution-table--compact .admin-list__col-count{width:118px}.distribution-table--compact .admin-list__col-tag{width:150px}.distribution-table--compact .admin-list__col-money{width:130px}.distribution-table--compact .admin-list__col-when{width:152px}.distribution-table--compact .admin-list__col-state{width:178px}.admin-toolbar>.btn{min-height:40px}.drawer-section__note{margin-top:10px;display:block}.field-repeater{flex-direction:column;gap:10px;display:flex}.field-repeater__item{border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:11px 12px}.field-repeater__item-head{justify-content:space-between;align-items:center;gap:8px;margin-bottom:10px;display:flex}.field-repeater__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.field-repeater__span{grid-column:1/-1}.field-repeater__grid .field+.field{margin-top:0}.field-repeater__foot{flex-direction:column;align-items:flex-start;gap:8px;margin-top:12px;display:flex}.drawer__body .field>textarea{background:var(--color-bg)}.admin-callout:not(.admin-callout--warning) .admin-callout__action{border-color:var(--color-border);color:var(--color-text)}.admin-callout:not(.admin-callout--warning) .admin-callout__action:hover{border-color:var(--color-border-strong);background:var(--color-surface-alt);color:var(--color-heading)}.admin-callout:not(.admin-callout--warning) .admin-callout__action:focus-visible{outline-color:var(--color-accent)}.role-card__flag{margin-top:8px}.drawer-section__toggle{margin-top:12px}.distribution-table--compact th.admin-list__col-actions--triple,.distribution-table--compact td.admin-list__col-actions--triple{width:156px}.admin-list__row--marked td:first-child{box-shadow:inset 3px 0 0 var(--color-accent)}.admin-list__card--marked{border-left:3px solid var(--color-accent)}.date-picker-trigger{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface-alt);min-width:170px;color:var(--color-heading);font-family:inherit;font-size:inherit;text-align:left;cursor:pointer;justify-content:space-between;align-items:center;gap:10px;padding:12px 14px;transition:border-color .15s,box-shadow .15s;display:inline-flex}.date-picker-trigger[data-placeholder]{color:var(--color-text-muted)}.date-picker-trigger:hover{border-color:var(--color-border-strong)}.date-picker-trigger:focus-visible{border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-soft);outline:none}.date-picker-trigger:disabled{opacity:.6;cursor:not-allowed}.date-picker-trigger__icon{color:var(--color-text-muted);flex-shrink:0}.date-picker-content{z-index:95;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-alt);box-shadow:var(--shadow-md);padding:12px}.rdp-root{--rdp-accent-color:var(--color-accent-solid);--rdp-accent-background-color:var(--color-accent-soft);color:var(--color-text);margin:0;font-family:inherit;font-size:13px}.rdp-months{gap:0}.rdp-month_caption{align-items:center;padding:0 2px 8px;display:flex}.rdp-caption_label{color:var(--color-heading);text-transform:capitalize;font-size:13.5px;font-weight:600}.rdp-nav{gap:4px;display:flex}.rdp-button_previous,.rdp-button_next{border:1px solid var(--color-border);border-radius:var(--radius-sm);width:26px;height:26px;color:var(--color-text);cursor:pointer;background:0 0;justify-content:center;align-items:center;transition:border-color .15s,background-color .15s;display:inline-flex}.rdp-button_previous:hover,.rdp-button_next:hover{border-color:var(--color-border-strong);background:var(--color-surface)}.rdp-button_previous:disabled,.rdp-button_next:disabled{opacity:.4;cursor:not-allowed}.rdp-chevron{fill:currentColor}.rdp-month_grid{border-collapse:collapse}.rdp-weekday{color:var(--color-text-muted);font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.4px;padding:4px 0;font-size:10.5px;font-weight:600}.rdp-day{text-align:center;padding:1px}.rdp-day_button{border-radius:var(--radius-sm);width:30px;height:30px;color:var(--color-text);font-family:inherit;font-size:inherit;cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;transition:background-color .15s;display:inline-flex}.rdp-day_button:hover{background:var(--color-surface)}.rdp-day_button:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.rdp-today .rdp-day_button{color:var(--color-accent-bright);font-weight:700}.rdp-selected .rdp-day_button{background:var(--color-accent-solid);color:var(--color-accent-solid-text);font-weight:600}.rdp-selected.rdp-today .rdp-day_button{color:var(--color-accent-solid-text)}.rdp-outside .rdp-day_button{color:var(--color-text-muted);opacity:.6}.rdp-disabled .rdp-day_button{color:var(--color-text-muted);opacity:.35;cursor:not-allowed}.member-shell{background:var(--color-bg);flex-direction:column;width:100%;min-height:100svh;display:flex}.member-shell__body{box-sizing:border-box;flex:1;width:100%;display:flex}.member-shell__sidebar{background:var(--color-sidebar);border-right:1px solid var(--color-border);box-sizing:border-box;flex-direction:column;flex-shrink:0;width:220px;height:100svh;padding:20px 16px;transition:width .2s;display:flex;position:sticky;top:0}.member-shell__sidebar--collapsed{width:76px}.member-shell__toggle-row{justify-content:space-between;align-items:center;gap:6px;padding:0 4px 12px;display:flex}.member-shell__sidebar--collapsed .member-shell__toggle-row{justify-content:center}.member-shell__collapse-toggle{border-radius:var(--radius-sm);width:28px;height:28px;color:var(--color-text-muted);cursor:pointer;background:0 0;border:1px solid #0000;flex-shrink:0;justify-content:center;align-items:center;transition:background-color .15s,color .15s,border-color .15s;display:inline-flex}.member-shell__collapse-toggle:hover{background:var(--color-surface-alt);border-color:var(--color-border);color:var(--color-heading)}.member-shell__collapse-toggle svg{width:16px;height:16px;transition:transform .2s}.member-shell__sidebar--collapsed .member-shell__collapse-toggle svg{transform:rotate(180deg)}.member-shell__brand-block{align-items:center;gap:10px;padding:4px 8px 24px;display:flex}.member-shell__sidebar--collapsed .member-shell__brand-block{justify-content:center;padding-left:0;padding-right:0}.member-shell__brand-mark{border-radius:var(--radius-md);background:var(--color-accent-soft);width:34px;height:34px;color:var(--color-accent-bright);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.member-shell__brand-mark svg{width:18px;height:18px}.member-shell__brand-text{flex-direction:column;min-width:0;line-height:1.3;display:flex}.member-shell__sidebar--collapsed .member-shell__brand-text{display:none}.member-shell__brand{color:var(--color-heading);white-space:nowrap;text-overflow:ellipsis;font-size:13.5px;font-weight:700;overflow:hidden}.member-shell__subtitle{color:var(--color-text-muted);font-size:11.5px}.member-shell__footer{border-top:1px solid var(--color-border);flex-direction:column;gap:10px;margin-top:auto;padding-top:14px;display:flex}.member-shell__sidebar--collapsed .member-shell__user{display:none}.member-shell__sidebar--collapsed .member-shell__footer .btn{width:32px;height:32px;padding:0;font-size:0}.member-shell__user{flex-direction:column;padding:0 4px;display:flex}.member-shell__user-name{color:var(--color-heading);white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:600;overflow:hidden}.member-shell__user-role{text-transform:uppercase;letter-spacing:.4px;color:var(--color-text-muted);font-size:11px}.member-shell__nav{flex-direction:column;gap:6px;display:flex}.member-shell__nav-item{border-radius:var(--radius-md);color:var(--color-text);text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;align-items:center;gap:10px;padding:10px 12px;font-size:14px;font-weight:600;transition:background-color .15s,border-color .15s,color .15s;display:flex}.member-shell__nav-item:hover{background:var(--color-surface-alt)}.member-shell__nav-item--active{background:var(--color-accent-soft);border-color:var(--color-accent-border);color:var(--color-heading)}.member-shell__nav-item--active .member-shell__nav-icon{color:var(--color-accent-bright)}.member-shell__sidebar--collapsed .member-shell__nav-item{justify-content:center;padding:10px}.member-shell__sidebar--collapsed .member-shell__nav-title{display:none}.member-shell__nav-icon{color:var(--color-text-muted);flex-shrink:0;display:inline-flex}.member-shell__nav-icon svg{width:18px;height:18px}.member-shell__content{box-sizing:border-box;flex:1;width:100%;min-width:0;max-width:720px;margin:0 auto;padding:28px 24px 48px}@media (width<=560px){.member-shell__body{flex-direction:column}.member-shell__sidebar{border-right:none;border-bottom:1px solid var(--color-border);flex-direction:row;align-items:center;gap:12px;width:100%;height:auto;padding:12px 16px;position:static}.member-shell__toggle-row{display:none}.member-shell__sidebar--collapsed{width:100%}.member-shell__brand-block,.member-shell__sidebar--collapsed .member-shell__brand-block{padding:0}.member-shell__sidebar--collapsed .member-shell__brand-text{display:flex}.member-shell__subtitle{display:none}.member-shell__nav{flex-direction:row;flex:1}.member-shell__nav-item{flex:1;justify-content:center}.member-shell__nav-title{display:none}.member-shell__footer{border:none;margin:0;padding:0}.member-shell__user{display:none}.member-shell__content{padding:20px 16px 40px}}.committee-picker{max-width:1040px;margin:0 auto;padding:8px 0 48px}.committee-picker__intro{animation:committee-rise var(--duration-slow) var(--easing-standard) both}@keyframes committee-rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.committee-picker__intro{animation:none}}.committee-picker__title{letter-spacing:-1px;color:var(--color-heading);margin:0;font-size:clamp(26px,3.2vw,38px);font-weight:600;line-height:1.12}.committee-picker__lead{max-width:62ch;color:var(--color-text-muted);text-wrap:pretty;margin:11px 0 0;font-size:14.5px}.committee-picker__count{font-family:var(--font-mono);color:var(--color-text)}.committee-picker__controls{flex-wrap:wrap;align-items:center;gap:10px;margin-top:22px;display:flex}.committee-picker__search{flex:240px;align-items:center;display:flex;position:relative}.committee-picker__search-icon{color:var(--color-text-muted);pointer-events:none;position:absolute;left:13px}.committee-picker__search input{box-sizing:border-box;border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-surface);width:100%;min-height:48px;color:var(--color-heading);padding:10px 14px 10px 38px;font-family:inherit;font-size:14.5px}.committee-picker__search input:focus-visible{border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-soft);outline:none}.committee-picker__kbd-hint{color:var(--color-text-muted);white-space:nowrap;align-items:center;gap:7px;margin:0;font-size:12px;display:none}@media (width>=1024px){.committee-picker__kbd-hint{display:flex}}.committee-picker kbd{font-family:var(--font-mono);border-radius:var(--radius-sm);border:1px solid var(--color-border);background:var(--color-sidebar);color:var(--color-text);padding:3px 6px;font-size:11px}.committee-picker__chips{scrollbar-width:thin;align-items:center;gap:7px;margin-top:11px;padding-bottom:2px;display:flex;overflow-x:auto}.committee-chip{border-radius:var(--radius-pill);border:1px solid var(--color-border);background:var(--color-surface);min-height:34px;color:var(--color-text);white-space:nowrap;cursor:pointer;transition:border-color var(--duration-fast) var(--easing-standard);flex-shrink:0;padding:6px 12px;font-family:inherit;font-size:12.5px;font-weight:500}.committee-chip:hover{border-color:var(--color-border-strong)}.committee-chip--on{background:var(--color-accent-soft);border-color:var(--color-accent-border);color:var(--color-accent)}.committee-chip__n{font-family:var(--font-mono);opacity:.65}.committee-picker__group{margin-top:18px}.committee-picker__group-label{font-family:var(--font-mono);letter-spacing:1px;text-transform:uppercase;color:var(--color-text-muted);align-items:center;gap:9px;margin:0 0 10px;font-size:9.5px;font-weight:600;display:flex}.committee-picker__group-n{color:var(--color-border-strong)}.committee-picker__rule{background:var(--color-border);flex:1;height:1px}.committee-picker__recent{margin-top:22px}.committee-recent{box-sizing:border-box;text-align:left;border-radius:var(--radius-lg);border:1px solid var(--color-accent-border);background:var(--color-accent-soft);width:100%;color:inherit;cursor:pointer;transition:transform var(--duration-fast) var(--easing-standard);align-items:center;gap:16px;padding:16px 18px;font-family:inherit;display:flex}.committee-recent:hover{transform:translateY(-2px)}.committee-recent--selected,.committee-recent:focus-visible{border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-soft);outline:none}.committee-recent__avatar{border:1px solid var(--color-accent-border);background:var(--color-accent-soft);width:46px;height:46px;font-family:var(--font-mono);color:var(--color-accent);border-radius:13px;flex-shrink:0;justify-content:center;align-items:center;font-size:15px;font-weight:600;display:flex}.committee-recent__body{flex:1;min-width:0}.committee-recent__title{flex-wrap:wrap;align-items:center;gap:9px;display:flex}.committee-recent__name{letter-spacing:-.2px;color:var(--color-heading);font-size:19px;font-weight:600}.committee-recent__badge{border-radius:var(--radius-pill);border:1px solid var(--color-accent-border);background:var(--color-accent-soft);font-family:var(--font-mono);letter-spacing:.7px;text-transform:uppercase;color:var(--color-accent);align-items:center;gap:5px;padding:2px 9px;font-size:9px;font-weight:600;display:inline-flex}.committee-recent__sub{color:var(--color-text-muted);white-space:nowrap;text-overflow:ellipsis;margin-top:3px;font-size:13px;display:block;overflow:hidden}.committee-recent__sub span{font-family:var(--font-mono)}.committee-recent__cta{border-radius:var(--radius-md);background:var(--color-accent-solid);color:var(--color-accent-solid-text);white-space:nowrap;flex-shrink:0;align-items:center;gap:8px;padding:9px 15px;font-size:13.5px;font-weight:600;display:none}.committee-recent__cta kbd{color:inherit;background:#ffffff2e;border:none}@media (width>=1024px){.committee-recent__cta{display:inline-flex}}.committee-picker__grid{grid-template-columns:1fr;gap:12px;display:grid}@media (width>=700px){.committee-picker__grid{grid-template-columns:repeat(2,1fr)}}@media (width>=1024px){.committee-picker__grid{grid-template-columns:repeat(3,1fr)}}.committee-picker--dense .committee-picker__grid{gap:8px}@media (width>=1024px){.committee-picker--dense .committee-picker__grid{grid-template-columns:repeat(2,1fr)}}.committee-card{box-sizing:border-box;text-align:left;border:1px solid var(--color-border);background:var(--color-surface);color:inherit;cursor:pointer;transition:transform var(--duration-fast) var(--easing-standard), border-color var(--duration-fast) var(--easing-standard);border-radius:15px;flex-direction:column;gap:13px;padding:16px;font-family:inherit;display:flex}.committee-card:hover{border-color:var(--color-accent);transform:translateY(-2px)}.committee-card--selected,.committee-card:focus-visible{border-color:var(--color-accent);background:var(--color-accent-soft);box-shadow:0 0 0 3px var(--color-accent-soft);outline:none}.committee-card__head{align-items:flex-start;gap:12px;min-width:0;display:flex}.committee-card__avatar{border:1px solid var(--color-border-strong);background:var(--color-surface-alt);width:38px;height:38px;font-family:var(--font-mono);color:var(--color-text);border-radius:11px;flex-shrink:0;justify-content:center;align-items:center;font-size:12.5px;font-weight:600;display:flex}.committee-card__id{flex:1;min-width:0}.committee-card__name{letter-spacing:-.2px;color:var(--color-heading);white-space:nowrap;text-overflow:ellipsis;font-size:15px;font-weight:600;display:block;overflow:hidden}.committee-card__sub{color:var(--color-text-muted);white-space:nowrap;text-overflow:ellipsis;margin-top:2px;font-size:12.5px;display:block;overflow:hidden}.committee-card__meta{border-top:1px solid var(--color-border);align-items:center;gap:14px;padding-top:12px;display:flex}.committee-card__stat{color:var(--color-text-muted);align-items:center;gap:6px;font-size:12.5px;display:flex}.committee-card__stat--warn{color:var(--color-warning)}.committee-card__stat-value{font-family:var(--font-mono);color:var(--color-text)}.committee-card__stat--warn .committee-card__stat-value{color:inherit}@media (width>=700px){.committee-picker--dense .committee-card{border-radius:var(--radius-md);flex-direction:row;align-items:center;gap:16px;padding:11px 14px}.committee-picker--dense .committee-card__head{flex:1;align-items:center}.committee-picker--dense .committee-card__avatar{width:34px;height:34px}.committee-picker--dense .committee-card__meta{border-top:none;padding-top:0}}.committee-picker__empty{text-align:center;border:1px dashed var(--color-border);border-radius:var(--radius-lg);color:var(--color-text-muted);flex-direction:column;align-items:center;gap:10px;margin-top:18px;padding:44px 20px;display:flex}.committee-picker__empty p{color:var(--color-text);margin:0;font-size:14.5px}.committee-picker__empty strong{color:var(--color-heading);font-weight:600}.committee-picker__footer{border-top:1px solid var(--color-border);color:var(--color-text-muted);text-wrap:pretty;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;margin-top:26px;padding-top:18px;font-size:12.5px;display:flex}.app-shell{background:var(--color-bg);width:100%;min-height:100svh;display:flex}.app-shell__sidebar{background:var(--color-sidebar);border-right:1px solid var(--color-border);box-sizing:border-box;flex-direction:column;flex-shrink:0;width:236px;height:100svh;padding:20px 16px;transition:width .2s;display:flex;position:sticky;top:0}.app-shell__sidebar--collapsed{width:76px}.app-shell__toggle-row{justify-content:space-between;align-items:center;gap:6px;padding:0 4px 12px;display:flex}.app-shell__sidebar--collapsed .app-shell__toggle-row{justify-content:center}.app-shell__collapse-toggle{border-radius:var(--radius-sm);width:28px;height:28px;color:var(--color-text-muted);cursor:pointer;background:0 0;border:1px solid #0000;flex-shrink:0;justify-content:center;align-items:center;transition:background-color .15s,color .15s,border-color .15s;display:inline-flex}.app-shell__collapse-toggle:hover{background:var(--color-surface-alt);border-color:var(--color-border);color:var(--color-heading)}.app-shell__collapse-toggle svg{width:16px;height:16px;transition:transform .2s}.app-shell__sidebar--collapsed .app-shell__collapse-toggle svg{transform:rotate(180deg)}.app-shell__brand{align-items:center;gap:10px;padding:4px 8px 28px;display:flex}.app-shell__brand-mark{border-radius:var(--radius-md);background:var(--color-accent-soft);width:34px;height:34px;color:var(--color-accent-bright);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.app-shell__brand-mark svg{width:18px;height:18px}.app-shell__brand-text{flex-direction:column;min-width:0;line-height:1.25;display:flex}.app-shell__brand-name{color:var(--color-heading);white-space:nowrap;text-overflow:ellipsis;font-size:13.5px;font-weight:700;overflow:hidden}.app-shell__role-badge{--role-badge-color:var(--color-accent-bright);--role-badge-bg:var(--color-accent-soft);--role-badge-border:var(--color-accent-border);border-radius:var(--radius-pill);border:1px solid var(--role-badge-border);background:var(--role-badge-bg);width:fit-content;color:var(--role-badge-color);font-family:var(--font-mono);letter-spacing:.8px;align-items:center;gap:5px;margin-top:4px;padding:2px 8px;font-size:9.5px;font-weight:600;display:inline-flex}.app-shell__role-badge svg{width:10px;height:10px}.app-shell__committee-switcher{border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-bg);justify-content:space-between;align-items:center;gap:10px;margin-bottom:6px;padding:10px 12px;text-decoration:none;transition:border-color .15s;display:flex}.app-shell__committee-switcher:hover{border-color:var(--color-accent-border)}.app-shell__committee-switcher-text{flex-direction:column;min-width:0;display:flex}.app-shell__committee-switcher-label{text-transform:uppercase;letter-spacing:.5px;color:var(--color-text-muted);font-size:11px;font-weight:700}.app-shell__committee-switcher-name{color:var(--color-heading);white-space:nowrap;text-overflow:ellipsis;font-size:13.5px;font-weight:600;overflow:hidden}.app-shell__committee-switcher-icon{width:16px;height:16px;color:var(--color-accent);flex-shrink:0}.scroll-slim{scrollbar-width:thin;scrollbar-color:var(--color-border-strong) transparent}.scroll-slim::-webkit-scrollbar{width:8px;height:8px}.scroll-slim::-webkit-scrollbar-track{background:0 0}.scroll-slim::-webkit-scrollbar-thumb{background:var(--color-border-strong);background-clip:content-box;border:2px solid #0000;border-radius:999px}.scroll-slim:hover::-webkit-scrollbar-thumb{background:var(--color-text-muted);background-clip:content-box}.scroll-slim::-webkit-scrollbar-button{display:none}.scroll-slim::-webkit-scrollbar-corner{background:0 0}.app-shell__nav{scrollbar-gutter:stable;flex-direction:column;flex:1;gap:10px;display:flex;overflow-y:auto}.app-shell__nav-group{flex-direction:column;gap:2px;display:flex}.app-shell__nav-heading{text-transform:uppercase;letter-spacing:.5px;color:var(--color-text-muted);padding:8px 12px 4px;font-size:11px;font-weight:700}.app-shell__nav-item{border-radius:var(--radius-md);color:var(--color-text);border:1px solid #0000;align-items:center;gap:10px;padding:10px 12px;text-decoration:none;transition:background-color .15s,border-color .15s;display:flex}.app-shell__nav-item:hover{background:var(--color-surface-alt)}.app-shell__nav-item--active{background:var(--color-accent-soft);box-shadow:inset 3px 0 0 var(--color-accent-solid);border-color:#0000}.app-shell__nav-item--active .app-shell__nav-icon,.app-shell__nav-item--active .app-shell__nav-title{color:var(--color-accent-bright)}.app-shell__nav-item--active .app-shell__nav-title{font-weight:700}.app-shell__nav-icon{color:var(--color-text-muted);flex-shrink:0;display:inline-flex}.app-shell__nav-icon svg{width:18px;height:18px}.app-shell__nav-title{min-width:0;color:var(--color-heading);white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:13.5px;font-weight:600;overflow:hidden}.app-shell__footer{border-top:1px solid var(--color-border);align-items:center;gap:10px;margin-top:14px;padding-top:14px;display:flex}.app-shell__user-avatar{border-radius:var(--radius-pill);border:1px solid var(--color-accent-border);background:var(--color-accent-soft);width:34px;height:34px;color:var(--color-accent-bright);font-family:var(--font-mono);flex-shrink:0;justify-content:center;align-items:center;font-size:12px;font-weight:600;display:inline-flex}.app-shell__user{flex-direction:column;flex:1;min-width:0;display:flex}.app-shell__user-name{color:var(--color-heading);white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:600;overflow:hidden}.app-shell__user-role{text-transform:uppercase;letter-spacing:.4px;color:var(--color-text-muted);font-size:11px}.app-shell__logout{border:1px solid var(--color-border);border-radius:var(--radius-sm);width:32px;height:32px;color:var(--color-text-muted);cursor:pointer;background:0 0;flex-shrink:0;justify-content:center;align-items:center;margin-left:auto;transition:background-color .15s,color .15s,border-color .15s;display:inline-flex}.app-shell__logout:hover{background:var(--color-surface-alt);color:var(--color-danger);border-color:var(--color-border-strong)}.app-shell__logout svg{width:16px;height:16px}.app-shell__sidebar--collapsed .app-shell__brand-text,.app-shell__sidebar--collapsed .app-shell__nav-title,.app-shell__sidebar--collapsed .app-shell__nav-heading,.app-shell__sidebar--collapsed .app-shell__committee-switcher-text,.app-shell__sidebar--collapsed .app-shell__user{display:none}.app-shell__sidebar--collapsed .app-shell__committee-switcher,.app-shell__sidebar--collapsed .app-shell__footer{justify-content:center}.app-shell__sidebar--collapsed .app-shell__logout{margin-left:0}.app-shell__sidebar--collapsed .app-shell__brand{justify-content:center;padding-left:0;padding-right:0}.app-shell__sidebar--collapsed .app-shell__nav-item{justify-content:center;gap:0;padding:10px}.app-shell__body{flex:1;min-width:0;overflow-x:hidden}.app-shell__main{box-sizing:border-box;width:100%;max-width:1180px;margin:0 auto;padding:28px 32px 48px}@media (width<=720px){.app-shell{flex-direction:column}.app-shell__sidebar,.app-shell__sidebar--collapsed{flex-direction:row;align-items:center;gap:12px;width:100%;height:auto;padding:12px 16px;position:static}.app-shell__toggle-row{display:none}.app-shell__brand,.app-shell__sidebar--collapsed .app-shell__brand{justify-content:flex-start;padding:0}.app-shell__sidebar--collapsed .app-shell__brand-text,.app-shell__sidebar--collapsed .app-shell__committee-switcher-text{display:flex}.app-shell__sidebar--collapsed .app-shell__nav-title{display:inline}.app-shell__sidebar--collapsed .app-shell__nav-item{justify-content:flex-start;gap:10px;padding:10px 12px}.app-shell__nav{flex-direction:row;flex:1}.app-shell__nav-group{display:contents}.app-shell__nav-heading{display:none}.app-shell__footer{border:none;flex-direction:row;margin:0;padding:0}.app-shell__user{display:none}.app-shell__main{padding:20px}}.app-shell__toggle-row{display:none}.app-shell__brand{align-items:center;padding:4px 8px 18px}.app-shell__brand-text{flex:1;min-width:0}.app-shell__brand-sub{font-family:var(--font-mono);letter-spacing:.5px;color:var(--color-text-muted);white-space:nowrap;text-overflow:ellipsis;margin-top:1px;font-size:9.5px;display:block;overflow:hidden}.app-shell__sidebar--collapsed .app-shell__brand-sub{display:none}.app-shell__footer-actions{flex-shrink:0;align-items:center;gap:6px;display:flex}.app-shell__sidebar--collapsed .app-shell__footer-actions{flex-direction:column}.app-shell__user-role{font-family:var(--font-mono);letter-spacing:.7px;color:var(--role-badge-color,var(--color-text-muted));text-transform:uppercase;align-items:center;gap:5px;font-size:9.5px;font-weight:600;display:inline-flex}.app-shell__user-role-dot{background:currentColor;border-radius:999px;flex-shrink:0;width:5px;height:5px}.app-shell__nav-badge{background:var(--color-warning-soft);min-width:18px;height:18px;color:var(--color-warning);font-family:var(--font-mono);font-variant-numeric:tabular-nums;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;margin-left:auto;padding:0 5px;font-size:10px;font-weight:600;display:inline-flex}.app-shell__sidebar--collapsed .app-shell__nav-badge{background:var(--color-warning);min-width:8px;height:8px;margin:0;padding:0;font-size:0;position:absolute;top:4px;right:8px}.app-shell__sidebar--collapsed .app-shell__nav-item{position:relative}
