@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/build/assets/ibm-plex-mono-400-1-xuaO2J-f.woff2)format("woff2");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-weight:400;font-display:swap;src:url(/build/assets/ibm-plex-mono-400-2-BSMlKf0J.woff2)format("woff2");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-weight:400;font-display:swap;src:url(/build/assets/ibm-plex-mono-400-3-BulugwFq.woff2)format("woff2");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-weight:400;font-display:swap;src:url(/build/assets/ibm-plex-mono-400-4-BmRBH3aV.woff2)format("woff2");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-weight:400;font-display:swap;src:url(/build/assets/ibm-plex-mono-400-5-DMJ8VG8y.woff2)format("woff2");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-weight:500;font-display:swap;src:url(/build/assets/ibm-plex-mono-500-1-BqneJy0T.woff2)format("woff2");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-weight:500;font-display:swap;src:url(/build/assets/ibm-plex-mono-500-2-Bq9vWWag.woff2)format("woff2");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-weight:500;font-display:swap;src:url(/build/assets/ibm-plex-mono-500-3-DZ4AoWbu.woff2)format("woff2");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-weight:500;font-display:swap;src:url(/build/assets/ibm-plex-mono-500-4-CAhNIIs5.woff2)format("woff2");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-weight:500;font-display:swap;src:url(/build/assets/ibm-plex-mono-500-5-DSY6xOcd.woff2)format("woff2");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-weight:600;font-display:swap;src:url(/build/assets/ibm-plex-mono-600-1-V-xxqcpd.woff2)format("woff2");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-weight:600;font-display:swap;src:url(/build/assets/ibm-plex-mono-600-2-CTOM6hUh.woff2)format("woff2");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-weight:600;font-display:swap;src:url(/build/assets/ibm-plex-mono-600-3-D2EvbN8M.woff2)format("woff2");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-weight:600;font-display:swap;src:url(/build/assets/ibm-plex-mono-600-4-D38SheWl.woff2)format("woff2");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-weight:600;font-display:swap;src:url(/build/assets/ibm-plex-mono-600-5-BgSNZQsw.woff2)format("woff2");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-weight:400;font-stretch:100%;font-display:swap;src:url(/build/assets/ibm-plex-sans-400-1-d45eAU9y.woff2)format("woff2");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-weight:400;font-stretch:100%;font-display:swap;src:url(/build/assets/ibm-plex-sans-400-2-BAAhND-U.woff2)format("woff2");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-weight:400;font-stretch:100%;font-display:swap;src:url(/build/assets/ibm-plex-sans-400-3-CmyJS8uq.woff2)format("woff2");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-weight:400;font-stretch:100%;font-display:swap;src:url(/build/assets/ibm-plex-sans-400-4-Dg1JeJN0.woff2)format("woff2");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-weight:400;font-stretch:100%;font-display:swap;src:url(/build/assets/ibm-plex-sans-400-5-CIII54If.woff2)format("woff2");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-weight:400;font-stretch:100%;font-display:swap;src:url(/build/assets/ibm-plex-sans-400-6-IvpUvPa2.woff2)format("woff2");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-weight:500;font-stretch:100%;font-display:swap;src:url(/build/assets/ibm-plex-sans-400-1-d45eAU9y.woff2)format("woff2");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-weight:500;font-stretch:100%;font-display:swap;src:url(/build/assets/ibm-plex-sans-400-2-BAAhND-U.woff2)format("woff2");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-weight:500;font-stretch:100%;font-display:swap;src:url(/build/assets/ibm-plex-sans-400-3-CmyJS8uq.woff2)format("woff2");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-weight:500;font-stretch:100%;font-display:swap;src:url(/build/assets/ibm-plex-sans-400-4-Dg1JeJN0.woff2)format("woff2");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-weight:500;font-stretch:100%;font-display:swap;src:url(/build/assets/ibm-plex-sans-400-5-CIII54If.woff2)format("woff2");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-weight:500;font-stretch:100%;font-display:swap;src:url(/build/assets/ibm-plex-sans-400-6-IvpUvPa2.woff2)format("woff2");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-weight:600;font-stretch:100%;font-display:swap;src:url(/build/assets/ibm-plex-sans-400-1-d45eAU9y.woff2)format("woff2");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-weight:600;font-stretch:100%;font-display:swap;src:url(/build/assets/ibm-plex-sans-400-2-BAAhND-U.woff2)format("woff2");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-weight:600;font-stretch:100%;font-display:swap;src:url(/build/assets/ibm-plex-sans-400-3-CmyJS8uq.woff2)format("woff2");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-weight:600;font-stretch:100%;font-display:swap;src:url(/build/assets/ibm-plex-sans-400-4-Dg1JeJN0.woff2)format("woff2");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-weight:600;font-stretch:100%;font-display:swap;src:url(/build/assets/ibm-plex-sans-400-5-CIII54If.woff2)format("woff2");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-weight:600;font-stretch:100%;font-display:swap;src:url(/build/assets/ibm-plex-sans-400-6-IvpUvPa2.woff2)format("woff2");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-weight:700;font-stretch:100%;font-display:swap;src:url(/build/assets/ibm-plex-sans-400-1-d45eAU9y.woff2)format("woff2");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-weight:700;font-stretch:100%;font-display:swap;src:url(/build/assets/ibm-plex-sans-400-2-BAAhND-U.woff2)format("woff2");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-weight:700;font-stretch:100%;font-display:swap;src:url(/build/assets/ibm-plex-sans-400-3-CmyJS8uq.woff2)format("woff2");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-weight:700;font-stretch:100%;font-display:swap;src:url(/build/assets/ibm-plex-sans-400-4-Dg1JeJN0.woff2)format("woff2");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-weight:700;font-stretch:100%;font-display:swap;src:url(/build/assets/ibm-plex-sans-400-5-CIII54If.woff2)format("woff2");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-weight:700;font-stretch:100%;font-display:swap;src:url(/build/assets/ibm-plex-sans-400-6-IvpUvPa2.woff2)format("woff2");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:Space Grotesk;font-style:normal;font-weight:400;font-display:swap;src:url(/build/assets/space-grotesk-400-1-D0rl6rjA.woff2)format("woff2");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:Space Grotesk;font-style:normal;font-weight:400;font-display:swap;src:url(/build/assets/space-grotesk-400-2-D9tNdqV9.woff2)format("woff2");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:Space Grotesk;font-style:normal;font-weight:400;font-display:swap;src:url(/build/assets/space-grotesk-400-3-BhU9QXUp.woff2)format("woff2");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:Space Grotesk;font-style:normal;font-weight:500;font-display:swap;src:url(/build/assets/space-grotesk-400-1-D0rl6rjA.woff2)format("woff2");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:Space Grotesk;font-style:normal;font-weight:500;font-display:swap;src:url(/build/assets/space-grotesk-400-2-D9tNdqV9.woff2)format("woff2");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:Space Grotesk;font-style:normal;font-weight:500;font-display:swap;src:url(/build/assets/space-grotesk-400-3-BhU9QXUp.woff2)format("woff2");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:Space Grotesk;font-style:normal;font-weight:600;font-display:swap;src:url(/build/assets/space-grotesk-400-1-D0rl6rjA.woff2)format("woff2");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:Space Grotesk;font-style:normal;font-weight:600;font-display:swap;src:url(/build/assets/space-grotesk-400-2-D9tNdqV9.woff2)format("woff2");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:Space Grotesk;font-style:normal;font-weight:600;font-display:swap;src:url(/build/assets/space-grotesk-400-3-BhU9QXUp.woff2)format("woff2");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:Space Grotesk;font-style:normal;font-weight:700;font-display:swap;src:url(/build/assets/space-grotesk-400-1-D0rl6rjA.woff2)format("woff2");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:Space Grotesk;font-style:normal;font-weight:700;font-display:swap;src:url(/build/assets/space-grotesk-400-2-D9tNdqV9.woff2)format("woff2");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:Space Grotesk;font-style:normal;font-weight:700;font-display:swap;src:url(/build/assets/space-grotesk-400-3-BhU9QXUp.woff2)format("woff2");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{--brand-1:#d9ed92;--brand-2:#b5e48c;--brand-3:#99d98c;--brand-4:#76c893;--brand-5:#52b69a;--brand-6:#34a0a4;--brand-7:#168aad;--brand-8:#1a759f;--brand-9:#1e6091;--brand-10:#184e77;--accent:#52b69a;--accent-hover:#76c893;--accent-press:#34a0a4;--accent-fg:#06140f;--accent-soft:#52b69a24;--accent-ring:#52b69a61;--info:#168aad;--info-soft:#168aad29;--success:#76c893;--success-fg:#9fe0b4;--success-soft:#76c89326;--info-fg:#5fc7e0;--warning:#e2a93b;--warning-fg:#f0c36b;--warning-soft:#e2a93b26;--danger:#e5605a;--danger-fg:#f08c87;--danger-soft:#e5605a26;--danger-ring:#e5605a61;--warning-ring:#e2a93b61;--info-ring:#168aad61;--success-ring:#76c89361;--bg:#0e1413;--surface:#141b1a;--surface-2:#19211f;--surface-3:#202a28;--rail:#101716;--border:#26302e;--border-strong:#33403d;--border-soft:#1e2725;--fg:#e9f1ee;--fg-2:#a6b4b0;--fg-3:#6c7e7a;--fg-on-accent:#06140f;--shadow-sm:0 1px 2px #0000004d;--shadow-md:0 4px 16px #0000005c;--shadow-lg:0 12px 40px #00000075;--focus-ring:0 0 0 3px var(--accent-ring);--scrim:#00000080;--r-xs:4px;--r-sm:6px;--r-md:8px;--r-lg:12px;--r-xl:16px;--r-2xl:22px;--r-full:999px;--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:20px;--sp-6:24px;--sp-8:32px;--sp-10:40px;--sp-12:48px;--sp-16:64px;--font-display:"Space Grotesk",system-ui,sans-serif;--font-sans:"IBM Plex Sans",system-ui,sans-serif;--font-mono:"IBM Plex Mono",ui-monospace,monospace;--fs-display:40px;--lh-display:1.05;--ls-display:-.02em;--fs-h1:28px;--lh-h1:1.12;--ls-h1:-.02em;--fs-h2:20px;--lh-h2:1.2;--ls-h2:-.01em;--fs-h3:16px;--lh-h3:1.3;--fs-body:14px;--lh-body:1.55;--fs-sm:13px;--lh-sm:1.5;--fs-caption:12px;--lh-caption:1.4;--fs-eyebrow:11.5px;--ls-eyebrow:.1em;--ease:cubic-bezier(.4,0,.2,1);--dur-fast:.12s;--dur:.16s;--dur-slow:.24s}.theme-light{--bg:#f5f8f7;--surface:#fff;--surface-2:#f1f5f4;--surface-3:#e9efed;--rail:#fff;--border:#e1e8e6;--border-strong:#cdd8d5;--border-soft:#edf1f0;--fg:#0e1413;--fg-2:#51605d;--fg-3:#879693;--shadow-sm:0 1px 2px #10201c0f;--shadow-md:0 4px 16px #10201c14;--shadow-lg:0 12px 40px #10201c1f;--accent-soft:#52b69a29;--success-fg:#2e8b5f;--info-fg:#15748f;--warning-fg:#a9761a;--danger-fg:#c23b36}.ds-display{font-family:var(--font-display);font-size:var(--fs-display);line-height:var(--lh-display);letter-spacing:var(--ls-display);color:var(--fg);font-weight:600}h1,.ds-h1{font-family:var(--font-display);font-size:var(--fs-h1);line-height:var(--lh-h1);letter-spacing:var(--ls-h1);color:var(--fg);margin:0;font-weight:600}h2,.ds-h2{font-family:var(--font-display);font-size:var(--fs-h2);line-height:var(--lh-h2);letter-spacing:var(--ls-h2);color:var(--fg);margin:0;font-weight:600}h3,.ds-h3{font-family:var(--font-sans);font-size:var(--fs-h3);line-height:var(--lh-h3);color:var(--fg);margin:0;font-weight:600}.ds-body{font-family:var(--font-sans);font-size:var(--fs-body);line-height:var(--lh-body);color:var(--fg);font-weight:400}.ds-sm{font-family:var(--font-sans);font-size:var(--fs-sm);line-height:var(--lh-sm);color:var(--fg-2)}.ds-caption{font-family:var(--font-sans);font-size:var(--fs-caption);line-height:var(--lh-caption);color:var(--fg-3)}.ds-caption b,.ds-caption strong{color:var(--fg-2);font-weight:600}.ds-eyebrow{font-family:var(--font-mono);font-size:var(--fs-eyebrow);letter-spacing:var(--ls-eyebrow);text-transform:uppercase;color:var(--fg-3);font-weight:500}.ds-mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}code,.ds-code{font-family:var(--font-mono);background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-sm);color:var(--accent-hover);padding:.1em .4em;font-size:13px}a,.ds-link{color:var(--accent);text-decoration:none}a:hover,.ds-link:hover{text-underline-offset:2px;text-decoration:underline}.btn{font-family:var(--font-sans);height:38px;padding:0 var(--sp-4);border-radius:var(--r-md);justify-content:center;align-items:center;gap:var(--sp-2);white-space:nowrap;cursor:pointer;transition:background var(--dur-fast) var(--ease), border-color var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease);border:1px solid #0000;font-size:13px;font-weight:600;line-height:1;text-decoration:none;display:inline-flex}.btn svg{flex:none;width:16px;height:16px}.btn:focus-visible{box-shadow:var(--focus-ring);outline:none}.btn:disabled,.btn[aria-disabled=true]{opacity:.5;cursor:not-allowed}.btn--primary{background:var(--accent);color:var(--accent-fg)}.btn--primary:hover:not(:disabled){background:var(--accent-hover)}.btn--primary:active:not(:disabled){background:var(--accent-press)}.btn--ghost{background:var(--surface-2);color:var(--fg);border-color:var(--border)}.btn--ghost:hover:not(:disabled){background:var(--surface-3);border-color:var(--border-strong)}.btn--outline{color:var(--fg);border-color:var(--border-strong);background:0 0}.btn--outline:hover:not(:disabled){background:var(--surface-2)}.btn--danger{background:var(--danger);color:#fff}.btn--danger:hover:not(:disabled){filter:brightness(1.07)}.btn--sm{height:30px;padding:0 var(--sp-3);font-size:12px}.field{flex-direction:column;gap:6px;display:flex}.field-label{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--fg-3);font-size:10.5px}.input,.select,.textarea{width:100%;height:38px;padding:0 var(--sp-3);background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-md);color:var(--fg);font-family:var(--font-sans);transition:border-color var(--dur-fast) var(--ease), box-shadow var(--dur-fast) var(--ease);font-size:13px}.textarea{height:auto;min-height:84px;padding:var(--sp-3);line-height:var(--lh-body);resize:vertical}.input::placeholder,.textarea::placeholder{color:var(--fg-3)}.input:focus,.select:focus,.textarea:focus{border-color:var(--accent);box-shadow:var(--focus-ring);outline:none}.input:disabled,.select:disabled,.textarea:disabled{opacity:.5;cursor:not-allowed}.input[aria-invalid=true],.textarea[aria-invalid=true]{border-color:var(--danger)}.field-error{color:var(--danger-fg);align-items:center;gap:6px;font-size:12px;display:inline-flex}.field-error svg{flex:none;width:13px;height:13px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:var(--sp-5)}.chip{border-radius:var(--r-full);white-space:nowrap;align-items:center;gap:5px;padding:3px 10px;font-size:11.5px;font-weight:600;display:inline-flex}.chip--success{background:var(--success-soft);color:var(--success-fg)}.chip--warning{background:var(--warning-soft);color:var(--warning-fg)}.chip--danger{background:var(--danger-soft);color:var(--danger-fg)}.chip--info{background:var(--info-soft);color:var(--info-fg)}.chip--accent{background:var(--accent-soft);color:var(--accent-hover)}.chip--neutral{background:var(--surface-3);color:var(--fg-2)}.flash{margin-bottom:var(--sp-4);padding:var(--sp-3) var(--sp-4);border-radius:var(--r-md);font-size:13px;font-weight:500}.flash--success{background:var(--success-soft);color:var(--success-fg)}.flash--danger{background:var(--danger-soft);color:var(--danger-fg)}.notice{padding:var(--sp-3) var(--sp-4);border-radius:var(--r-md);border:1px solid var(--border);background:var(--surface-2);color:var(--fg-2);align-items:center;gap:13px;font-size:13px;display:flex}.notice__ico{background:#0000002e;border-radius:9px;flex:none;justify-content:center;align-items:center;width:34px;height:34px;display:inline-flex}.notice__ico svg{width:17px;height:17px}.notice__body{min-width:0;line-height:var(--lh-sm);flex:1}.notice__body b,.notice__body strong{font-weight:600}.notice__action{flex:none;margin-left:auto}.notice--warning{background:var(--warning-soft);border-color:var(--warning-ring);color:var(--warning-fg)}.notice--danger{background:var(--danger-soft);border-color:var(--danger-ring);color:var(--danger-fg)}.notice--info{background:var(--info-soft);border-color:var(--info-ring);color:var(--info-fg)}.badge{font-family:var(--font-mono);border-radius:var(--r-sm);background:var(--accent);color:var(--accent-fg);padding:2px 6px;font-size:10px;font-weight:600;line-height:1}.kpi-grid{gap:var(--sp-4);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}@media (width<=1180px){.kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=620px){.kpi-grid{grid-template-columns:minmax(0,1fr)}}.kpi{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:var(--sp-4) 18px;gap:var(--sp-2);flex-direction:column;display:flex}.kpi__top{justify-content:space-between;align-items:center;display:flex}.kpi__ico{background:var(--accent-soft);width:34px;height:34px;color:var(--accent-hover);border-radius:9px;justify-content:center;align-items:center;display:inline-flex}.kpi__ico svg{width:17px;height:17px}.kpi__trend{font-family:var(--font-mono);border-radius:var(--r-full);padding:2px 8px;font-size:11px;font-weight:600}.kpi__trend--up{background:var(--success-soft);color:var(--success-fg)}.kpi__trend--down{background:var(--danger-soft);color:var(--danger-fg)}.kpi__num{font-family:var(--font-display);letter-spacing:-.02em;color:var(--fg);font-size:30px;font-weight:600;line-height:1}.kpi__name{color:var(--fg-2);font-size:12.5px}.kpi__foot{color:var(--fg-3);font-size:12px}.meter{background:var(--surface-3);border-radius:5px;height:7px;display:block;overflow:hidden}.meter__fill{border-radius:inherit;background:var(--success);height:100%;transition:width var(--dur) var(--ease);display:block}.meter--accent .meter__fill{background:linear-gradient(90deg, var(--accent-hover), var(--accent))}.meter--warning .meter__fill{background:var(--warning)}.meter--danger .meter__fill{background:var(--danger)}.meter-row{font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--fg-2);align-items:center;gap:11px;font-size:11.5px;display:flex}.meter-row .meter{flex:1}.meter-row__value{min-width:44px;color:var(--fg);flex:none;font-weight:600}.meter-row__note{color:var(--fg-3);flex:none}.deflist{flex-direction:column;margin:0;display:flex}.deflist__row{justify-content:space-between;align-items:baseline;gap:var(--sp-3);padding:var(--sp-2) 0;border-bottom:1px solid var(--border-soft);font-size:var(--fs-sm);display:flex}.deflist__row:last-child{border-bottom:none}.deflist__key{color:var(--fg-2);flex:none}.deflist__val{min-width:0;color:var(--fg);text-align:right;overflow-wrap:anywhere;margin:0;font-weight:600}.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);overflow:hidden}.panel__head{justify-content:space-between;align-items:center;gap:var(--sp-3);padding:13px var(--sp-4);border-bottom:1px solid var(--border-soft);display:flex}.panel__head h2,.panel__head h3{font-family:var(--font-display);color:var(--fg);margin:0;font-size:15px;font-weight:600}.panel__count{font-family:var(--font-mono);border-radius:var(--r-full);background:var(--accent-soft);color:var(--accent-hover);padding:2px 8px;font-size:11px}.panel__body{padding:var(--sp-3) var(--sp-4) var(--sp-4)}.panel__foot{justify-content:space-between;align-items:center;gap:var(--sp-3);padding:13px var(--sp-4);border-top:1px solid var(--border);background:var(--surface-2);font-size:var(--fs-sm);color:var(--fg-2);display:flex}.table{border-collapse:collapse;width:100%;font-size:13px}.table th{text-align:left;font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--fg-3);padding:9px var(--sp-4);border-bottom:1px solid var(--border-soft);font-size:10px;font-weight:500}.table td{padding:11px var(--sp-4);border-bottom:1px solid var(--border-soft);color:var(--fg);font-weight:500}.table tbody tr:last-child td{border-bottom:none}.table tbody tr:hover td{background:var(--surface-3)}.table .num{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.table .id{font-family:var(--font-mono);color:var(--accent-hover)}.toolbar{align-items:center;gap:var(--sp-3);margin-bottom:var(--sp-4);flex-wrap:wrap;flex:none;display:flex}.toolbar__spacer{flex:1}.toolbar__count{font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--fg-3);white-space:nowrap;font-size:11.5px}.searchbox{align-items:center;gap:var(--sp-2);background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-md);height:36px;color:var(--fg-3);flex:0 260px;padding:0 13px;display:flex}.searchbox:focus-within{border-color:var(--accent);box-shadow:var(--focus-ring)}.searchbox svg{flex:none}.searchbox__input{min-width:0;height:100%;font-family:var(--font-sans);color:var(--fg);background:0 0;border:none;outline:none;flex:1;font-size:13px}.searchbox__input::placeholder{color:var(--fg-3)}.searchbox__input::-webkit-search-cancel-button{appearance:none}.filter-menu{position:relative}.filter-btn{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-md);height:36px;font-family:var(--font-sans);color:var(--fg-2);white-space:nowrap;cursor:pointer;transition:background var(--dur-fast) var(--ease), border-color var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease);align-items:center;gap:7px;padding:0 13px;font-size:12.5px;font-weight:500;display:inline-flex}.filter-btn:hover{background:var(--surface-3);color:var(--fg)}.filter-btn:focus-visible{box-shadow:var(--focus-ring);outline:none}.filter-btn.is-active,.filter-btn.is-open{color:var(--fg);border-color:var(--border-strong)}.filter-btn svg{color:var(--fg-3);flex:none}.filter-btn__caret{margin-left:-2px}.filter-btn__count{font-family:var(--font-mono);color:var(--accent-hover);background:var(--accent-soft);border-radius:var(--r-full);padding:0 6px;font-size:11px;font-weight:600}.filter-menu__panel{z-index:20;min-width:210px;max-height:320px;padding:var(--sp-2);background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);box-shadow:var(--shadow-md);position:absolute;top:calc(100% + 6px);left:0;overflow-y:auto}.filter-menu__item{align-items:center;gap:var(--sp-2);padding:7px var(--sp-2);border-radius:var(--r-sm);color:var(--fg);cursor:pointer;font-size:12.5px;display:flex}.filter-menu__item:hover{background:var(--surface-3)}.filter-menu__item input{accent-color:var(--accent);cursor:pointer;flex:none}.filter-menu__clear{width:100%;margin-top:var(--sp-1);padding:7px var(--sp-2);border:none;border-top:1px solid var(--border-soft);font-family:var(--font-sans);color:var(--fg-3);text-align:left;cursor:pointer;background:0 0;border-radius:0;font-size:12px}.filter-menu__clear:hover{color:var(--fg)}.filter-menu__empty{padding:7px var(--sp-2);color:var(--fg-3);margin:0;font-size:12.5px}.empty-state{justify-content:center;align-items:center;gap:var(--sp-4);padding:var(--sp-8) var(--sp-5);background:var(--surface);border:1px dashed var(--border);border-radius:var(--r-lg);flex-direction:column;flex:1;display:flex}.empty-state__text{color:var(--fg-2);margin:0;font-size:13.5px}.sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.toast-wrap{right:var(--sp-5);bottom:var(--sp-5);z-index:60;gap:var(--sp-2);flex-direction:column;display:flex;position:fixed}.toast{background:var(--surface-3);border:1px solid var(--border-strong);border-radius:var(--r-md);box-shadow:var(--shadow-md);padding:var(--sp-3) var(--sp-4);color:var(--fg);border-left-width:3px;max-width:320px;font-size:13px}.toast--success{border-left-color:var(--success)}.toast--danger{border-left-color:var(--danger)}.seg{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-md);gap:2px;padding:3px;display:inline-flex}.seg__btn{font-family:var(--font-sans);color:var(--fg-3);border-radius:var(--r-sm);cursor:pointer;transition:color var(--dur) var(--ease), background var(--dur) var(--ease);background:0 0;border:none;align-items:center;padding:6px 13px;font-size:12.5px;font-weight:500;text-decoration:none;display:inline-flex}.seg__btn:hover{text-decoration:none}.seg__btn:hover:not(.is-on){color:var(--fg-2)}.seg__btn:focus-visible{box-shadow:var(--focus-ring);outline:none}.seg__btn.is-on{background:var(--surface);color:var(--accent-hover);box-shadow:var(--shadow-sm)}.pager{justify-content:space-between;align-items:center;gap:var(--sp-4);margin-top:var(--sp-4);flex-wrap:wrap;display:flex}.pager__info{color:var(--fg-2);font-size:12px}.pager__pages{align-items:center;gap:var(--sp-1);display:flex}.pager__btn{min-width:30px;height:30px;padding:0 var(--sp-2);border-radius:var(--r-sm);border:1px solid var(--border);background:var(--surface-2);color:var(--fg-2);font-family:var(--font-mono);font-variant-numeric:tabular-nums;cursor:pointer;transition:color var(--dur) var(--ease), border-color var(--dur) var(--ease);justify-content:center;align-items:center;font-size:12px;text-decoration:none;display:inline-flex}.pager__btn:hover:not(.is-on):not([aria-disabled=true]){border-color:var(--border-strong);color:var(--fg);text-decoration:none}.pager__btn:focus-visible{box-shadow:var(--focus-ring);outline:none}.pager__btn.is-on{background:var(--accent-soft);border-color:var(--accent-ring);color:var(--accent-hover)}.pager__btn[aria-disabled=true]{opacity:.4;cursor:default}.pager__dots{color:var(--fg-3);padding:0 2px}.modal-overlay{z-index:55;padding:var(--sp-4);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-scrim{background:var(--scrim);position:absolute;inset:0}.modal{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);width:380px;max-width:100%;box-shadow:var(--shadow-lg);padding:var(--sp-5);gap:var(--sp-4);flex-direction:column;display:flex;position:relative}.modal h3{font-family:var(--font-display);font-size:var(--fs-h3);margin:0;font-weight:600}.modal__actions{justify-content:flex-end;gap:var(--sp-2);display:flex}.truncate{text-overflow:ellipsis;white-space:nowrap;max-width:34ch;display:block;overflow:hidden}.sk{background:var(--surface-2);border-radius:var(--r-sm);height:14px;display:block;position:relative;overflow:hidden}.sk:after{content:"";background:linear-gradient(100deg, transparent 20%, var(--surface-3) 50%, transparent 80%);animation:sk-sweep 1.5s var(--ease) infinite;position:absolute;inset:0;transform:translate(-100%)}@keyframes sk-sweep{to{transform:translate(100%)}}.sk-hint{align-items:center;gap:var(--sp-2);color:var(--fg-2);font-size:var(--fs-sm);margin:0 0 var(--sp-4);display:flex}.spin{border:2px solid var(--border-strong);border-top-color:var(--accent);border-radius:var(--r-full);flex:none;width:15px;height:15px;animation:.8s linear infinite sk-spin}@keyframes sk-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.sk:after,.spin{animation:none}}.sk-fiche{gap:var(--sp-4);flex-direction:column;display:flex}.sk-fiche__head{align-items:center;gap:var(--sp-3);margin-bottom:var(--sp-2);display:flex}.sk-fiche__avatar{border-radius:var(--r-md);flex:none;width:38px;height:38px}.sk-fiche__row{align-items:center;gap:var(--sp-4);display:flex}.sk-fiche__key{flex:none;width:96px;height:11px}.sk-fiche__val{height:13px}.state-card{border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface);min-height:340px;padding:var(--sp-10);justify-content:center;align-items:center;display:flex}.state-card__inner{text-align:center;flex-direction:column;align-items:center;max-width:380px;display:flex}.state-card__badge{border-radius:var(--r-lg);background:var(--accent-soft);border:1px solid var(--accent-ring);width:56px;height:56px;margin-bottom:var(--sp-5);justify-content:center;align-items:center;display:flex}.state-card__badge svg{width:26px;height:26px;color:var(--accent-hover)}.state-card__badge--danger{background:var(--danger-soft);border-color:var(--danger-ring)}.state-card__badge--danger svg{color:var(--danger-fg)}.state-card__title{font-family:var(--font-display);letter-spacing:-.01em;color:var(--fg);margin:0 0 var(--sp-2);font-size:19px;font-weight:600}.state-card__msg{color:var(--fg-2);margin:0 0 var(--sp-6);text-wrap:balance;font-size:13.5px;line-height:1.55}.state-card__inner .btn svg{width:15px;height:15px}.state-hint{padding:var(--sp-4);text-align:center;font-size:var(--fs-sm);color:var(--fg-2);margin:0}.app-shell{background:var(--bg);height:100vh;color:var(--fg);display:flex;overflow:hidden}.rail{background:var(--rail);border-right:1px solid var(--border);width:78px;padding:var(--sp-3) 0;align-items:center;gap:var(--sp-2);flex-direction:column;flex:none;display:flex}.rail__logo{border-radius:var(--r-md);background:linear-gradient(135deg, var(--brand-5), var(--brand-7));width:40px;height:40px;margin-bottom:var(--sp-2);flex:none}.rail__item{width:56px;height:52px;color:var(--fg-3);border-radius:var(--r-md);font-family:var(--font-sans);cursor:pointer;transition:color var(--dur-fast) var(--ease), background var(--dur-fast) var(--ease);background:0 0;border:0;flex-direction:column;justify-content:center;align-items:center;gap:4px;font-size:9.5px;font-weight:500;text-decoration:none;display:flex;position:relative}.rail__item:hover{color:var(--fg-2);background:var(--surface-2)}.rail__item.is-active{color:var(--accent-hover);background:var(--accent-soft)}.rail__item.is-active:before{content:"";background:var(--accent);border-radius:0 3px 3px 0;width:3px;height:26px;position:absolute;top:50%;left:0;transform:translateY(-50%)}.rail__spacer{margin-top:auto}.rail__avatar{border-radius:var(--r-full);background:var(--surface-3);border:1px solid var(--border-strong);width:34px;height:34px;color:var(--fg-2);font-family:var(--font-mono);justify-content:center;align-items:center;font-size:12px;font-weight:600;text-decoration:none;display:flex}.subpanel{background:var(--surface);border-right:1px solid var(--border);width:236px;transition:width var(--dur) var(--ease);flex-direction:column;flex:none;display:flex;overflow:hidden}.app-shell.is-collapsed .subpanel{border-right-color:#0000;width:0}.subpanel__head{padding:var(--sp-4) var(--sp-4) var(--sp-3);border-bottom:1px solid var(--border-soft)}.subpanel__title{font-family:var(--font-display);font-size:var(--fs-h3);color:var(--fg);font-weight:600}.subpanel__subtitle{font-family:var(--font-mono);letter-spacing:var(--ls-eyebrow);text-transform:uppercase;color:var(--fg-3);margin-top:2px;font-size:10px}.subpanel__nav{padding:var(--sp-3) var(--sp-2);overflow-y:auto}.subpanel__cta{margin-bottom:var(--sp-4);border-radius:var(--r-md);background:var(--accent);color:var(--accent-fg);font-family:var(--font-display);transition:background var(--dur-fast) var(--ease);align-items:center;gap:10px;padding:12px 14px;font-size:14px;font-weight:600;text-decoration:none;display:flex}.subpanel__cta:hover,.subpanel__cta.is-active{background:var(--accent-hover)}.subpanel__cta:focus-visible{box-shadow:var(--focus-ring);outline:none}.subpanel__cta svg{flex:none;width:18px;height:18px}.subpanel__cta-label{flex:1}.subpanel__group+.subpanel__group{margin-top:var(--sp-4)}.subpanel__group-label{font-family:var(--font-mono);letter-spacing:var(--ls-eyebrow);text-transform:uppercase;color:var(--fg-3);padding:0 var(--sp-2) var(--sp-2);font-size:10px}.subpanel__item{border-radius:var(--r-md);color:var(--fg-2);transition:background var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease);align-items:center;gap:10px;padding:8px 10px;font-size:13px;font-weight:500;text-decoration:none;display:flex}.subpanel__item:hover{background:var(--surface-2);color:var(--fg)}.subpanel__item.is-active{background:var(--accent-soft);color:var(--accent-hover)}.subpanel__item svg{flex:none;width:16px;height:16px}.subpanel__item-label{white-space:nowrap;text-overflow:ellipsis;flex:1;overflow:hidden}.main{flex-direction:column;flex:1;min-width:0;display:flex}.topbar{align-items:center;gap:var(--sp-3);height:62px;padding:0 var(--sp-5);border-bottom:1px solid var(--border);background:var(--surface);flex:none;display:flex}.topbar__crumb{color:var(--fg-2);font-size:13px;font-weight:500}.topbar__crumb strong{color:var(--fg);font-weight:600}.topbar__search{align-items:center;gap:var(--sp-2);max-width:420px;height:36px;padding:0 var(--sp-3);background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-md);color:var(--fg-3);cursor:not-allowed;flex:1;font-size:12.5px;display:flex}.topbar__search svg{flex:none;width:15px;height:15px}.topbar__spacer{flex:1}.topbar__actions{align-items:center;gap:var(--sp-2);display:flex}.iconbtn{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-md);width:36px;height:36px;color:var(--fg-2);cursor:pointer;transition:background var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease), border-color var(--dur-fast) var(--ease);justify-content:center;align-items:center;display:inline-flex;position:relative}.iconbtn:hover{background:var(--surface-3);color:var(--fg);border-color:var(--border-strong)}.iconbtn:focus-visible{box-shadow:var(--focus-ring);outline:none}.iconbtn svg{width:18px;height:18px}.iconbtn__dot{border-radius:var(--r-full);background:var(--danger);width:6px;height:6px;position:absolute;top:7px;right:8px}.content{padding:var(--sp-6);flex:1;overflow:auto}.content__inner{max-width:1400px;margin:0 auto}.page-head{justify-content:space-between;align-items:flex-start;gap:var(--sp-4);margin-bottom:var(--sp-5);display:flex}.page-head__eyebrow{margin-bottom:var(--sp-1)}.page-head__title{font-family:var(--font-display);font-size:var(--fs-h1);color:var(--fg);font-weight:600}.page-head__sub{color:var(--fg-2);font-size:var(--fs-sm);margin-top:2px}@media (width<=1024px){.app-shell .subpanel{border-right-color:#0000;width:0}.app-shell.is-collapsed .subpanel{border-right-color:var(--border);width:236px}}.leaflet-container .leaflet-popup-content-wrapper,.leaflet-container .leaflet-popup-tip{background:var(--border-soft);color:var(--fg);border:1px solid var(--brand-4);box-shadow:var(--shadow-md)}.leaflet-container .leaflet-popup-content-wrapper{border-radius:var(--r-md)}.leaflet-container .leaflet-popup-content{margin:var(--sp-3) var(--sp-4);font-family:var(--font-sans)}.leaflet-container a.leaflet-popup-close-button{color:var(--fg-3)}.leaflet-container a.leaflet-popup-close-button:hover{color:var(--fg)}.leaflet-container .leaflet-tooltip{background:var(--surface-3);border:1px solid var(--border-strong);color:var(--fg);box-shadow:var(--shadow-sm)}.leaflet-container .leaflet-tooltip-top:before{border-top-color:var(--border-strong)}.leaflet-container .leaflet-bar a{background:var(--surface-2);color:var(--fg-2);border-bottom-color:var(--border)}.leaflet-container .leaflet-bar a:hover{background:var(--surface-3);color:var(--fg)}.leaflet-container .leaflet-control-attribution{color:var(--fg-3);background:#0e1413b8}.leaflet-container .leaflet-control-attribution a{color:var(--fg-2)}.content--board{flex-direction:column;padding-bottom:0;display:flex;overflow:hidden}.content--board .content__inner{flex-direction:column;flex:1;width:100%;min-height:0;display:flex}.content--board .pipeline-mount,.content--board .pipeline-board{flex-direction:column;flex:1;min-height:0;display:flex}.content--board .kanban{flex:1;min-height:0;padding-bottom:0}.kanban{gap:var(--sp-4);padding-bottom:var(--sp-3);align-items:flex-start;display:flex;overflow-x:auto}.kanban__col{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);width:264px;max-height:100%;transition:border-color var(--dur-fast) var(--ease), background var(--dur-fast) var(--ease);flex-direction:column;flex:none;display:flex}.kanban__col.is-over{border-color:var(--accent);background:var(--accent-soft)}.kanban__col-head{justify-content:space-between;align-items:center;gap:var(--sp-2);padding:var(--sp-3) var(--sp-3);border-bottom:1px solid var(--border-soft);display:flex}.kanban__col-title{align-items:center;gap:var(--sp-2);font-family:var(--font-display);color:var(--fg);font-size:13px;font-weight:600;display:flex}.kanban__dot{border-radius:var(--r-full);background:var(--brand-5);width:8px;height:8px}.kanban__count{font-family:var(--font-mono);color:var(--fg-3);font-size:11px}.kanban__list{padding:var(--sp-3);gap:var(--sp-2);flex-direction:column;min-height:72px;display:flex;overflow-y:auto}.kanban__card{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-md);padding:var(--sp-3);cursor:grab;transition:border-color var(--dur-fast) var(--ease), background var(--dur-fast) var(--ease);flex-direction:column;gap:6px;display:flex}.kanban__card:hover{border-color:var(--border-strong);background:var(--surface-3)}.kanban__card:focus-visible{box-shadow:var(--focus-ring);outline:none}.kanban__card.is-dragging{opacity:.35}.kanban__card-top{justify-content:space-between;align-items:flex-start;gap:var(--sp-2);min-width:0;display:flex}.kanban__card-name{color:var(--fg);text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:13px;font-weight:600;overflow:hidden}.kanban__card-meta{align-items:center;gap:var(--sp-2);flex-wrap:wrap;display:flex}.kanban__card-value{font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--accent-hover);font-size:12px}.kanban__empty{color:var(--fg-3);text-align:center;padding:var(--sp-4) 0;font-size:12px}.drawer-overlay{z-index:50;justify-content:flex-end;display:flex;position:fixed;inset:0}.drawer-scrim{background:var(--scrim);position:absolute;inset:0}.drawer-panel{background:var(--surface);border-left:1px solid var(--border);width:440px;max-width:100%;height:100%;box-shadow:var(--shadow-lg);animation:drawer-in var(--dur) var(--ease);flex-direction:column;display:flex;position:relative}@keyframes drawer-in{0%{opacity:.6;transform:translate(16px)}to{opacity:1;transform:translate(0)}}.drawer-head{padding:var(--sp-4) var(--sp-5);border-bottom:1px solid var(--border-soft);justify-content:space-between;align-items:center;display:flex}.drawer-head h2{font-family:var(--font-display);font-size:var(--fs-h3);margin:0;font-weight:600}.drawer-body{padding:var(--sp-5);gap:var(--sp-4);flex-direction:column;flex:1;display:flex;overflow-y:auto}.drawer-foot{justify-content:flex-end;gap:var(--sp-2);padding:var(--sp-4) var(--sp-5);border-top:1px solid var(--border-soft);display:flex}.drawer-foot__spacer{margin-inline-end:auto}.drawer-foot__hint{color:var(--fg-2);align-items:center;gap:6px;font-size:12px;display:inline-flex}.drawer-foot__hint svg{flex:none;width:14px;height:14px}.drawer-foot__hint--error{color:var(--danger-fg)}.prospect-form{gap:var(--sp-4);flex-direction:column;display:flex}.dhead{align-items:center;gap:var(--sp-3);display:flex}.dclogo{border-radius:var(--r-md);width:44px;height:44px;font-family:var(--font-display);color:var(--accent-fg);flex:none;place-items:center;font-size:15px;font-weight:600;display:grid}.dtitle{border-radius:var(--r-md);min-width:0;padding:var(--sp-2) var(--sp-3);font-family:var(--font-display);font-size:var(--fs-h2);color:var(--fg);transition:background var(--dur-fast) var(--ease), border-color var(--dur-fast) var(--ease);background:0 0;border:1px solid #0000;flex:1;font-weight:600}.dtitle::placeholder{color:var(--fg-3)}.dtitle:hover{background:var(--surface-2)}.dtitle:focus{background:var(--surface-2);border-color:var(--accent);box-shadow:var(--focus-ring);outline:none}.dprops{gap:var(--sp-3);flex-direction:column;display:flex}.dprop{gap:var(--sp-3);grid-template-columns:140px 1fr;align-items:center;display:grid}.dprop--start{align-items:start}.dprop--start .dkey{padding-top:9px}.dkey{align-items:center;gap:var(--sp-2);color:var(--fg-3);font-size:13px;display:flex}.dkey svg{color:var(--fg-3);flex:none}.dprop .input,.dprop .select,.dprop .textarea{width:100%}.ddiv{background:var(--border-soft);height:1px;margin:var(--sp-1) 0}.dmeta{font-family:var(--font-mono);font-size:var(--fs-eyebrow);letter-spacing:.08em;text-transform:uppercase;color:var(--fg-3)}.dsection-head{justify-content:space-between;align-items:center;gap:var(--sp-3);display:flex}.geo-pick{gap:var(--sp-3);padding:var(--sp-3);border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface-2);flex-direction:column;display:flex}.geo-pick__list{gap:var(--sp-1);flex-direction:column;display:flex}.geo-pick__item{align-items:flex-start;gap:var(--sp-2);padding:var(--sp-2);border-radius:var(--r-sm);font-size:var(--fs-sm);color:var(--fg-2);cursor:pointer;transition:background var(--dur-fast) var(--ease), border-color var(--dur-fast) var(--ease);border:1px solid #0000;display:flex}.geo-pick__item:hover{background:var(--surface-3);color:var(--fg)}.geo-pick__item.is-selected{border-color:var(--accent-ring);background:var(--accent-soft);color:var(--fg)}.geo-pick__item input{margin:0;margin-top:var(--sp-1);accent-color:var(--accent);cursor:pointer;flex:none}.geo-pick__text{flex-direction:column;min-width:0;display:flex}.geo-pick__label{overflow-wrap:anywhere}.geo-pick__meta{font-size:var(--fs-caption);color:var(--fg-3)}.geo-pick__actions{justify-content:flex-end;gap:var(--sp-2);display:flex}.geo-pick__hint{padding:var(--sp-2)}.dcomment{color:var(--fg-3);padding:var(--sp-3);border:1px dashed var(--border);border-radius:var(--r-md);background:var(--surface-2);font-size:13px}.timeline-form{gap:var(--sp-3);flex-direction:column;display:flex}.timeline-form__actions{justify-content:flex-end;display:flex}.timeline{--tl-dot:var(--sp-5);--tl-rail:2px;--tl-ring:3px;padding:0 0 0 var(--sp-8);margin:0;list-style:none;position:relative}.timeline:before{content:"";left:calc((var(--tl-dot) - var(--tl-rail)) / 2);top:var(--sp-1);bottom:var(--sp-2);width:var(--tl-rail);background:var(--border);position:absolute}.timeline__event{padding-bottom:var(--sp-5);padding-right:var(--sp-8);position:relative}.timeline__event:last-child{padding-bottom:0}.timeline__dot{left:calc(-1 * var(--sp-8));width:var(--tl-dot);height:var(--tl-dot);border-radius:var(--r-full);border:var(--tl-ring) solid var(--surface);background:var(--brand-6);color:var(--accent-fg);justify-content:center;align-items:center;display:flex;position:absolute;top:1px}.timeline__dot--appel{background:var(--brand-6)}.timeline__dot--email{background:var(--brand-4)}.timeline__dot--rdv{background:var(--brand-8)}.timeline__dot--note{background:var(--surface-3);color:var(--fg-2)}.timeline__when{font-family:var(--font-mono);font-size:var(--fs-eyebrow);letter-spacing:.08em;text-transform:uppercase;font-variant-numeric:tabular-nums;color:var(--fg-3);margin-bottom:var(--sp-1)}.timeline__body{font-size:var(--fs-sm);color:var(--fg-2);white-space:pre-wrap;margin:0}.timeline__delete{width:var(--sp-6);height:var(--sp-6);border-radius:var(--r-sm);color:var(--fg-3);cursor:pointer;transition:color var(--dur-fast) var(--ease), border-color var(--dur-fast) var(--ease);background:0 0;border:1px solid #0000;justify-content:center;align-items:center;padding:0;display:flex;position:absolute;top:0;right:0}.timeline__delete:hover{color:var(--danger-fg);border-color:var(--border)}.timeline__delete:focus-visible{box-shadow:var(--focus-ring);outline:none}@media (pointer:coarse){.timeline__delete{width:44px;height:44px}.timeline__event{padding-right:44px}}.dtitle-static{min-width:0;padding:var(--sp-2) var(--sp-3);font-family:var(--font-display);font-size:var(--fs-h2);color:var(--fg);flex:1;margin:0;font-weight:600}.dchips{gap:var(--sp-2);flex-wrap:wrap;display:flex}.dval{align-items:center;gap:var(--sp-2);min-width:0;color:var(--fg);word-break:break-word;font-size:14px;display:inline-flex}.dval--empty{color:var(--fg-3)}.dlink{align-items:center;gap:var(--sp-1);color:var(--brand-7);text-decoration:none;display:inline-flex}.dlink:hover{text-decoration:underline}.dval--multiline{white-space:pre-wrap;display:block}.dloading{padding:var(--sp-5) 0;text-align:center;color:var(--fg-3);font-size:14px}.content--map{flex-direction:column;padding:0;display:flex;overflow:hidden}.content--map .content__inner{flex-direction:column;flex:1;width:100%;max-width:none;min-height:0;display:flex}.content--map .map-mount{flex:1;min-height:0;display:flex}.map-shell{flex:1;min-height:0;position:relative}.map-canvas{z-index:0;background:var(--surface-2);position:absolute;inset:0}.map-filters{top:var(--sp-4);right:var(--sp-4);z-index:5;min-width:176px;padding:var(--sp-3);background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);box-shadow:var(--shadow-md);position:absolute}.map-filters__title{font-family:var(--font-mono);letter-spacing:var(--ls-eyebrow);text-transform:uppercase;color:var(--fg-3);margin-bottom:var(--sp-2);font-size:10px}.map-filter{align-items:center;gap:var(--sp-2);border-radius:var(--r-sm);color:var(--fg-2);cursor:pointer;padding:6px 4px;font-size:13px;display:flex}.map-filter:hover{background:var(--surface-2);color:var(--fg)}.map-filter input{accent-color:var(--accent);cursor:pointer}.map-filter__dot{border-radius:var(--r-full);flex:none;width:10px;height:10px}.map-filter__dot--prospect{background:var(--warning)}.map-filter__dot--client{background:var(--accent)}.map-filter__label{flex:1}.map-filter__count{font-family:var(--font-mono);color:var(--fg-3);font-size:12px}.map-marker{stroke:var(--bg);cursor:pointer;transition:fill-opacity var(--dur-fast) var(--ease)}.map-marker--prospect{fill:var(--warning)}.map-marker--client{fill:var(--accent)}.map-marker:hover{fill-opacity:1;stroke:var(--fg-2)}.map-pop{text-align:left;width:100%;min-width:148px;color:inherit;cursor:pointer;background:0 0;border:0;flex-direction:column;gap:4px;padding:2px;font-family:inherit;display:flex}.map-pop:focus-visible{box-shadow:var(--focus-ring);border-radius:var(--r-sm);outline:none}.map-pop__type{font-family:var(--font-mono);letter-spacing:var(--ls-eyebrow);text-transform:uppercase;color:var(--fg-3);font-size:9.5px}.map-pop__type--prospect{color:var(--warning-fg)}.map-pop__type--client{color:var(--accent-hover)}.map-pop__name{color:var(--fg);transition:color var(--dur-fast) var(--ease);font-size:14px;font-weight:600}.map-pop:hover .map-pop__name{color:var(--accent-hover)}.map-pop__sector{color:var(--fg-2);font-size:12px}.map-pop__cta{font-family:var(--font-mono);letter-spacing:var(--ls-eyebrow);text-transform:uppercase;color:var(--accent);align-items:center;gap:2px;margin-top:4px;font-size:10px;display:inline-flex}.map-pop__cta svg{width:13px;height:13px}.filters{align-items:flex-end;gap:var(--sp-3);margin-bottom:var(--sp-4);flex-wrap:wrap;display:flex}.filters .field{min-width:180px}.etude-segments{gap:var(--sp-3);margin:var(--sp-4) 0;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));display:grid}.etude-seg{gap:var(--sp-1);padding:var(--sp-3) var(--sp-4);background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);color:var(--fg);transition:border-color var(--dur-fast) var(--ease);flex-direction:column;text-decoration:none;display:flex}.etude-seg:hover{border-color:var(--border-strong)}.etude-seg:focus-visible{box-shadow:var(--focus-ring);outline:none}.etude-seg--priority{border-color:var(--accent-ring)}.etude-seg.is-on{border-color:var(--accent);background:var(--accent-soft)}.etude-seg__name{justify-content:space-between;align-items:center;gap:var(--sp-2);font-size:var(--fs-sm);color:var(--fg-2);display:flex}.etude-seg__count{font-size:var(--fs-sm);font-variant-numeric:tabular-nums;color:var(--fg-3)}.etude-seg__count b{font-family:var(--font-display);font-size:var(--fs-h3);color:var(--fg);font-weight:600}.etude-seg__count b.etude-seg__done{color:var(--success-fg)}.etude-seg__foot{font-size:var(--fs-caption);color:var(--fg-3)}.etude-enroll .field{min-width:280px}.etude-grid{overflow-x:auto}.etude-grid .table td{vertical-align:top}.etude-grid .truncate{max-width:22ch}.etude-grid__status{align-items:flex-start;gap:var(--sp-1);white-space:nowrap;flex-direction:column;display:flex}.etude-grid__sub{font-size:var(--fs-caption);color:var(--fg-3);display:block}.etude-sheet{gap:var(--sp-4);grid-template-columns:minmax(0,1.5fr) minmax(320px,1fr);align-items:start;display:grid}.etude-sheet__guide{gap:var(--sp-4);flex-direction:column;min-width:0;display:flex}.etude-sheet__grid{position:sticky;top:0}@media (width<=1024px){.etude-sheet{grid-template-columns:minmax(0,1fr)}.etude-sheet__grid{position:static}}.etude-qs{gap:var(--sp-4);flex-direction:column;display:flex}.etude-q{gap:var(--sp-2);flex-direction:column;display:flex}.etude-q__head{align-items:baseline;gap:var(--sp-2);display:flex}.etude-q__num{min-width:3ch;font-size:var(--fs-caption);font-variant-numeric:tabular-nums;color:var(--fg-3);flex:none}.etude-q__text{font-size:var(--fs-sm);color:var(--fg);line-height:var(--lh-body);flex:1}.etude-q__notes{min-height:60px}.etude-q--key{padding:var(--sp-3);border:1px solid var(--accent-ring);border-radius:var(--r-md);background:var(--accent-soft)}.etude-q--key .etude-q__num{color:var(--accent)}.etude-target{gap:var(--sp-3);padding-bottom:var(--sp-3);border-bottom:1px solid var(--border-soft);grid-template-columns:repeat(auto-fit,minmax(220px,1fr));margin:0;display:grid}.etude-target dd{margin:var(--sp-1) 0 0;font-size:var(--fs-sm);color:var(--fg-2)}.etude-note{font-size:var(--fs-caption);color:var(--fg-2);margin:0;font-style:italic}.etude-form{gap:var(--sp-3);flex-direction:column;display:flex}.etude-form__pair{gap:var(--sp-3);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.etude-form__foot{justify-content:flex-start}.etude-jump{z-index:2;margin:0 0 var(--sp-4);flex-wrap:wrap;display:flex;position:sticky;top:0}.etude-guides{gap:var(--sp-4);flex-direction:column;display:flex}.etude-anchor{scroll-margin-top:var(--sp-16)}.etude-guides ol,.etude-guides ul{margin:0}.etude-guides ol.etude-qs{padding:0;list-style:none}.etude-prose{gap:var(--sp-2);max-width:80ch;font-size:var(--fs-sm);line-height:var(--lh-body);color:var(--fg-2);flex-direction:column;display:flex}.etude-prose p{margin:0}.etude-prose .ds-eyebrow{margin-top:var(--sp-2)}.etude-prose ul,.etude-prose ol{padding-left:var(--sp-5)}.etude-prose strong{color:var(--fg)}.etude-common{gap:var(--sp-4);flex-direction:column;display:flex}.etude-common__title{margin:0 0 var(--sp-3)}.etude-common__key{margin-top:var(--sp-3)}.etude-guides__intro{margin:var(--sp-2) 0 0;max-width:80ch;font-size:var(--fs-sm);color:var(--fg-2)}.etude-guide__body{gap:var(--sp-4);flex-direction:column;display:flex}.etude-guide__meta{align-items:center;gap:var(--sp-2);flex:none;display:flex}.etude-guide--priority{border-color:var(--accent-ring)}.etude-decision{gap:var(--sp-4);margin-top:var(--sp-4);flex-direction:column;display:flex}.etude-decision__pair{gap:var(--sp-4);grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;display:grid}@media (width<=1024px){.etude-decision__pair{grid-template-columns:minmax(0,1fr)}}.etude-verdict{font-size:var(--fs-sm)}.etude-decision .etude-grid__sub{white-space:normal;max-width:60ch}.etude-matrix__name{align-items:center;gap:var(--sp-2);flex-wrap:wrap;display:flex}.etude-launch td{background:var(--accent-soft)}.etude-competitors{margin:0;padding:0;list-style:none}.etude-competitors li{justify-content:space-between;gap:var(--sp-3);padding:var(--sp-2) var(--sp-4);border-bottom:1px solid var(--border-soft);font-size:var(--fs-sm);color:var(--fg);display:flex}.etude-competitors__count{font-size:var(--fs-caption);font-variant-numeric:tabular-nums;color:var(--fg-3);flex:none}.etude-competitors__note{padding:var(--sp-3) var(--sp-4)}.etude-settings{gap:var(--sp-4);flex-direction:column;display:flex}.etude-settings__sectors{gap:var(--sp-2);border:0;flex-direction:column;min-width:0;margin:0;padding:0;display:flex}.etude-settings__checks{gap:var(--sp-2) var(--sp-3);grid-template-columns:repeat(auto-fill,minmax(200px,1fr));display:grid}.etude-check{align-items:center;gap:var(--sp-2);font-size:var(--fs-sm);color:var(--fg-2);cursor:pointer;display:flex}.etude-check input{accent-color:var(--accent);margin:0}.plan{gap:var(--sp-5);flex-direction:column;display:flex}.plan-bar{justify-content:flex-end;display:flex}.plan-head{gap:var(--sp-4);grid-template-columns:1.1fr .9fr;display:grid}.plan-prog{align-items:center;gap:var(--sp-6);display:flex}.plan-prog__body{flex:1;min-width:0}.plan-eyebrow{margin:0 0 var(--sp-1)}.plan-prog__count{margin:0 0 var(--sp-3);font-family:var(--font-display);color:var(--fg);font-size:17px;font-weight:600}@property --plan-pct{syntax:"<number>";inherits:false;initial-value:0}.plan-ring{--plan-pct:0;border-radius:var(--r-full);width:88px;height:88px;transition:--plan-pct var(--dur-slow) var(--ease);background: radial-gradient(closest-side, var(--surface) 0 calc(66px / 2), transparent calc(66px / 2 + 1px)), conic-gradient(var(--brand-5) 0 calc(var(--plan-pct) * 1%), var(--surface-2) calc(var(--plan-pct) * 1%) 100%);flex:none;place-items:center;display:grid}.plan-ring__val{color:var(--fg);font-size:18px;font-weight:600}.plan-prog__bar{border-radius:var(--r-full);background:var(--surface-2);height:6px;overflow:hidden}.plan-prog__fill{border-radius:var(--r-full);background:linear-gradient(90deg, var(--brand-8), var(--brand-5));height:100%;transition:width var(--dur-slow) var(--ease);display:block}.plan-legend{gap:var(--sp-2) var(--sp-5);margin:var(--sp-3) 0 0;color:var(--fg-2);flex-wrap:wrap;padding:0;font-size:12px;list-style:none;display:flex}.plan-legend li{align-items:center;gap:var(--sp-2);display:flex}.plan-legend b{color:var(--fg);font-weight:600}.plan-legend__sw{border-radius:var(--r-xs);width:10px;height:10px}.plan-legend__sw--done{background:var(--brand-5)}.plan-legend__sw--doing{background:var(--brand-8)}.plan-legend__sw--todo{box-shadow:inset 0 0 0 1px var(--border-strong)}.plan-legend__sw--skip{background:var(--surface-3);box-shadow:inset 0 0 0 1px var(--border)}.plan-next{flex-direction:column;display:flex}.plan-next__list{margin:0;padding:0;list-style:none}.plan-next__item{align-items:center;gap:var(--sp-3);padding:var(--sp-2) 0;border-bottom:1px solid var(--border-soft);font-size:13px;display:flex}.plan-next__item:last-child{border-bottom:none;padding-bottom:0}.plan-next__item .chip{flex:none}.plan-next__name{color:var(--fg);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.plan-next__empty{margin:var(--sp-2) 0 0;color:var(--fg-3);font-size:13px}.plan-group__title{font-family:var(--font-display);color:var(--fg);margin:0;font-size:14px;font-weight:600}.plan-table{width:100%}.plan-table__check{text-align:center;width:40px}.plan-row__name label{cursor:pointer;color:var(--fg);display:block}.plan-row__name label:hover{color:var(--accent-hover)}.plan-row--done .plan-row__name label{color:var(--fg-2);text-decoration:line-through;-webkit-text-decoration-color:var(--border-strong);text-decoration-color:var(--border-strong)}.plan-row--skipped .plan-row__name label{color:var(--fg-3);cursor:default}.plan-row__due{white-space:nowrap}.plan-row__due .chip{margin-left:var(--sp-2)}.plan-row__nodate{color:var(--fg-3)}.plan-gantt{--plan-cols:3;--plan-label-w:230px;--plan-col-min:88px}.plan-gantt__scroll{overflow-x:auto}.plan-gantt__grid{min-width:calc(var(--plan-label-w) + var(--plan-cols) * var(--plan-col-min))}.plan-gantt__head,.plan-gantt__row{grid-template-columns:var(--plan-label-w) repeat(var(--plan-cols), 1fr);display:grid}.plan-gantt__head{background:var(--surface-2);border-bottom:1px solid var(--border);align-items:center}.plan-gantt__head .plan-gantt__label{padding:11px var(--sp-4)}.plan-gantt__month{padding:11px var(--sp-2);text-align:center;color:var(--fg-2);border-left:1px solid var(--border-soft);font-size:11.5px;font-weight:500}.plan-gantt__body{position:relative}.plan-gantt__group{padding:var(--sp-2) var(--sp-4);background:var(--surface-2);color:var(--fg-2);border-bottom:1px solid var(--border-soft)}.plan-gantt__row{border-bottom:1px solid var(--border-soft)}.plan-gantt__row:last-child{border-bottom:none}.plan-gantt__label{align-items:center;gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);min-width:0;display:flex}.plan-gantt__meta{min-width:0}.plan-gantt__name{color:var(--fg);cursor:pointer;text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:600;display:block;overflow:hidden}.plan-gantt__name:hover{color:var(--accent-hover)}.plan-row--done .plan-gantt__name{color:var(--fg-2);text-decoration:line-through;-webkit-text-decoration-color:var(--border-strong);text-decoration-color:var(--border-strong)}.plan-row--skipped .plan-gantt__name{color:var(--fg-3);cursor:default}.plan-gantt__tags{align-items:center;gap:var(--sp-2);margin-top:var(--sp-1);display:flex}.plan-gantt__track{background:repeating-linear-gradient(90deg, var(--border-soft) 0 1px, transparent 1px calc(100% / var(--plan-cols)));grid-column:2/-1;align-items:center;min-height:42px;display:flex;position:relative;overflow:hidden}.plan-gantt__bar{border-radius:var(--r-sm);min-width:76px;height:24px;padding:0 var(--sp-2);font-family:var(--font-mono);font-variant-numeric:tabular-nums;white-space:nowrap;color:var(--accent-fg);background:var(--surface-3);align-items:center;font-size:11px;display:flex;position:absolute;overflow:hidden}.plan-gantt__bar--termine{background:linear-gradient(90deg, var(--brand-4), var(--brand-5))}.plan-gantt__bar--en_cours{background:linear-gradient(90deg, var(--accent), var(--accent-hover))}.plan-gantt__bar--a_faire{background:var(--surface-3);color:var(--fg-2)}.plan-gantt__bar--sans_objet{box-shadow:inset 0 0 0 1px var(--border-strong);color:var(--fg-3);background:0 0}.plan-gantt__bar--late{background:var(--danger-soft);box-shadow:inset 0 0 0 1px var(--danger);color:var(--danger-fg)}.plan-gantt__nodate{padding-left:var(--sp-4);color:var(--fg-3);font-size:12px}.plan-gantt__today{top:0;bottom:0;left:calc(var(--plan-label-w) + (100% - var(--plan-label-w)) * var(--plan-today) / 100);background:var(--danger);z-index:1;pointer-events:none;width:2px;position:absolute}.plan-gantt__flag{border-radius:var(--r-sm);background:var(--danger);color:#fff;white-space:nowrap;padding:2px 7px;font-size:9.5px;font-weight:600;position:absolute;top:0;transform:translate(-50%)}.plan-ck{appearance:none;border:1px solid var(--border-strong);border-radius:var(--r-xs);background:var(--surface-2);cursor:pointer;width:18px;height:18px;transition:background var(--dur-fast) var(--ease), border-color var(--dur-fast) var(--ease);margin:0;position:relative}.plan-ck:hover:not(:disabled){border-color:var(--accent)}.plan-ck:focus-visible{box-shadow:var(--focus-ring);outline:none}.plan-ck:checked{background:var(--accent);border-color:var(--accent)}.plan-ck:checked:after{content:"";border:solid var(--accent-fg);border-width:0 2px 2px 0;width:5px;height:9px;position:absolute;top:1px;left:5px;transform:rotate(45deg)}.plan-ck:disabled{cursor:not-allowed;opacity:.5}@media (pointer:coarse){.plan-ck{outline-offset:0}.plan-ck:before{content:"";position:absolute;inset:-13px}}@media (width<=980px){.plan-head{grid-template-columns:1fr}}@media (width<=768px){.plan-prog{align-items:flex-start;gap:var(--sp-4);flex-direction:column}.plan-gantt{--plan-label-w:170px}}@media (prefers-reduced-motion:reduce){.plan-ring,.plan-prog__fill,.plan-ck{transition:none}}.ops-stack{gap:var(--sp-3);margin-bottom:var(--sp-4);flex-direction:column;display:flex}.ops-head{align-items:center;gap:var(--sp-4);margin-bottom:var(--sp-5);display:flex}.ops-head__logo{border-radius:var(--r-xl);background:var(--accent);width:58px;height:58px;color:var(--accent-fg);flex:none;justify-content:center;align-items:center;display:inline-flex}.ops-head__body{min-width:0}.ops-head__titles{align-items:center;gap:var(--sp-2);flex-wrap:wrap;display:flex}.ops-stats{gap:var(--sp-6);display:flex}.ops-statgrid{gap:var(--sp-3);margin-bottom:var(--sp-4);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.ops-stat{flex-direction:column;gap:2px;min-width:0;display:flex}.ops-stat--card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:var(--sp-3) 15px}.ops-stat__value{font-family:var(--font-display);color:var(--fg);font-size:19px;font-weight:600}.ops-stat--card .ops-stat__value{font-size:21px}.ops-stat__key{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--fg-3);font-size:9.5px}.ops-fleet{gap:var(--sp-4);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.ops-drone{gap:var(--sp-2);background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);color:inherit;transition:border-color var(--dur-fast) var(--ease);flex-direction:column;padding:18px;text-decoration:none;display:flex}.ops-drone:hover{border-color:var(--border-strong);text-decoration:none}.ops-drone:focus-visible{box-shadow:var(--focus-ring);outline:none}.ops-drone.is-retired{opacity:.55}.ops-drone__head{align-items:flex-start;gap:var(--sp-3);margin-bottom:7px;display:flex}.ops-drone__ico{width:40px;height:40px;color:var(--accent-fg);border-radius:11px;flex:none;justify-content:center;align-items:center;display:inline-flex}.ops-drone__id{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.ops-drone__name{font-family:var(--font-display);letter-spacing:-.01em;color:var(--fg);font-size:15px;font-weight:600}.ops-drone__uas{letter-spacing:.02em;color:var(--fg-3);overflow-wrap:anywhere;font-size:10.5px}.ops-drone__foot{justify-content:space-between;align-items:center;gap:var(--sp-3);margin-top:var(--sp-2);padding-top:var(--sp-3);border-top:1px solid var(--border-soft);color:var(--fg-2);font-size:12px;display:flex}.ops-drone__foot b{color:var(--fg);font-weight:600}.ops-cols{align-items:start;gap:var(--sp-4);margin-top:var(--sp-4);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.ops-item{align-items:flex-start;gap:var(--sp-3);padding:var(--sp-3) 0;border-bottom:1px solid var(--border-soft);display:flex}.ops-item:last-child{border-bottom:none}.ops-item__ico{border-radius:var(--r-md);background:var(--warning-soft);width:38px;height:38px;color:var(--warning-fg);flex:none;justify-content:center;align-items:center;display:inline-flex}.ops-item__body{flex-direction:column;gap:2px;min-width:0;display:flex}.ops-item__title{color:var(--fg);font-size:13.5px;font-weight:600}.ops-item__sub{color:var(--fg-2);font-size:12px}.ops-battery{gap:var(--sp-2);border-bottom:1px solid var(--border-soft);flex-direction:column;padding:9px 0;display:flex}.ops-battery:last-of-type{border-bottom:none}.ops-battery__head{align-items:center;gap:var(--sp-2);display:flex}.ops-battery__serial{min-width:0;color:var(--fg);flex:1;font-size:12px;font-weight:600}.ops-thresholds{gap:var(--sp-3);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.ops-thresholds__actions{grid-column:1/-1;justify-content:flex-end;display:flex}.ops-missions{table-layout:auto}.ops-mission-row{cursor:pointer}.ops-mission-row:hover{background:var(--surface-2)}.ops-mission-row.is-cancelled{opacity:.55}.ops-mission-cell{min-width:0;max-width:320px;color:inherit;flex-direction:column;gap:2px;text-decoration:none;display:flex}.ops-mission-cell:hover{text-decoration:none}.ops-mission-cell__title{color:var(--fg);font-weight:600}.ops-mission-cell__meta{color:var(--fg-3);font-size:11px}.ops-mission-slot{white-space:nowrap;flex-direction:column;gap:2px;display:flex}.ops-mission-slot__day{color:var(--fg);font-size:12.5px;font-weight:600}.ops-mission-slot__hours{color:var(--fg-3);font-size:11px}.ops-mission-wx{min-width:92px}.ops-mission-wx__value{white-space:nowrap;color:var(--fg-2);justify-content:flex-end;align-items:center;gap:5px;display:inline-flex}.ops-mission-reason{color:var(--fg-3);margin-top:3px;font-size:11px;display:block}.ops-chart{align-items:flex-end;gap:6px;height:140px;display:flex}.ops-chart__col{flex-direction:column;flex:1;justify-content:flex-end;align-items:center;gap:6px;min-width:0;height:100%;display:flex}.ops-chart__bar{background:linear-gradient(180deg, var(--accent-hover), var(--accent));border-radius:5px 5px 0 0;width:100%;max-width:22px;min-height:3px}.ops-chart__label{color:var(--fg-3);font-size:10.5px}.table tr.is-superseded{opacity:.5;text-decoration:line-through}.ops-closure{gap:var(--sp-3);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}@media (width<=620px){.ops-closure{grid-template-columns:minmax(0,1fr)}}.ops-statusbar{align-items:center;gap:var(--sp-4);margin-bottom:var(--sp-4);padding:var(--sp-3) var(--sp-4);background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);flex-wrap:wrap;display:flex}.ops-statusbar__group{align-items:center;gap:var(--sp-2);flex-wrap:wrap;min-width:0;display:flex}.ops-statusbar__group .select{width:auto;min-width:160px}.ops-statusbar__label{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--fg-3);font-size:10.5px}.ops-statusbar__btn{border:1px solid var(--border);border-radius:var(--r-full);background:var(--surface-2);color:var(--fg-2);font-family:var(--font-sans);cursor:pointer;transition:border-color var(--dur-fast) var(--ease), background var(--dur-fast) var(--ease);padding:5px 11px;font-size:12.5px}.ops-statusbar__btn:hover:not(:disabled){border-color:var(--border-strong);color:var(--fg)}.ops-statusbar__btn:focus-visible{box-shadow:var(--focus-ring);outline:none}.ops-statusbar__btn:disabled{opacity:.5;cursor:not-allowed}.ops-statusbar__btn.is-on{background:var(--accent-soft);border-color:var(--accent-ring);color:var(--accent-hover);font-weight:600}.ops-statusbar__btn.is-locked{color:var(--fg-3);border-style:dashed}.ops-fiche{align-items:start;gap:var(--sp-4);grid-template-columns:minmax(0,1fr) 326px;display:grid}.ops-fiche__main,.ops-fiche__side{gap:var(--sp-4);flex-direction:column;min-width:0;display:flex}@media (width<=1180px){.ops-fleet,.ops-fiche,.ops-cols{grid-template-columns:minmax(0,1fr)}.ops-statgrid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=620px){.ops-statgrid,.ops-thresholds{grid-template-columns:minmax(0,1fr)}.ops-stats{gap:var(--sp-4)}}.ops-hbars{flex-direction:column;gap:13px;display:flex}.ops-hbar__label{justify-content:space-between;align-items:baseline;gap:var(--sp-3);color:var(--fg-2);margin-bottom:5px;font-size:12.5px;display:flex}.ops-hbar__label span:last-child{color:var(--fg);font-weight:600}.ops-cal__bar{align-items:center;gap:var(--sp-2);margin-bottom:var(--sp-3);flex-wrap:wrap;display:flex}.ops-cal__month{font-family:var(--font-display);font-size:var(--fs-h2);letter-spacing:var(--ls-h2);min-width:156px}.ops-cal__grid{background:var(--border-soft);border:1px solid var(--border);border-radius:var(--r-lg);grid-template-columns:repeat(7,minmax(0,1fr));gap:1px;display:grid;overflow:hidden}.ops-cal__dow{background:var(--surface-2);padding:9px 10px;font-size:10px}.ops-cal__cell{background:var(--surface);flex-direction:column;gap:5px;min-width:0;min-height:118px;padding:7px 8px;display:flex}.ops-cal__cell.is-out{background:var(--surface-2)}.ops-cal__cell.is-out .ops-cal__day{opacity:.55}.ops-cal__cell.is-today{background:var(--accent-soft)}.ops-cal__cell.is-over{box-shadow:inset 0 0 0 2px var(--accent-ring)}.ops-cal__date{justify-content:space-between;align-items:center;gap:var(--sp-2);min-height:18px;display:flex}.ops-cal__temp{color:var(--fg-3);font-size:11px}.ops-cal__day{color:var(--fg-2);font-size:12px;font-weight:600}.ops-cal__cell.is-today .ops-cal__day{color:var(--accent-hover)}.ops-cal__day--link{cursor:pointer;background:0 0;border:0;padding:0;font-family:inherit}.ops-cal__day--link:hover{color:var(--accent-hover);text-underline-offset:2px;text-decoration:underline}.ops-cal__day--link:focus-visible{border-radius:var(--r-xs);box-shadow:var(--focus-ring);outline:none}.ops-cal__ev{background:var(--surface-2);border-left:3px solid var(--fg-3);border-radius:var(--r-sm);cursor:pointer;min-width:0;transition:background var(--dur) var(--ease);flex-direction:column;gap:3px;padding:5px 7px;display:flex}.ops-cal__ev:hover{background:var(--surface-3)}.ops-cal__ev:focus-visible{box-shadow:var(--focus-ring);outline:none}.ops-cal__ev.is-dragging{opacity:.35}.ops-cal__ev.is-overlay{width:190px;box-shadow:var(--shadow-md);cursor:grabbing}.ops-cal__ev.is-cancelled{opacity:.55}.ops-cal__evtitle{font-size:11px;font-weight:600;line-height:1.25}.ops-cal__evmeta{color:var(--fg-3);font-size:9.5px}.ops-cal__more{font-family:var(--font-mono);color:var(--fg-2);cursor:pointer;border-radius:var(--r-xs);background:0 0;border:0;align-self:flex-start;padding:2px 6px;font-size:10px}.ops-cal__more:hover{background:var(--surface-3);color:var(--fg)}.ops-cal__more:focus-visible{box-shadow:var(--focus-ring);outline:none}.ops-cal__legend{gap:var(--sp-2) var(--sp-4);margin:var(--sp-4) 0 0;color:var(--fg-2);flex-wrap:wrap;padding:0;font-size:11.5px;list-style:none;display:flex}.ops-cal__legend li{align-items:center;gap:7px;display:flex}.ops-cal__swatch{border-radius:3px;flex:none;width:11px;height:11px}.ops-cal__daylist{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.ops-cal__daylink{align-items:center;gap:var(--sp-3);border-radius:var(--r-sm);color:inherit;padding:9px 10px;text-decoration:none;display:flex}.ops-cal__daylink:hover{background:var(--surface-2);text-decoration:none}.ops-cal__daybar{border-radius:var(--r-full);flex:none;align-self:stretch;width:3px}.ops-cal__daymain{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.ops-cal__daytitle{font-size:13px;font-weight:600}.ops-cal__daymeta{color:var(--fg-3);font-size:11px}.ops-map{gap:var(--sp-4);grid-template-columns:minmax(0,1fr) 322px;align-items:start;display:grid}.ops-map__canvas{z-index:0;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-lg);height:534px;position:relative;overflow:hidden}.ops-map__aside{max-height:534px;overflow-y:auto}.ops-map__list{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.ops-mrow{padding:11px var(--sp-4);border-bottom:1px solid var(--border-soft);color:inherit;align-items:center;gap:11px;text-decoration:none;display:flex}.ops-map__list li:last-child .ops-mrow{border-bottom:none}.ops-mrow:hover,.ops-mrow.is-hovered{background:var(--surface-3);text-decoration:none}.ops-mrow:focus-visible{box-shadow:var(--focus-ring);outline:none}.ops-mrow__n{border-radius:var(--r-sm);width:24px;height:24px;color:var(--accent-fg);flex:none;justify-content:center;align-items:center;font-size:11px;font-weight:700;display:flex}.ops-mrow__main{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.ops-mrow__title{font-size:13px;font-weight:600}.ops-mrow__meta{color:var(--fg-3);font-size:11px}.ops-pin-wrap{flex-direction:column;align-items:center;display:flex}.ops-pin{background:var(--pin-color,var(--accent));width:26px;height:26px;box-shadow:var(--shadow-md);transition:transform var(--dur) var(--ease);border-radius:50% 50% 50% 3px;justify-content:center;align-items:center;display:flex;transform:rotate(45deg)}.ops-pin__n{color:var(--accent-fg);font-size:11px;font-weight:700;transform:rotate(-45deg)}.is-hovered .ops-pin{transform:rotate(45deg)scale(1.18)}.ops-pin__count{background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--r-full);text-align:center;min-width:16px;color:var(--fg);padding:0 4px;font-size:9.5px;font-weight:700;line-height:15px;position:absolute;top:-5px;right:-7px}.ops-pin__label{background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--r-sm);font-family:var(--font-sans);color:var(--fg);white-space:nowrap;margin-top:6px;padding:2px 7px;font-size:11px;font-weight:600}@media (width<=1180px){.ops-map{grid-template-columns:1fr}.ops-map__aside{max-height:none}}@media (width<=900px){.ops-cal{overflow-x:auto}.ops-cal__grid{min-width:720px}}.ops-export{align-items:flex-end;gap:var(--sp-2);margin-top:var(--sp-3);flex-wrap:wrap;display:flex}.ops-export .field{flex:118px;min-width:0}.ops-export .btn{flex:100%;justify-content:center}.ops-wx__strip{grid-template-columns:repeat(auto-fill,minmax(58px,1fr));gap:6px;margin:0;padding:0;list-style:none;display:grid}.ops-wx__cell{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-md);text-align:center;padding:9px 5px}.ops-wx__hour{color:var(--fg-3);font-size:10.5px;display:block}.ops-wx__icon{color:var(--fg-2);margin:7px auto 5px;display:block}.ops-wx__temp{font-variant-numeric:tabular-nums;font-size:13px;font-weight:600;display:block}.ops-wx__wind{color:var(--fg-3);margin-top:3px;font-size:10px;display:block}.ops-wx__cell--best{background:var(--accent-soft);border-color:var(--accent-ring)}.ops-wx__cell--best .ops-wx__temp,.ops-wx__cell--best .ops-wx__icon{color:var(--accent-hover)}.ops-wx__cell--bad{background:var(--danger-soft);border-color:var(--danger-ring);border-top-width:2px}.ops-wx__cell--bad .ops-wx__temp,.ops-wx__cell--bad .ops-wx__icon{color:var(--danger-fg)}.ops-wx__cell--night{background:var(--surface);opacity:.55}.ops-wx__band{align-items:center;gap:var(--sp-2);margin:var(--sp-3) 0 0;color:var(--fg-2);flex-wrap:wrap;font-size:12.5px;display:flex}.ops-wx__band--danger{color:var(--danger-fg)}.ops-wx__src{color:var(--fg-3);margin-left:auto;font-size:10.5px}*,:before,:after{box-sizing:border-box}html,body{min-height:100%;margin:0}body{background:var(--bg);color:var(--fg);font-family:var(--font-sans)}*{scrollbar-width:thin;scrollbar-color:var(--brand-4) var(--accent-fg)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:var(--accent-fg)}::-webkit-scrollbar-thumb{background:var(--brand-4);border-radius:var(--r-full);border:2px solid var(--accent-fg)}::-webkit-scrollbar-thumb:hover{background:var(--brand-3)}::-webkit-scrollbar-corner{background:var(--accent-fg)}
