/*! Hachilu © 2026. Bảo lưu mọi quyền. Nghiêm cấm sao chép, dịch ngược hoặc giải mã. */
@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-ext-wght-normal-BOeWTOD4.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-wght-normal-DqGufNeO.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-ext-wght-normal-DlzME5K_.woff2) format("woff2-variations");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-wght-normal-CkhJZR-_.woff2) format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-vietnamese-wght-normal-CBcvBZtf.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-ext-wght-normal-DO1Apj_S.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-wght-normal-Dx4kXJAl.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Roboto Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/roboto-cyrillic-ext-wght-normal-BCp_3N7R.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Roboto Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/roboto-cyrillic-wght-normal-fOt7epNf.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Roboto Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/roboto-greek-ext-wght-normal-Bgw4czJT.woff2) format("woff2-variations");unicode-range:U+1F00-1FFF}@font-face{font-family:Roboto Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/roboto-greek-wght-normal-DlT9XTxE.woff2) format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Roboto Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/roboto-math-wght-normal-4a3xuzGk.woff2) format("woff2-variations");unicode-range:U+0302-0303,U+0305,U+0307-0308,U+0310,U+0312,U+0315,U+031A,U+0326-0327,U+032C,U+032F-0330,U+0332-0333,U+0338,U+033A,U+0346,U+034D,U+0391-03A1,U+03A3-03A9,U+03B1-03C9,U+03D1,U+03D5-03D6,U+03F0-03F1,U+03F4-03F5,U+2016-2017,U+2034-2038,U+203C,U+2040,U+2043,U+2047,U+2050,U+2057,U+205F,U+2070-2071,U+2074-208E,U+2090-209C,U+20D0-20DC,U+20E1,U+20E5-20EF,U+2100-2112,U+2114-2115,U+2117-2121,U+2123-214F,U+2190,U+2192,U+2194-21AE,U+21B0-21E5,U+21F1-21F2,U+21F4-2211,U+2213-2214,U+2216-22FF,U+2308-230B,U+2310,U+2319,U+231C-2321,U+2336-237A,U+237C,U+2395,U+239B-23B7,U+23D0,U+23DC-23E1,U+2474-2475,U+25AF,U+25B3,U+25B7,U+25BD,U+25C1,U+25CA,U+25CC,U+25FB,U+266D-266F,U+27C0-27FF,U+2900-2AFF,U+2B0E-2B11,U+2B30-2B4C,U+2BFE,U+3030,U+FF5B,U+FF5D,U+1D400-1D7FF,U+1EE00-1EEFF}@font-face{font-family:Roboto Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/roboto-symbols-wght-normal-B7iHSfaG.woff2) format("woff2-variations");unicode-range:U+0001-000C,U+000E-001F,U+007F-009F,U+20DD-20E0,U+20E2-20E4,U+2150-218F,U+2190,U+2192,U+2194-2199,U+21AF,U+21E6-21F0,U+21F3,U+2218-2219,U+2299,U+22C4-22C6,U+2300-243F,U+2440-244A,U+2460-24FF,U+25A0-27BF,U+2800-28FF,U+2921-2922,U+2981,U+29BF,U+29EB,U+2B00-2BFF,U+4DC0-4DFF,U+FFF9-FFFB,U+10140-1018E,U+10190-1019C,U+101A0,U+101D0-101FD,U+102E0-102FB,U+10E60-10E7E,U+1D2C0-1D2D3,U+1D2E0-1D37F,U+1F000-1F0FF,U+1F100-1F1AD,U+1F1E6-1F1FF,U+1F30D-1F30F,U+1F315,U+1F31C,U+1F31E,U+1F320-1F32C,U+1F336,U+1F378,U+1F37D,U+1F382,U+1F393-1F39F,U+1F3A7-1F3A8,U+1F3AC-1F3AF,U+1F3C2,U+1F3C4-1F3C6,U+1F3CA-1F3CE,U+1F3D4-1F3E0,U+1F3ED,U+1F3F1-1F3F3,U+1F3F5-1F3F7,U+1F408,U+1F415,U+1F41F,U+1F426,U+1F43F,U+1F441-1F442,U+1F444,U+1F446-1F449,U+1F44C-1F44E,U+1F453,U+1F46A,U+1F47D,U+1F4A3,U+1F4B0,U+1F4B3,U+1F4B9,U+1F4BB,U+1F4BF,U+1F4C8-1F4CB,U+1F4D6,U+1F4DA,U+1F4DF,U+1F4E3-1F4E6,U+1F4EA-1F4ED,U+1F4F7,U+1F4F9-1F4FB,U+1F4FD-1F4FE,U+1F503,U+1F507-1F50B,U+1F50D,U+1F512-1F513,U+1F53E-1F54A,U+1F54F-1F5FA,U+1F610,U+1F650-1F67F,U+1F687,U+1F68D,U+1F691,U+1F694,U+1F698,U+1F6AD,U+1F6B2,U+1F6B9-1F6BA,U+1F6BC,U+1F6C6-1F6CF,U+1F6D3-1F6D7,U+1F6E0-1F6EA,U+1F6F0-1F6F3,U+1F6F7-1F6FC,U+1F700-1F7FF,U+1F800-1F80B,U+1F810-1F847,U+1F850-1F859,U+1F860-1F887,U+1F890-1F8AD,U+1F8B0-1F8BB,U+1F8C0-1F8C1,U+1F900-1F90B,U+1F93B,U+1F946,U+1F984,U+1F996,U+1F9E9,U+1FA00-1FA6F,U+1FA70-1FA7C,U+1FA80-1FA89,U+1FA8F-1FAC6,U+1FACE-1FADC,U+1FADF-1FAE9,U+1FAF0-1FAF8,U+1FB00-1FBFF}@font-face{font-family:Roboto Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/roboto-vietnamese-wght-normal-_f1XEJpo.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Roboto Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/roboto-latin-ext-wght-normal-DYIxWhlt.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Roboto Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/roboto-latin-wght-normal-ccAYIvAh.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(data:font/woff2;base64,d09GMgABAAAAAAa0ABQAAAAADOwAAAZHAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGhYbbhwoP0hWQVJtP01WQVJGBmA/U1RBVIEcAGQvXBEICoMkgmcLFgAwhEwBNgIkAyYEIAWGXAdiDAcbOgtRlHLSRcD8TEzkdoghPRuspKefbVnJIM5yRfA8vZv9uTNJSCZY21Scrigr6qyJ/C3sE1OFKuVP3e+lxUTbYio1zb/kFdk2bufY2BlhWERRBrcDUBhB5GEpd2Cy+MDxqf9zLPX+XVsk5r+s50d6IpWLatqbdT6f2MAikiOKQocbjya2QT0DqPDX4R0jQBgAUAiCRhDA0EkvYeLk9X3I2bEWI8jBAihIANm+kUWQBgggWChcBBdFhXlAUgOCAgBA0AgKjUJ8HKvjddFCKSgAVklEBYAeEJgCQJH0qB3B+neDg4sAA4hAD0AVIEAA0IACJGeaUjMIIIhBUE/zNABjTQMBwEVRcwcYBUCObLERABAgjAA1M/ZSa9hSi4OlpsnZ2KBOVUsAZlRGl1W0NZ6gSwhQPIAFs7YFL0QS91vRQgdgx2VDAnIegKpQvwAJIoLgooBAGtCJcHizg0TDiz8vhPgIcVXaDJu37ZyDAIjFy4AAiC1JAA0olJwN6nFAACQk/zfQVUuA3t5ELKMT9hpBSRj+HBSggYCIAIEkUoC4PCIQIWHGA8+IStxf0PW15ntP22gc+Wo+BLyQAHECQiAVd+c3Ba8gZ4NOACBaLOhsbIMkAXEmuHsSAvkf4oJaAogH6nEQAzoBIEihUAwAA0AACAObAGcANYAAABaqgMmpWAhiiVyrvNyqFV8tMQ5Iyq6r9Lf7W82i8ILl2cv8zbfdJ5lnPzSnvt/XXPfRR/5pH3xA+u5uS0798EPJ3Fft33w36Wc+8E/7aIB/9fvvb1pE9erNXLB9mkw//cSg8Cnx03VGXDvZnRzKqV9Xkhn7eRHb3wVjHpg19nkZpX9bBU+vnHegrsuQcbW9Bi7oO33h+8SU0Tly/MbeYUuG1cftVz6oNxrW0qH1iezq446fkDFo/rgvTkqt7zmteFzncZ0uxXti09FFF2z+C7CODpjUudOE5NSeb3bv/mbPKcmOEzpWQ3VBgBAuj/AOY3qMm7UvgA8qo3+qvAUBBAX0wADQG4AG+jCKaSxkBe/zvcTG8jRpRZgqhCog4sd++cOo7J+/RdvaaMoc78Ri/PNPSclx6fDvG1Kt3qQFi1rq+5EaavTtt9TVvfvucYsA5wc4oESU+E1ikF9TkrOkIsIH5Fawx7SBNLnMcWlM3skBluCmQNs7GeyFvYVDamsqwhxx18n/+WdxzDgOLU1AqbUlb3m+KOT9+ONvY/7XlrdLS//5v7nN97XHj0VzJpJvz4spq0V7ioXDuv2YrSxtF/KZmvbWfKtorXSh8dfvgGu+ev/nFSaXM6jyuCE/f/EpmuP7Rqu8R98vP/+tXUdrOgKlZP9Q/s+fRF9+3CHZd4EugfPv158me9X7v/6aSMCxMJmIr//65bNXngl7+uiPP5oKx+y27D8trp+psUzMacpm80XlnYeMAct0LynxhNYgaP3dtn8/LBAi+ksr+7NvjjtJV+UXrz0uLXV1x08AZRN1S2A8EaVE5afk/dfGjz//+fdHn36Xdttz2d9/z+bawZ8/slNN1aYtq+ZPGzNuPGdwOsfYflwmHCkPgs5DcKizvdpS/3gEUMW9/lvQvWp1bGTW1fpngC/uSVYAfH3TeSusL8TtlHUD4KAAEHjahk4YpuffGwEBN/dUmpHqdHyJ3Ap8O3UlQ4gCNrMRwLBBKiskL6a+RoBi/9XGlgc8L4/CUejQxaiIyqmomdhktOhfgDbDfaNDb4+yKIPd6IgmzDa0CByijWFmL2dlSRKagTIWXeIU9HDphoZiJeBTjAefHMxDhVSRFUgVcOkW3EGMahYVMFjWHhMluB2wAcbHYqF1LpsDF9C6s+CI2fDgh4wSuFEyGadjXAmIk3CugIRibLIti9ZtC8S4VSqfikGqPaoI122XyRYLBmsOmdiiTpqK1OklUQzpMcZmQRQV4M4oJCMkfRQXK+qvjifUcQd1bRdetW/LWjacYxvcttnVjWg5h0q4xw6rZyejSpZVZ78LzC4uyDNRQ4bymHSTMyM+SZ7D75mg/7YTlmNz7W8T00h0VEiGKB+F7iWYZFvSTiA4LVxttm2ATt5EoUWLJbY4EnLGrfsvEROlHtzlKn3H9VUT5tU/2dt3/EBv7foYzV/W4upyj04woO/gh6Vwwt3WGQAA) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/plus-jakarta-sans-vietnamese-wght-normal-qRpaaN48.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/plus-jakarta-sans-latin-ext-wght-normal-DmpS2jIq.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/plus-jakarta-sans-latin-wght-normal-eXO_dkmS.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Montserrat Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/montserrat-cyrillic-ext-wght-normal-CO5hGrJv.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Montserrat Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/montserrat-cyrillic-wght-normal-EAA9jha_.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Montserrat Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/montserrat-vietnamese-wght-normal-k7S-YeeD.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Montserrat Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/montserrat-latin-ext-wght-normal-BsZE-iaG.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Montserrat Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/montserrat-latin-wght-normal-l_AIctKy.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Open Sans Variable;font-style:normal;font-display:swap;font-weight:300 800;src:url(/assets/open-sans-cyrillic-ext-wght-normal-D8xHCTEw.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Open Sans Variable;font-style:normal;font-display:swap;font-weight:300 800;src:url(/assets/open-sans-cyrillic-wght-normal-bOs07Rf4.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Open Sans Variable;font-style:normal;font-display:swap;font-weight:300 800;src:url(/assets/open-sans-greek-ext-wght-normal-Bm9CHu9r.woff2) format("woff2-variations");unicode-range:U+1F00-1FFF}@font-face{font-family:Open Sans Variable;font-style:normal;font-display:swap;font-weight:300 800;src:url(/assets/open-sans-greek-wght-normal-8neIfJ3r.woff2) format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Open Sans Variable;font-style:normal;font-display:swap;font-weight:300 800;src:url(/assets/open-sans-hebrew-wght-normal-BjjtG49P.woff2) format("woff2-variations");unicode-range:U+0307-0308,U+0590-05FF,U+200C-2010,U+20AA,U+25CC,U+FB1D-FB4F}@font-face{font-family:Open Sans Variable;font-style:normal;font-display:swap;font-weight:300 800;src:url(/assets/open-sans-math-wght-normal-C1FvUlkR.woff2) format("woff2-variations");unicode-range:U+0302-0303,U+0305,U+0307-0308,U+0310,U+0312,U+0315,U+031A,U+0326-0327,U+032C,U+032F-0330,U+0332-0333,U+0338,U+033A,U+0346,U+034D,U+0391-03A1,U+03A3-03A9,U+03B1-03C9,U+03D1,U+03D5-03D6,U+03F0-03F1,U+03F4-03F5,U+2016-2017,U+2034-2038,U+203C,U+2040,U+2043,U+2047,U+2050,U+2057,U+205F,U+2070-2071,U+2074-208E,U+2090-209C,U+20D0-20DC,U+20E1,U+20E5-20EF,U+2100-2112,U+2114-2115,U+2117-2121,U+2123-214F,U+2190,U+2192,U+2194-21AE,U+21B0-21E5,U+21F1-21F2,U+21F4-2211,U+2213-2214,U+2216-22FF,U+2308-230B,U+2310,U+2319,U+231C-2321,U+2336-237A,U+237C,U+2395,U+239B-23B7,U+23D0,U+23DC-23E1,U+2474-2475,U+25AF,U+25B3,U+25B7,U+25BD,U+25C1,U+25CA,U+25CC,U+25FB,U+266D-266F,U+27C0-27FF,U+2900-2AFF,U+2B0E-2B11,U+2B30-2B4C,U+2BFE,U+3030,U+FF5B,U+FF5D,U+1D400-1D7FF,U+1EE00-1EEFF}@font-face{font-family:Open Sans Variable;font-style:normal;font-display:swap;font-weight:300 800;src:url(/assets/open-sans-symbols-wght-normal-BAf6-sld.woff2) format("woff2-variations");unicode-range:U+0001-000C,U+000E-001F,U+007F-009F,U+20DD-20E0,U+20E2-20E4,U+2150-218F,U+2190,U+2192,U+2194-2199,U+21AF,U+21E6-21F0,U+21F3,U+2218-2219,U+2299,U+22C4-22C6,U+2300-243F,U+2440-244A,U+2460-24FF,U+25A0-27BF,U+2800-28FF,U+2921-2922,U+2981,U+29BF,U+29EB,U+2B00-2BFF,U+4DC0-4DFF,U+FFF9-FFFB,U+10140-1018E,U+10190-1019C,U+101A0,U+101D0-101FD,U+102E0-102FB,U+10E60-10E7E,U+1D2C0-1D2D3,U+1D2E0-1D37F,U+1F000-1F0FF,U+1F100-1F1AD,U+1F1E6-1F1FF,U+1F30D-1F30F,U+1F315,U+1F31C,U+1F31E,U+1F320-1F32C,U+1F336,U+1F378,U+1F37D,U+1F382,U+1F393-1F39F,U+1F3A7-1F3A8,U+1F3AC-1F3AF,U+1F3C2,U+1F3C4-1F3C6,U+1F3CA-1F3CE,U+1F3D4-1F3E0,U+1F3ED,U+1F3F1-1F3F3,U+1F3F5-1F3F7,U+1F408,U+1F415,U+1F41F,U+1F426,U+1F43F,U+1F441-1F442,U+1F444,U+1F446-1F449,U+1F44C-1F44E,U+1F453,U+1F46A,U+1F47D,U+1F4A3,U+1F4B0,U+1F4B3,U+1F4B9,U+1F4BB,U+1F4BF,U+1F4C8-1F4CB,U+1F4D6,U+1F4DA,U+1F4DF,U+1F4E3-1F4E6,U+1F4EA-1F4ED,U+1F4F7,U+1F4F9-1F4FB,U+1F4FD-1F4FE,U+1F503,U+1F507-1F50B,U+1F50D,U+1F512-1F513,U+1F53E-1F54A,U+1F54F-1F5FA,U+1F610,U+1F650-1F67F,U+1F687,U+1F68D,U+1F691,U+1F694,U+1F698,U+1F6AD,U+1F6B2,U+1F6B9-1F6BA,U+1F6BC,U+1F6C6-1F6CF,U+1F6D3-1F6D7,U+1F6E0-1F6EA,U+1F6F0-1F6F3,U+1F6F7-1F6FC,U+1F700-1F7FF,U+1F800-1F80B,U+1F810-1F847,U+1F850-1F859,U+1F860-1F887,U+1F890-1F8AD,U+1F8B0-1F8BB,U+1F8C0-1F8C1,U+1F900-1F90B,U+1F93B,U+1F946,U+1F984,U+1F996,U+1F9E9,U+1FA00-1FA6F,U+1FA70-1FA7C,U+1FA80-1FA89,U+1FA8F-1FAC6,U+1FACE-1FADC,U+1FADF-1FAE9,U+1FAF0-1FAF8,U+1FB00-1FBFF}@font-face{font-family:Open Sans Variable;font-style:normal;font-display:swap;font-weight:300 800;src:url(/assets/open-sans-vietnamese-wght-normal-UygKeDyW.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Open Sans Variable;font-style:normal;font-display:swap;font-weight:300 800;src:url(/assets/open-sans-latin-ext-wght-normal-DPNHYqvY.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Open Sans Variable;font-style:normal;font-display:swap;font-weight:300 800;src:url(/assets/open-sans-latin-wght-normal-CWNzRldh.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-cyrillic-ext-wght-normal-D4X5GqEv.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-cyrillic-wght-normal-CY6AOgYE.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-vietnamese-wght-normal-U01xdrZh.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-latin-ext-wght-normal-CXYtwYOx.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-latin-wght-normal-BzFMHfZw.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Lexend Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/lexend-vietnamese-wght-normal-RvljkFvg.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Lexend Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/lexend-latin-ext-wght-normal-B6JQhE1e.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Lexend Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/lexend-latin-wght-normal-ci0D1wrL.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/be-vietnam-pro-vietnamese-400-normal-CRcqvyg1.woff2) format("woff2"),url(/assets/be-vietnam-pro-vietnamese-400-normal-BuGn0gnm.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/be-vietnam-pro-latin-ext-400-normal-CiZNW1ec.woff2) format("woff2"),url(/assets/be-vietnam-pro-latin-ext-400-normal-DYBYyMQr.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/be-vietnam-pro-latin-400-normal-PpnXBOrz.woff2) format("woff2"),url(/assets/be-vietnam-pro-latin-400-normal-bXgqVju9.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/be-vietnam-pro-vietnamese-500-normal-DREgrEoJ.woff2) format("woff2"),url(/assets/be-vietnam-pro-vietnamese-500-normal-CfdwVo8-.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/be-vietnam-pro-latin-ext-500-normal-h0Fp6aX0.woff2) format("woff2"),url(/assets/be-vietnam-pro-latin-ext-500-normal-CK0UkkKf.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/be-vietnam-pro-latin-500-normal-B6LVzGNe.woff2) format("woff2"),url(/assets/be-vietnam-pro-latin-500-normal-BJkVuMHw.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/be-vietnam-pro-vietnamese-600-normal-nyU-ZL2p.woff2) format("woff2"),url(/assets/be-vietnam-pro-vietnamese-600-normal-DkpCIyan.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/be-vietnam-pro-latin-ext-600-normal-BNd8euf0.woff2) format("woff2"),url(/assets/be-vietnam-pro-latin-ext-600-normal-BeUwKxhG.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/be-vietnam-pro-latin-600-normal-BZDkUTrt.woff2) format("woff2"),url(/assets/be-vietnam-pro-latin-600-normal-5IO4e7bK.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/be-vietnam-pro-vietnamese-700-normal-Csr0PCuG.woff2) format("woff2"),url(/assets/be-vietnam-pro-vietnamese-700-normal-By_5yT39.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/be-vietnam-pro-latin-ext-700-normal-C8_gqRu2.woff2) format("woff2"),url(/assets/be-vietnam-pro-latin-ext-700-normal-4Hjo2OtD.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/be-vietnam-pro-latin-700-normal-DlW1Zbsh.woff2) format("woff2"),url(/assets/be-vietnam-pro-latin-700-normal-C2EtzaOi.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/be-vietnam-pro-vietnamese-800-normal-D4LFh2W4.woff2) format("woff2"),url(/assets/be-vietnam-pro-vietnamese-800-normal-CA0HL1e4.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/be-vietnam-pro-latin-ext-800-normal-GEpNgheG.woff2) format("woff2"),url(/assets/be-vietnam-pro-latin-ext-800-normal-BvOXQlBN.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/be-vietnam-pro-latin-800-normal-BpHZASpI.woff2) format("woff2"),url(/assets/be-vietnam-pro-latin-800-normal-Cwp5p0gU.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--app-font: "Be Vietnam Pro", system-ui, sans-serif;font-family:var(--app-font);color:var(--text);background:#f5f8f6;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-optical-sizing:auto;font-weight:400;--page: #f5f8f6;--surface: #fff;--surface-soft: #f8faf8;--text: #20342c;--text-2: #4b5e54;--muted: #819087;--muted-strong: #58695f;--line: #e8eeea;--green: #258b68;--green-dark: #176e52;--green-soft: #e8f5ef;--mint: #d8f0e3;--amber: #b97819;--amber-soft: #fff3df;--red: #c6574b;--red-soft: #fcecea;--shadow: 0 12px 34px rgba(42, 70, 54, .045)}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}button,input,select{font:inherit}button{color:inherit}button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid rgba(37,139,104,.24);outline-offset:2px}.app{min-height:100vh;background:var(--page);color:var(--text);transition:background .2s,color .2s}.login-page{display:grid;grid-template-columns:minmax(420px,1.04fr) minmax(430px,.96fr);min-height:100vh;background:#fff}.login-visual{min-height:100vh;padding:42px 7.2%;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;position:relative;isolation:isolate;color:#f3fbf6;background:#173e32}.login-visual:before{content:"";position:absolute;z-index:-1;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse at 76% 68%,rgba(99,168,123,.34),transparent 38%),radial-gradient(ellipse at 0% 100%,rgba(11,42,34,.76),transparent 52%),linear-gradient(142deg,#214f3f,#173e32 58%,#13372f)}.login-brand{position:relative;z-index:2}.brand{display:flex;align-items:center;gap:12px;min-width:0}.brand-mark{width:39px;height:39px;flex:0 0 39px;display:grid;place-items:center;border-radius:12px;color:#fff;background:linear-gradient(150deg,#5fdca5,#2fa874 48%,#1a7a51);box-shadow:0 6px 16px #1d6e4e38,inset 0 1px #ffffff59}.brand strong{display:block;font-family:var(--app-font);font-size:16px;font-weight:800;line-height:1.15;letter-spacing:-.02em}.brand strong.brand-wordmark{font-family:Cormorant Garamond,Playfair Display,Georgia,Times New Roman,serif;font-weight:700;letter-spacing:.08em}.brand strong em{color:#2f9a6b;font-style:normal;font-weight:600}.sidebar .brand strong em,.login-visual .brand strong em,.tv-header .brand strong em{color:#6fd6a6}.brand span{display:block;margin-top:3px;color:#8fa89a;font-size:11px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;white-space:nowrap}.login-visual .brand span{color:#aec5b8}.login-visual-copy{max-width:580px;margin:auto 0;padding:88px 0 78px;position:relative;z-index:2}.eyebrow{display:flex;align-items:center;gap:9px;color:#b5dac6;font-size:13px;font-weight:700;letter-spacing:.06em}.eyebrow i,.pulse-dot{width:7px;height:7px;flex:0 0 7px;border-radius:50%;background:#5bc99b;box-shadow:0 0 0 4px #5bc99b1f}.login-visual-copy h1{margin:26px 0 18px;font-family:var(--app-font);font-size:clamp(42px,5.3vw,70px);line-height:1.08;font-weight:600;letter-spacing:-.02em}.login-visual-copy h1 em{color:#88d5ad;font-style:normal}.login-visual-copy p{max-width:430px;margin:0;color:#bdd0c4;font-size:16px;line-height:1.8}.login-visual-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;position:relative;z-index:2;color:#8da99a;font-size:12px;font-weight:600;letter-spacing:.08em}.login-orbit{position:absolute;z-index:-1;right:-160px;bottom:8%;border:1px solid rgba(183,224,198,.09);border-radius:50%}.orbit-one{width:550px;height:550px}.orbit-two{right:-80px;bottom:1%;width:400px;height:400px}.login-panel{min-height:100vh;display:flex;flex-direction:column;justify-content:center;padding:56px clamp(36px,7vw,112px);position:relative}.login-form-wrap{width:100%;max-width:410px;margin:auto}.login-mobile-brand{display:none}.login-kicker,.page-eyebrow,.section-kicker,.nav-label{color:var(--green);font-size:12px;font-weight:800;letter-spacing:.06em}.login-form-wrap h2{margin:11px 0 7px;font-family:var(--app-font);font-size:32px;letter-spacing:-.02em}.login-subtitle{margin:0 0 32px;color:var(--muted);font-size:14px}.form-field{display:block;margin:0 0 20px}.form-field>span{display:block;margin-bottom:8px;color:var(--text-2);font-size:13px;font-weight:700}.form-field input{width:100%;height:47px;padding:0 14px;color:var(--text);background:#fbfcfb;border:1px solid #e3eae5;border-radius:8px;font-size:14px;transition:border .15s,box-shadow .15s}.form-field input::placeholder{color:#aab4ae}.form-field input:focus{border-color:#6db594;outline:none;box-shadow:0 0 0 3px #258b6814}.login-options{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:-2px 0 23px;color:var(--muted);font-size:13px}.login-options label{display:flex;align-items:center;gap:7px}.login-options input{accent-color:var(--green)}.text-button,.plain-link{display:inline-flex;align-items:center;gap:4px;padding:0;color:var(--green);background:none;border:0;cursor:pointer;font-size:inherit;font-weight:700}.form-message{margin:-8px 0 14px;color:var(--amber);font-size:13px;line-height:1.5}.login-submit,.demo-button{width:100%;min-height:47px;display:flex;align-items:center;justify-content:center;gap:10px;border-radius:8px;cursor:pointer;font-size:14px;font-weight:700;transition:transform .15s,box-shadow .15s}.login-submit{color:#fff;background:#237c5b;border:1px solid #237c5b;box-shadow:0 7px 14px #237c5b21}.login-submit:hover,.demo-button:hover,.button-primary:hover{transform:translateY(-1px)}.login-divider{display:flex;align-items:center;gap:12px;margin:21px 0;color:var(--muted);font-size:11px;font-weight:700;letter-spacing:.06em}.login-divider:before,.login-divider:after{content:"";height:1px;flex:1;background:#e9eeeb}.demo-button{color:var(--text);background:#fff;border:1px solid #e3eae5}.demo-disclaimer{margin:12px 0 0;text-align:center;color:var(--muted);font-size:12px}.login-panel-bottom{display:flex;justify-content:space-between;color:var(--muted);font-size:12px}.login-panel-bottom span:last-child{display:flex;align-items:center;gap:7px}.login-panel-bottom i{width:6px;height:6px;border-radius:50%;background:#59b78c}.app{display:flex}.sidebar{width:248px;flex:0 0 248px;min-height:100vh;display:flex;flex-direction:column;padding:23px 15px 14px;background:#fff;border-right:1px solid var(--line)}.sidebar>.brand{padding:0 8px}.workspace-switch{position:relative;display:flex;align-items:center;gap:10px;margin:28px 0;padding:10px 9px;border:1px solid #ebf0ec;border-radius:9px;cursor:pointer}.workspace-avatar,.profile-avatar,.top-avatar{display:grid;flex:0 0 auto;place-items:center;border-radius:9px;color:#27835f;background:#e6f3eb;font-size:13px;font-weight:800}.workspace-avatar{width:32px;height:32px}.workspace-switch>.workspace-name,.profile>div:nth-child(2){flex:1;min-width:0}.workspace-switch strong,.profile strong{display:block;color:var(--text);font-size:13px;font-weight:700}.workspace-switch span,.profile span{display:block;margin-top:3px;color:var(--muted);font-size:12px}.workspace-switch>svg{color:#87958b}.workspace-switch select{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;opacity:0;cursor:pointer}.nav-label{padding:0 10px;margin:0 0 9px;color:#a0aba4;font-size:11px}.side-nav{display:grid;gap:4px}.nav-button{width:100%;min-height:39px;display:flex;align-items:center;gap:11px;padding:0 10px;color:#748279;text-align:left;background:transparent;border:0;border-radius:7px;cursor:pointer;font-size:13px;font-weight:600;transition:background .15s,color .15s}.nav-button>span:nth-child(2){flex:1}.nav-button>svg{color:#829087}.nav-button:hover{color:var(--green);background:#f5faf7}.nav-button.active{color:#217853;background:#eaf5ee}.nav-button.active>svg{color:#258b68}.nav-button b{min-width:19px;padding:3px 5px;text-align:center;color:#9b6518;background:#fff1d9;border-radius:20px;font-size:12px}.sidebar-bottom{margin-top:auto}.system-card{margin:20px 0 13px;padding:13px 12px;background:#f7faf8;border:1px solid #edf1ee;border-radius:9px}.system-card-top{display:flex;align-items:center;gap:7px;color:#839087;font-size:11px;font-weight:700;letter-spacing:.07em}.system-card-top .pulse-dot{width:6px;height:6px;flex-basis:6px}.system-card>strong{display:block;margin:9px 0 8px;font-family:var(--app-font);font-size:20px;letter-spacing:-.02em}.system-meter{height:4px;overflow:hidden;background:#e6eee9;border-radius:10px}.system-meter i{display:block;width:98.6%;height:100%;background:#5db587;border-radius:inherit}.system-card small{display:block;margin-top:7px;color:#9aa59e;font-size:11px}.settings-button{margin-bottom:11px}.theme-switch{width:25px;height:14px;flex:0 0 25px!important;position:relative;border-radius:20px;background:#e2e9e4}.theme-switch:after{content:"";position:absolute;top:2px;left:2px;width:10px;height:10px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #aab4ad;transition:transform .2s}.theme-switch.on{background:#328c69}.theme-switch.on:after{transform:translate(11px)}.profile{display:flex;align-items:center;gap:9px;padding:12px 5px 0;border-top:1px solid var(--line)}.profile-avatar{width:30px;height:30px;border-radius:50%;color:#476d58;background:#e5eee8}.profile>button{display:grid;place-items:center;width:26px;height:26px;color:#829087;background:transparent;border:0;cursor:pointer}.main-area{min-width:0;flex:1}.topbar{height:62px;display:flex;align-items:center;justify-content:space-between;padding:0 34px;background:#ffffffd1;border-bottom:1px solid var(--line)}.topbar-left,.topbar-actions,.breadcrumbs{display:flex;align-items:center}.breadcrumbs{gap:9px;color:var(--muted);font-size:13px}.breadcrumbs strong{color:var(--text);font-weight:700}.breadcrumbs svg{color:#abb5ae}.topbar-actions{gap:18px}.last-sync{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:12px;font-weight:600}.last-sync .pulse-dot{width:6px;height:6px;flex-basis:6px}.sync-divider{width:1px;height:13px;margin:0 1px;background:#e1e8e3}.icon-button,.notification-button{position:relative;display:grid;place-items:center;width:32px;height:32px;color:var(--muted);background:#fff;border:1px solid #e8eeea;border-radius:8px;cursor:pointer}.notification-button i{position:absolute;top:-4px;right:-4px;display:grid;place-items:center;width:14px;height:14px;color:#fff;background:#cf6758;border:2px solid white;border-radius:50%;font-size:11px;font-style:normal}.top-avatar{width:29px;height:29px;border-radius:50%;font-size:12px}.mobile-menu{display:none}.page-content{width:min(100%,1500px);margin:0 auto;padding:27px 34px 20px}.page-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin:0 0 22px}.page-eyebrow{margin-bottom:6px;color:var(--muted);font-size:11px}.page-heading h1{margin:0;font-family:var(--app-font);font-size:22px;font-weight:700;letter-spacing:-.02em}.page-heading p{margin:6px 0 0;color:var(--muted);font-size:13px}.overview-station-meta{display:flex;align-items:center;flex-wrap:wrap;gap:7px 9px;margin-top:8px;color:var(--muted);font-size:12px}.overview-meta-chip{padding:4px 6px;color:var(--text-2);background:#edf4ef;border-radius:4px;font-size:11px;font-weight:700}.overview-meta-updated{color:var(--muted)}.button-primary,.button-secondary,.filter-button{min-height:35px;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:0 12px;border-radius:7px;cursor:pointer;font-size:13px;font-weight:700;transition:transform .15s,background .15s;white-space:nowrap}.button-primary{color:#fff;background:#25845f;border:1px solid #25845f;box-shadow:0 4px 9px #25845f1f}.button-secondary,.filter-button{color:var(--text-2);background:#fff;border:1px solid #e4ebe6}.filter-button{min-height:34px}.welcome-label{display:flex;align-items:center;gap:7px;color:#57846c;font-size:11px;font-weight:800;letter-spacing:.06em}.welcome-label i{width:6px;height:6px;background:#43a875;border-radius:50%;box-shadow:0 0 0 4px #43a8751a}.overview-hero{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:14px;padding:15px 18px;background:linear-gradient(110deg,#eef6ef,#f7faf7);border:1px solid #e4ece5;border-radius:9px}.overview-hero-copy{min-width:0}.overview-hero-status{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-top:9px;color:var(--muted);font-size:12px}.overview-hero-facts{display:flex;align-items:center;gap:23px}.overview-hero-facts>div{min-width:82px}.overview-hero-facts span,.overview-hero-facts strong{display:block}.overview-hero-facts span{color:var(--muted);font-size:11px;font-weight:700;letter-spacing:.07em}.overview-hero-facts strong{overflow:hidden;margin-top:5px;color:var(--text);font-size:12px;text-overflow:ellipsis;white-space:nowrap}.location-summary-card{display:grid;align-content:start;gap:10px;padding:15px}.location-summary-card .card-heading h2{max-width:230px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.location-summary-card>p{margin:0;color:var(--muted);font-size:12px}.location-coordinates{color:#3f6f52;font-family:var(--app-font);font-size:13px;letter-spacing:.02em}.location-pin{display:grid;width:30px;height:30px;place-items:center;color:#46885e;background:#eff7f0;border-radius:8px}.location-summary-card>.button-secondary{justify-self:start;min-height:31px;font-size:11px}.location-summary-card>.button-secondary:disabled{cursor:not-allowed;opacity:.55}.compact-empty{min-height:78px;margin-top:13px;padding:12px;font-size:11px}.kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin-bottom:14px}.card{background:var(--surface);border:1px solid var(--line);border-radius:9px;box-shadow:var(--shadow)}.metric-icon{width:29px;height:29px;display:grid;place-items:center;border-radius:8px;color:#318861;background:#edf6f0}.metric-icon.warning{color:#b5771d;background:#fff4e1}.metric-icon.neutral{color:var(--text-2);background:#eef3ef}.metric-caption{padding:4px 6px;color:#40835f;background:#edf7f0;border-radius:4px;font-size:11px;font-weight:800;letter-spacing:.04em}.metric-caption.warning{color:#ae721c;background:#fff5e5}.metric-caption.neutral{color:var(--muted);background:#f0f3f1}.metric-spark.warning:before,.metric-spark.warning:after{border-color:#dfa851}.metric-spark.neutral:before,.metric-spark.neutral:after{border-color:#82a18c}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.63fr) minmax(300px,.92fr);gap:13px;margin-bottom:13px}.chart-card,.alerts-card,.station-card{min-width:0;padding:16px}.card-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.section-kicker{display:block;color:var(--muted);font-size:11px;letter-spacing:.06em}.card-heading h2,.list-toolbar h2{margin:5px 0 0;color:var(--text);font-family:var(--app-font);font-size:16px;font-weight:700;letter-spacing:-.02em}.card-heading p{margin:4px 0 0;color:var(--muted);font-size:12px}.segmented-control{display:inline-flex;padding:3px;background:#f4f7f5;border:1px solid #edf1ee;border-radius:6px}.segmented-control button{padding:6px 9px;color:var(--muted);background:transparent;border:0;border-radius:4px;cursor:pointer;font-size:11px;font-weight:600;white-space:nowrap}.segmented-control button.selected{color:#287a55;background:#fff;box-shadow:0 1px 3px #2740301a}.chart-summary{display:flex;align-items:center;gap:10px;margin-top:17px}.chart-summary>strong{color:var(--text);font-family:var(--app-font);font-size:20px;letter-spacing:-.02em}.chart-summary>strong small{color:var(--muted);font-family:var(--app-font);font-size:11px;font-weight:600;letter-spacing:0}.change-pill{display:inline-flex;align-items:center;gap:3px;padding:4px 6px;color:#3c8661;background:#edf7f0;border-radius:4px;font-size:11px;font-weight:700}.change-pill small{color:var(--muted);font-size:11px;font-weight:500}.chart-legend{display:inline-flex;align-items:center;gap:5px;margin-left:auto;color:var(--muted);font-size:11px}.chart-legend i{width:7px;height:7px;border-radius:50%;background:#278b66}.chart-gridline{stroke:#edf1ee;stroke-width:1;stroke-dasharray:3 5}.chart-line{fill:none;stroke:#258b68;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.chart-point{fill:#fff;stroke:#258b68;stroke-width:2.5;vector-effect:non-scaling-stroke}.history-metric-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:13px}.history-toolbar{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:10px;color:var(--muted);font-size:11px}.history-toolbar button:disabled{cursor:wait;opacity:.65}.history-metric-card{min-width:0;padding:10px 11px 8px;background:#fbfcfb;border:1px solid #eaf0eb;border-radius:7px}.history-metric-heading{display:flex;align-items:center;justify-content:space-between;gap:8px}.history-metric-heading>div{display:flex;min-width:0;align-items:baseline;gap:7px}.history-metric-heading strong{overflow:hidden;color:var(--text);font-size:13px;text-overflow:ellipsis;white-space:nowrap}.history-metric-heading>div>span,.history-metric-unit{color:var(--muted);font-size:11px;white-space:nowrap}.history-chart{display:block;width:100%;height:112px;margin-top:8px;overflow:visible}.history-gridline{stroke:#e9efea;stroke-width:1;stroke-dasharray:3 5}.history-chart-line{fill:none;stroke:#258b68;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.history-chart-point{fill:#fff;stroke:#258b68;stroke-width:2;vector-effect:non-scaling-stroke}.history-chart-labels{display:flex;justify-content:space-between;gap:4px;color:var(--muted);font-size:11px}.history-chart-labels>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.history-chart-footnote,.history-source-note{color:var(--muted);font-size:11px}.history-chart-footnote{margin-top:6px}.history-source-note{margin:8px 1px 0}.history-warning{margin-bottom:8px}.history-error{color:#a64f45}.compact-heading{align-items:center}.compact-heading h2{margin-top:5px}.plain-link{color:#478565;font-size:11px;white-space:nowrap}.alerts-card{min-height:252px}.alert-stack{display:grid;margin-top:12px}.alert-row{min-width:0;display:flex;align-items:center;gap:10px;padding:11px 0;border-bottom:1px solid #eff2f0}.alert-row:last-child{border-bottom:0}.alert-indicator{width:30px;height:30px;flex:0 0 30px;display:grid;place-items:center;color:#ba7324;background:#fff5e6;border-radius:8px}.alert-high .alert-indicator{color:#c15d4e;background:#fff0ed}.alert-low .alert-indicator{color:#46885f;background:#eef7f0}.alert-info{min-width:0;flex:1}.alert-info strong{display:block;overflow:hidden;color:var(--text);font-size:12px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.alert-info>span{display:block;overflow:hidden;margin-top:3px;color:var(--muted);font-size:11px;text-overflow:ellipsis;white-space:nowrap}.alert-info small{display:block;margin-top:4px;color:var(--muted);font-size:11px}.alert-level{align-self:flex-start;margin-top:3px;padding:4px 6px;color:#a47329;background:#fff5e5;border-radius:4px;font-size:11px;font-weight:700;white-space:nowrap}.alert-level.high{color:#b75249;background:#fff0ed}.alert-level.low{color:#43825b;background:#edf7ef}.lower-grid{grid-template-columns:minmax(0,1.3fr) minmax(300px,.93fr)}.station-card{overflow:hidden}.station-card .table-scroll{margin:9px -2px 0}.table-scroll{width:100%;overflow-x:auto}.station-table{width:100%;min-width:670px;border-collapse:collapse;text-align:left}.station-table-compact{min-width:0}.station-table-compact th:last-child,.station-table-compact td:last-child{width:92px;text-align:right}.station-table th{height:29px;color:var(--muted);border-bottom:1px solid #edf1ee;font-size:11px;font-weight:800;letter-spacing:.06em;white-space:nowrap}.station-table td{height:49px;color:var(--text-2);border-bottom:1px solid #f0f3f1;font-size:11px;white-space:nowrap}.station-table tr:last-child td{border-bottom:0}.station-table tbody tr.is-clickable{cursor:pointer}.station-table tbody tr.is-clickable:focus-visible{outline:2px solid var(--green);outline-offset:-2px}.station-name{display:flex;align-items:center;gap:7px}.station-name>span:nth-child(2){min-width:0}.station-row-actions{display:flex;flex:0 0 auto;gap:4px;margin-left:auto}.station-row-action{min-height:24px;display:inline-flex;align-items:center;gap:4px;padding:0 6px;color:var(--text-2);background:#f3f8f4;border:1px solid #e6eee7;border-radius:5px;cursor:pointer;font-size:11px;font-weight:700}.station-row-action:hover{color:#28784f;background:#e9f4ec}.station-symbol{width:27px;height:27px;display:grid;flex:0 0 27px;place-items:center;color:#4a936a;background:#eff7f1;border-radius:7px}.station-name strong{display:block;overflow:hidden;color:var(--text);font-size:11px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.station-name small{display:block;overflow:hidden;margin-top:3px;color:var(--muted);font-size:11px;text-overflow:ellipsis;white-space:nowrap}.status-badge{display:inline-flex;align-items:center;gap:5px;padding:5px 7px;border-radius:4px;color:#388257;background:#edf7ef;font-size:11px;font-weight:700}.status-badge i{width:5px;height:5px;border-radius:50%;background:currentColor}.status-badge.warning{color:#ae741f;background:#fff5e5}.status-badge.offline{color:var(--muted);background:#f0f3f1}.page-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:6px 1px 0;color:var(--muted);font-size:11px}.page-footer span:last-child{display:flex;align-items:center;gap:5px}.station-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:12px}.station-summary>div{padding:11px 14px;background:#fff;border:1px solid var(--line);border-radius:8px}.station-summary span,.alert-summary>span{display:block;color:var(--muted);font-size:11px;font-weight:800;letter-spacing:.08em}.station-summary strong{display:block;margin-top:5px;color:var(--text);font-family:var(--app-font);font-size:18px}.text-good{color:#3f9466!important}.text-warning{color:#bc812b!important}.text-muted{color:var(--muted)!important}.full-page-card{padding:15px}.stations-list-card{overflow:hidden}.list-toolbar{display:flex;align-items:center;gap:10px;margin-bottom:13px}.list-toolbar>div:first-child{flex:1}.list-toolbar h2{display:flex;align-items:center;gap:8px;font-size:16px}.count-pill{padding:3px 6px;color:#568467;background:#eff7f1;border-radius:4px;font-family:var(--app-font);font-size:11px}.search-field{width:220px;height:34px;display:flex;align-items:center;gap:8px;padding:0 9px;color:var(--muted);border:1px solid #e5ebe6;border-radius:6px}.search-field input{width:100%;min-width:0;color:var(--text);background:none;border:0;outline:0;font-size:12px}.station-status-filter select{width:170px;height:34px;padding:0 9px;color:var(--text-2);background:#fff;border:1px solid #e4ebe6;border-radius:6px;font-size:12px}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;clip-path:inset(50%)}.alert-summary-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:14px}.alert-summary{padding:15px}.alert-summary strong{display:block;margin-top:7px;font-family:var(--app-font);font-size:22px}.alert-summary small{display:block;margin-top:3px;color:var(--muted);font-size:11px}.alert-summary.urgent{border-left:3px solid #cf6c58}.alert-summary.urgent strong{color:#bb5949}.alert-summary.watch{border-left:3px solid #d09a45}.alert-summary.watch strong{color:#b5802b}.alert-summary.resolved{border-left:3px solid #56a578}.alert-summary.resolved strong{color:#448860}.alerts-full-list{display:grid}.alerts-full-list .alert-row{padding:14px 6px}.alerts-full-list .alert-indicator{width:37px;height:37px;flex-basis:37px}.alerts-full-list .alert-info strong{font-size:13px}.alerts-full-list .alert-info>span{font-size:12px}.alerts-full-list .alert-info small{font-size:11px}.tone-1{color:#b68131;background:#fff5e6}.tone-2{color:#61829c;background:#eef4f7}.mobile-scrim{display:none}.theme-dark{--page: #14211b;--surface: #1d2c24;--surface-soft: #22332a;--text: #e6efe9;--muted: #96a89c;--muted-strong: #c0cec5;--line: #304238;--shadow: 0 12px 34px rgba(0, 0, 0, .12)}.theme-dark .sidebar,.theme-dark .topbar{background:#19271f}.theme-dark .workspace-switch,.theme-dark .system-card,.theme-dark .icon-button,.theme-dark .notification-button,.theme-dark .station-summary>div,.theme-dark .button-secondary,.theme-dark .filter-button,.theme-dark .search-field,.theme-dark .source-station-row,.theme-dark .metric-template-preview,.theme-dark .dashboard-empty{background:#203128;border-color:var(--line)}.theme-dark .metric-template-row{background:#1b2b21;border-color:var(--line)}.theme-dark .metric-template-row strong,.theme-dark .source-station-row strong{color:var(--text)}.theme-dark .nav-button:hover{background:#263a2e}.theme-dark .nav-button.active{color:#a2ddba;background:#274235}.theme-dark .workspace-switch strong,.theme-dark .profile strong,.theme-dark .breadcrumbs strong,.theme-dark .metric-value,.theme-dark .card-heading h2,.theme-dark .list-toolbar h2,.theme-dark .chart-summary>strong,.theme-dark .alert-info strong,.theme-dark .station-name strong,.theme-dark .report-title strong,.theme-dark .report-highlight h2,.theme-dark .report-side-card h2{color:var(--text)}.theme-dark .overview-hero{background:linear-gradient(110deg,#263d30,#22352a);border-color:#385542}.theme-dark .overview-hero-facts strong,.theme-dark .location-coordinates{color:#c3e4ca}.theme-dark .location-pin{color:#a6d9b4;background:#294435}.theme-dark .saved-coordinates{background:#263b2d;border-color:#354b3b}.theme-dark .saved-coordinates>strong{color:#c3e4ca}.theme-dark .location-not-configured{color:#a1afa5;background:#203128;border-color:var(--line)}.theme-dark .location-link-field{color:var(--text)}.theme-dark .station-status-filter select{color:var(--text);background:#203128;border-color:var(--line)}.theme-dark .station-row-action{color:#b2d8bc;background:#263b2d;border-color:#354b3b}.theme-dark .metric-status.normal{color:#a6d9b4;background:#294435}.theme-dark .metric-status.error{color:#e99b8f;background:#492f2c}.theme-dark .metric-status.calibrating{color:#e4c27e;background:#493b29}.theme-dark .metric-status.unknown{color:#c0c9c2;background:#344138}.theme-dark .segmented-control{background:#19271f;border-color:var(--line)}.theme-dark .segmented-control button.selected{background:#30483a;color:#a8ddbc}.theme-dark .station-table th,.theme-dark .station-table td,.theme-dark .alert-row,.theme-dark .report-row{border-color:var(--line)}.theme-dark .map-water{background:#2c5142}.theme-dark .map-label{color:#8ba595}.theme-dark .map-legend{background:#1d2c24f0;border-color:var(--line)}.theme-dark .station-symbol,.theme-dark .metric-icon,.theme-dark .report-file-icon,.theme-dark .report-highlight-icon{background:#294234;color:#9bd2ad}.theme-dark .metric-icon.warning,.theme-dark .tone-1{color:#e5bd79;background:#493a27}.theme-dark .metric-icon.neutral,.theme-dark .tone-2{color:#adc4b5;background:#34463a}.theme-dark .status-badge.good,.theme-dark .metric-caption.good,.theme-dark .metric-caption{color:#a7d9b5;background:#294435}.theme-dark .status-badge.warning,.theme-dark .metric-caption.warning{color:#e7c180;background:#493b29}.theme-dark .status-badge.offline,.theme-dark .metric-caption.neutral{color:#b6c2b9;background:#344138}.theme-dark .alert-indicator{background:#493b29}.theme-dark .alert-high .alert-indicator{background:#492f2c}.theme-dark .alert-low .alert-indicator{background:#294435}.theme-dark .alert-level{color:#e4c27e;background:#493b29}.theme-dark .alert-level.high{color:#e99b8f;background:#492f2c}.theme-dark .alert-level.low{color:#a8d8b5;background:#294435}.theme-dark .button-secondary,.theme-dark .filter-button{color:#c0cec5}@media(min-width:1500px){.page-content{padding-top:34px}.metric-card{min-height:150px;padding:17px 18px}}@media(max-width:1150px){.sidebar{width:218px;flex-basis:218px}.page-content,.topbar{padding-right:22px;padding-left:22px}.dashboard-grid{grid-template-columns:minmax(0,1.35fr) minmax(280px,.9fr)}}@media(max-width:900px){.sidebar{width:68px;flex-basis:68px;padding-right:9px;padding-left:9px;align-items:center}.sidebar>.brand{padding:0}.sidebar>.brand>div:nth-child(2),.workspace-switch,.nav-label,.nav-button>span:nth-child(2),.nav-button b,.system-card,.settings-button,.profile>div:nth-child(2),.profile>button{display:none}.side-nav{width:100%;margin-top:31px}.nav-button{justify-content:center;padding:0}.nav-button>svg{width:19px;height:19px}.sidebar-bottom{width:100%}.profile{justify-content:center;padding:12px 0 0}.page-content{padding:23px 17px 16px}.topbar{padding:0 17px}.overview-hero{align-items:flex-start;flex-direction:column;gap:13px}.overview-hero-facts{width:100%;justify-content:space-between;gap:12px}.dashboard-grid,.lower-grid{grid-template-columns:1fr}.alerts-card{min-height:initial}}@media(max-width:650px){.login-page{grid-template-columns:1fr}.login-visual{display:none}.login-panel{min-height:100vh;padding:32px 24px}.login-panel:before{content:"";position:absolute;top:0;left:0;right:0;height:5px;background:linear-gradient(90deg,#1f7655,#8dcda6)}.login-panel-bottom{margin-top:35px}.login-mobile-brand{display:block;margin-bottom:30px;padding-bottom:22px;border-bottom:1px solid var(--line, #e9eeeb)}.login-mobile-brand .brand{justify-content:center;gap:14px}.login-mobile-brand .brand-mark{width:50px;height:50px;flex-basis:50px;border-radius:15px}.login-mobile-brand .brand-mark svg{width:28px;height:28px}.login-mobile-brand .brand strong{font-size:20px}.login-mobile-brand .brand span{font-size:11px}.sidebar{width:248px;flex-basis:248px;position:fixed;z-index:20;top:0;bottom:0;left:0;align-items:stretch;overflow-y:auto;padding:23px 15px 14px;transform:translate(-100%);transition:transform .2s}.sidebar.sidebar-open{transform:translate(0)}.sidebar>.brand{padding:0 8px}.sidebar>.brand>div:nth-child(2),.workspace-switch,.nav-label,.nav-button>span:nth-child(2),.nav-button b,.system-card,.settings-button,.profile>div:nth-child(2),.profile>button{display:flex}.sidebar>.brand>div:nth-child(2){display:block}.workspace-switch{display:flex}.nav-label{display:block}.nav-button{justify-content:flex-start;padding:0 10px}.nav-button>span:nth-child(2){display:inline}.nav-button b{display:inline-block}.system-card{display:block}.settings-button{display:flex}.profile{justify-content:flex-start;padding:12px 5px 0}.profile>div:nth-child(2){display:block}.profile>button{display:grid}.mobile-scrim{display:block;position:fixed;z-index:19;top:0;right:0;bottom:0;left:0;background:#16271d4d;border:0}.mobile-menu{width:31px;height:31px;display:grid;place-items:center;padding:0;color:var(--text-2);background:#fff;border:1px solid var(--line);border-radius:7px}.topbar{height:56px;gap:10px;padding:0 13px}.topbar-left{gap:9px}.breadcrumbs{gap:5px;font-size:12px}.topbar-actions{gap:9px}.last-sync{font-size:0;gap:0}.last-sync .pulse-dot{margin-right:1px}.sync-divider,.last-sync>span:last-child{display:none}.theme-toggle{display:none}.page-content{padding:20px 13px 16px}.page-heading{align-items:flex-start;margin-bottom:16px}.page-heading h1{font-size:18px}.page-heading p{max-width:260px;line-height:1.5}.page-heading>.button-primary,.page-heading>.button-secondary{min-height:32px;padding:0 8px;font-size:11px}.overview-station-meta{gap:6px;font-size:11px}.overview-meta-updated{flex-basis:100%}.overview-hero{padding:13px}.overview-hero-facts{align-items:flex-start;flex-wrap:wrap;justify-content:flex-start;column-gap:18px;row-gap:10px}.overview-hero-facts>div{min-width:70px}.card-heading h2{font-size:14px}.segmented-control button{padding:6px;font-size:11px}.trend-chart{height:150px}.chart-card>.card-heading{flex-direction:column;gap:9px}.history-metric-grid{grid-template-columns:1fr}.history-chart{height:105px}.page-footer{align-items:flex-start;flex-direction:column;gap:5px;font-size:11px}.station-summary{grid-template-columns:repeat(2,1fr);gap:8px}.station-summary>div{padding:11px}.station-summary strong{font-size:18px}.list-toolbar{align-items:flex-start;flex-wrap:wrap}.list-toolbar>div:first-child{flex-basis:100%}.search-field{flex:1;width:auto}.station-status-filter{flex:1}.station-status-filter select{width:100%}.stations-list-card{padding:12px}.station-summary{gap:7px}.station-summary>div{padding:10px}.station-summary span{font-size:11px}.station-name{gap:5px}.station-row-actions{gap:3px}.station-row-action{min-height:23px;padding:0 5px}.location-modal{width:100%;padding:16px;border-radius:12px 12px 0 0}.location-modal-backdrop{align-items:end;padding:0}.alert-summary-grid{gap:7px}.alert-summary{padding:11px 9px}.alert-summary>span{font-size:10px}.alert-summary strong{font-size:20px}.alerts-full-list .alert-row{gap:7px}.alerts-full-list .alert-level{font-size:10px}.report-layout{grid-template-columns:1fr}.report-highlight{align-items:flex-start;padding:13px;gap:9px}.report-highlight-icon{width:34px;height:34px;flex-basis:34px}.report-highlight h2{font-size:14px}.report-highlight .button-secondary{min-height:30px;padding:0 7px;font-size:11px}.report-status{font-size:11px}.report-row{gap:7px}}.demo-mode-badge{display:inline-flex;align-items:center;gap:7px;padding:7px 9px;color:#9a6b24;background:#fff5e4;border:1px solid #f5e8cd;border-radius:5px;font-size:11px;font-weight:800;letter-spacing:.08em;white-space:nowrap}.demo-mode-badge i{width:6px;height:6px;border-radius:50%;background:#d09a40}.admin-overview{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:14px}.admin-overview-card{min-height:70px;display:flex;align-items:center;gap:10px;padding:12px}.admin-overview-icon,.admin-heading-icon{width:33px;height:33px;display:grid;flex:0 0 33px;place-items:center;color:#388661;background:#edf6ef;border-radius:8px}.admin-overview-card>div{min-width:0;flex:1}.admin-overview-card strong,.admin-overview-card small{display:block}.admin-overview-card strong{color:var(--text);font-size:13px}.admin-overview-card small{margin-top:3px;color:var(--muted);font-size:11px}.config-status{padding:5px 7px;color:var(--muted);background:#f1f3f1;border-radius:4px;font-size:11px;font-weight:700;white-space:nowrap}.admin-layout{display:grid;grid-template-columns:minmax(185px,.65fr) minmax(0,1.8fr);gap:13px;align-items:start}.station-settings-layout{grid-template-columns:minmax(0,1fr)}.admin-tabs{padding:14px 10px}.admin-tabs>.section-kicker{padding:0 7px}.admin-tab{width:100%;min-height:39px;display:flex;align-items:center;gap:9px;margin-top:5px;padding:0 8px;color:var(--muted);background:transparent;border:0;border-radius:6px;cursor:pointer;text-align:left;font-size:12px;font-weight:600}.admin-tab>span{flex:1}.admin-tab>svg:first-child{color:var(--muted)}.admin-tab>svg:last-child{color:#adb7b0}.admin-tab:hover{background:#f6f9f7}.admin-tab.selected{color:#287c56;background:#edf6ef}.admin-tab.selected>svg:first-child{color:#388961}.admin-security-note{display:grid;gap:6px;margin:23px 3px 3px;padding:11px 9px;color:#8e7953;background:#fff9ee;border:1px solid #f5ecd9;border-radius:6px}.admin-security-note>svg{color:#b18843}.admin-security-note strong{color:#7f6942;font-size:11px}.admin-security-note span{color:#94886f;font-size:11px;line-height:1.55}.admin-form-card{min-width:0;padding:17px}.admin-form-heading{display:flex;align-items:center;gap:10px;padding-bottom:15px;border-bottom:1px solid #edf1ee}.admin-heading-icon{width:37px;height:37px;flex-basis:37px}.admin-form-heading h2{margin:4px 0;color:var(--text);font-family:var(--app-font);font-size:16px;letter-spacing:-.02em}.admin-form-heading p{margin:0;color:var(--muted);font-size:11px;line-height:1.5}.config-form{padding:15px 0 4px}.form-section-heading{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px;margin-bottom:13px}.form-section-heading strong{color:var(--text);font-size:12px}.form-section-heading span{color:var(--muted);font-size:11px}.config-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px 12px}.config-field{display:grid;min-width:0;gap:6px;color:var(--text-2);font-size:11px;font-weight:700}.config-field input,.config-field select{width:100%;min-width:0;height:35px;padding:0 9px;color:var(--text);background:#fff;border:1px solid #e5ebe6;border-radius:5px;font-size:12px;font-weight:400}.config-field input::placeholder{color:#aab4ad;font-size:11px}.config-field input[readonly]{color:var(--muted);background:#f6f8f6}.config-secret-input{position:relative;display:block;min-width:0}.config-secret-input input{padding-right:44px}.config-reveal-button{position:absolute;top:1px;right:2px;height:33px;padding:0 8px;color:var(--text-2);background:transparent;border:0;font-size:11px;font-weight:700;cursor:pointer}.station-defaults-info{display:flex;align-items:center;gap:9px;margin-top:15px;padding:10px;color:var(--muted);background:#f3f8f4;border:1px solid #eaf1eb;border-radius:6px}.station-defaults-info svg{flex:0 0 auto;color:#468864}.station-defaults-info span{font-size:11px;line-height:1.5}.add-station-secondary{margin-top:12px}.admin-form-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:14px;padding-top:12px;border-top:1px solid #edf1ee}.admin-form-footer>p{display:flex;align-items:center;gap:5px;margin:0;color:var(--muted);font-size:11px}.admin-form-footer>p svg{color:var(--muted)}.admin-form-footer>div{display:flex;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:wrap}.admin-notice{max-width:230px;color:#4b8660;font-size:11px;line-height:1.4}.source-station-list{display:grid;gap:7px}.station-management-list{margin-top:15px}.station-management-title{flex:1;min-width:0}.station-management-title h2{margin:4px 0;color:var(--text);font-family:var(--app-font);font-size:16px;letter-spacing:-.02em}.station-management-title p{margin:0;color:var(--muted);font-size:11px;line-height:1.5}.station-add-button{flex:0 0 auto}.page-heading-actions{display:flex;align-items:center;gap:8px}.station-camera-action{display:inline-flex;align-items:center;gap:4px;flex:0 0 auto;min-height:26px;margin-left:7px;padding:0 7px;color:#467656;background:#eef6ef;border:1px solid #dceade;border-radius:5px;font-size:11px;font-weight:700;cursor:pointer}.station-camera-action:hover{background:#e2f0e4}.camera-security-note{margin:8px 1px 0;color:var(--muted);font-size:12px;line-height:1.5}.camera-viewer-backdrop{z-index:40}.camera-wall-modal{display:flex;width:min(96vw,1500px);max-height:94vh;flex-direction:column;overflow:auto;padding:17px}.camera-wall-heading{flex:0 0 auto}.camera-wall-heading h2{margin:4px 0;color:var(--text);font-family:var(--app-font);font-size:16px}.camera-wall-heading p{margin:0;color:var(--muted);font-size:13px}.camera-wall-grid{display:grid;grid-template-columns:repeat(var(--camera-columns),minmax(0,1fr));gap:10px}.camera-wall-tile{min-width:0;overflow:hidden;background:#0b120e;border:1px solid #25352a;border-radius:8px}.camera-wall-video-wrap{position:relative;width:100%;aspect-ratio:16 / 9;background:#08110c}.camera-viewer-video{display:block;width:100%;height:100%;background:#08110c;object-fit:contain}.camera-wall-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-content:center;justify-items:center;gap:8px;padding:12px;color:#c3d0c7;background:#08110ce0;font-size:13px;text-align:center}.camera-wall-overlay svg{color:#8eb99a}.camera-tap-to-play{width:100%;border:0;background:#08110c8c;cursor:pointer;font:inherit;font-size:14px;font-weight:700;color:#fff}.camera-tap-to-play svg{width:34px;height:34px;padding:10px;color:#fff;background:#1f8a5c;border-radius:50%;box-sizing:content-box}.camera-wall-tile-info{display:flex;justify-content:space-between;gap:8px;padding:7px 9px;color:#dce8df;font-size:13px}.camera-wall-tile-info strong,.camera-wall-tile-info span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.camera-wall-tile-info span{color:var(--muted)}.camera-wall-tile-info{align-items:center}.camera-wall-tile-info>div:first-child{display:flex;align-items:baseline;gap:8px;min-width:0}.camera-tile-actions{display:flex;flex:none;align-items:center;gap:6px}.camera-pb-button{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-height:28px;padding:0 10px;color:#dce8df;background:#ffffff0f;border:1px solid rgba(255,255,255,.14);border-radius:7px;cursor:pointer;font:inherit;font-size:12px;font-weight:600;white-space:nowrap}.camera-pb-button:hover:not(:disabled),.camera-pb-button.is-open{color:#fff;background:#ffffff1f;border-color:#ffffff42}.camera-pb-button:disabled{opacity:.4;cursor:not-allowed}.camera-pb-button:focus-visible,.camera-live-button:focus-visible{outline:2px solid #4fd19a;outline-offset:2px}.camera-pb-button.is-primary{color:#fff;background:#1f8a5c;border-color:#1f8a5c}.camera-pb-button.is-primary:hover:not(:disabled){background:#23a06b;border-color:#23a06b}.camera-live-button{display:inline-flex;align-items:center;gap:6px;min-height:28px;padding:0 10px;color:#fff;background:#b8372a;border:0;border-radius:7px;cursor:pointer;font:inherit;font-size:12px;font-weight:700}.camera-live-button i{width:7px;height:7px;background:#fff;border-radius:50%}.camera-wall-tile.is-playback{border-color:#b98a2e}.camera-playback-badge{position:absolute;top:8px;left:8px;z-index:1;display:inline-flex;align-items:center;gap:6px;padding:4px 9px;color:#fff;background:#0000009e;border-radius:6px;font-size:11px;font-weight:700;letter-spacing:.02em;font-variant-numeric:tabular-nums;pointer-events:none}.camera-playback-badge svg{color:#f2c063}.camera-playback-bar{display:grid;gap:8px;padding:8px 9px 10px;border-top:1px solid #25352a}.camera-playback-pick{display:flex;flex-wrap:wrap;gap:6px}.camera-playback-pick label{flex:1 1 180px;min-width:0}.camera-playback-pick input{width:100%;height:30px;padding:0 8px;color:#e8f1eb;background:#121d17;border:1px solid #2c4035;border-radius:7px;color-scheme:dark;font:inherit;font-size:12px}.camera-playback-steps{display:flex;flex-wrap:wrap;gap:6px}.camera-playback-bar p{margin:0;color:#8fa397;font-size:11px;line-height:1.45}a.camera-pb-button{text-decoration:none}.camera-pb-button.is-selected{color:#0f2219;background:#f2c063;border-color:#f2c063}.camera-playback-speeds{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.camera-playback-speeds .camera-pb-button{min-width:42px;font-variant-numeric:tabular-nums}.camera-playback-speeds small{color:#8fa397;font-size:11px}.camera-timeline{display:grid;gap:4px}.camera-timeline-head{display:flex;flex-wrap:wrap;align-items:center;gap:6px;color:#dce8df;font-size:12px}.camera-timeline-head .camera-pb-button{min-width:28px;padding:0 8px}.camera-timeline-head strong{font-variant-numeric:tabular-nums}.camera-timeline-head span{margin-left:auto;color:#8fa397;font-size:11px}.camera-timeline-bar{position:relative;display:block;width:100%;height:22px;padding:0;overflow:hidden;background:repeating-linear-gradient(90deg,rgba(255,255,255,.06) 0 1px,transparent 1px calc(100% / 24)),#121d17;border:1px solid #2c4035;border-radius:6px;cursor:pointer}.camera-timeline-bar:focus-visible{outline:2px solid #4fd19a;outline-offset:2px}.camera-timeline-bar i{position:absolute;top:3px;bottom:3px;min-width:2px;background:#2fa771;border-radius:2px}.camera-timeline-bar b{position:absolute;top:0;bottom:0;width:2px;margin-left:-1px;background:#f2c063;box-shadow:0 0 6px #f2c063cc}.camera-timeline-hours{position:relative;height:14px;color:#8fa397;font-size:11px;font-variant-numeric:tabular-nums}.camera-timeline-hours span{position:absolute;transform:translate(-50%)}.camera-timeline-hours span:first-child{transform:none}.camera-timeline-hours span:last-child{transform:translate(-100%)}.camera-clip-heading{display:flex;align-items:center;gap:6px;padding-top:8px;color:#dce8df;border-top:1px dashed #2c4035;font-size:12px;font-weight:700}.camera-clip-heading svg{color:#4fd19a}.camera-clip-panel{display:grid;gap:8px}.camera-clip-length{flex:0 0 auto}.camera-clip-length select{height:30px;padding:0 6px;color:#e8f1eb;background:#121d17;border:1px solid #2c4035;border-radius:7px;color-scheme:dark;font:inherit;font-size:12px}.camera-clip-error{color:#ff9a8c!important}.camera-clip-list{display:grid;gap:6px;margin:0;padding:0;list-style:none}.camera-clip-list li{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:7px 8px;background:#ffffff0a;border:1px solid #25352a;border-radius:7px}.camera-clip-list li>div:first-child{display:grid;gap:3px;min-width:0}.camera-clip-list strong{color:#e8f1eb;font-size:12px;font-variant-numeric:tabular-nums}.camera-clip-list span{overflow:hidden;color:#8fa397;font-size:11px;text-overflow:ellipsis;white-space:nowrap;font-variant-numeric:tabular-nums}.camera-clip-list li.is-ready span{color:#6fd3a3}.camera-clip-list li.is-error span{color:#ff9a8c;white-space:normal}.camera-clip-progress{display:block;height:4px;overflow:hidden;background:#ffffff1a;border-radius:2px}.camera-clip-progress b{display:block;height:100%;background:#4fd19a;transition:width .8s linear}.camera-clip-actions{display:flex;flex:none;gap:6px}.source-station-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 10px;background:#fafcfb;border:1px solid #edf1ee;border-radius:6px}.source-station-row>div{min-width:0}.source-station-row strong,.source-station-row small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.source-station-row strong{color:var(--text);font-size:12px}.source-station-row small{margin-top:4px;color:var(--muted);font-size:11px}.source-station-row .config-status{flex:0 0 auto}.dashboard-empty{display:flex;min-height:105px;align-items:center;justify-content:center;padding:18px;color:var(--muted);background:#f8faf8;border:1px dashed #dfe7e1;border-radius:8px;font-size:12px;line-height:1.6;text-align:center}.kpi-grid>.dashboard-empty{grid-column:1 / -1}.metric-template-preview{display:grid;gap:6px;margin-top:10px;padding:10px;background:#f8faf8;border:1px solid #e8eeea;border-radius:7px}.metric-template-preview>p{margin:0 0 3px;color:var(--muted);font-size:11px}.metric-template-row{display:flex;align-items:center;gap:8px;padding:7px;background:#fff;border:1px solid #edf1ee;border-radius:5px;cursor:pointer}.metric-template-row input{accent-color:#258b68}.metric-template-row span{min-width:0}.metric-template-row strong,.metric-template-row small{display:block}.metric-template-row strong{color:var(--text);font-size:11px}.metric-template-row small{margin-top:3px;color:var(--muted);font-size:11px}.metric-old-tags{display:grid;gap:6px}.metric-old-tags summary{color:var(--muted);font-size:11px;cursor:pointer}.metric-old-tags[open] summary{margin-bottom:2px}.metric-tag{display:inline-block;margin-left:6px;padding:1px 6px;border-radius:999px;font-size:10px;font-style:normal;font-weight:700;vertical-align:1px}.metric-tag-hidden{color:var(--muted);background:#eef1ef}.theme-dark .metric-tag-hidden{background:#ffffff14}.modal-backdrop{position:fixed;z-index:30;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;overflow-y:auto;padding:22px;background:#18271e6b;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.station-modal{width:min(100%,590px);max-height:calc(100vh - 44px);overflow-y:auto;padding:20px;box-shadow:0 25px 80px #1c312333}.location-modal-backdrop{z-index:41}.location-modal{width:min(100%,520px);padding:20px;box-shadow:0 25px 80px #1c312333}.saved-coordinates{display:grid;gap:8px;margin-bottom:17px;padding:13px;background:#f0f7f1;border:1px solid #e2ece4;border-radius:8px}.saved-coordinates>span{color:var(--muted);font-size:11px;font-weight:800;letter-spacing:.08em}.saved-coordinates>strong{color:#315841;font-family:var(--app-font);font-size:16px;letter-spacing:.01em}.saved-coordinates>a{justify-self:start;min-height:31px;text-decoration:none;font-size:11px}.location-not-configured{margin-bottom:16px;padding:12px;color:var(--muted);background:#f7faf7;border:1px dashed #dfe8e0;border-radius:7px;font-size:12px;line-height:1.5}.location-link-field{display:grid;gap:6px;color:var(--text-2);font-size:12px;font-weight:700}.location-link-field input{width:100%;min-height:37px;padding:0 10px;color:var(--text);background:var(--surface);border:1px solid var(--line);border-radius:6px;font-size:12px}.location-help{margin:7px 0 0;color:var(--muted);font-size:11px;line-height:1.5}.location-modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:18px;padding-top:12px;border-top:1px solid var(--line)}.location-modal-actions button{min-height:33px;font-size:12px}.modal-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:17px}.modal-heading h2{margin:5px 0;color:var(--text);font-family:var(--app-font);font-size:16px;letter-spacing:-.02em}.modal-heading p{margin:0;color:var(--muted);font-size:12px}.modal-close{width:28px;height:28px;display:grid;place-items:center;padding:0;color:var(--muted);background:#f6f8f6;border:1px solid #e8eeea;border-radius:6px;cursor:pointer;font-size:18px}.station-form-fields{gap:13px}.camera-config-section{display:grid;gap:8px}.camera-config-section>p{margin:0}.camera-config-card{padding:10px;background:#fafcfb;border:1px solid #e8eeea;border-radius:7px}.camera-config-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px;color:var(--text-2);font-size:12px}.camera-remove-button{flex:0 0 auto;font-size:11px}.camera-credential-warning{grid-column:1 / -1;color:#a3732f;font-size:11px}.station-form-error{margin:13px 0 0;color:#b8584b;font-size:12px}.modal-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:20px;padding-top:13px;border-top:1px solid #edf1ee}.modal-footer>span{color:var(--muted);font-size:11px;line-height:1.5}.modal-footer>div{display:flex;flex:0 0 auto;gap:7px}.theme-dark .admin-overview-icon,.theme-dark .admin-heading-icon{color:#a5d9b5;background:#294234}.theme-dark .config-field input,.theme-dark .config-field select{color:var(--text);background:#203128;border-color:var(--line)}.theme-dark .config-field input[readonly]{background:#27372d}.theme-dark .config-reveal-button{color:#b3d7bf}.theme-dark .admin-tab:hover{background:#24362b}.theme-dark .admin-tab.selected,.theme-dark .station-defaults-info{color:#aadbb9;background:#294234;border-color:#355342}.theme-dark .admin-security-note{background:#413726;border-color:#57482f}.theme-dark .admin-security-note strong{color:#e4cd9e}.theme-dark .admin-security-note span{color:#c2b28f}.theme-dark .form-section-heading strong{color:var(--text)}.theme-dark .config-status{color:#c0c8c2;background:#344138}.theme-dark .modal-close{color:var(--text);background:#27372d;border-color:var(--line)}.theme-dark .camera-config-card{background:#1a2920;border-color:var(--line)}.theme-dark .camera-config-heading{color:var(--text)}.theme-dark .camera-security-note{color:#a1afa5}.theme-dark .camera-wall-modal{background:var(--surface)}.sync-offline .pulse-dot{background:#d2a151;box-shadow:0 0 0 4px #d2a15124}.demo-mode-online{color:#347e55;background:#edf7ef;border-color:#dfeee2}.demo-mode-online i{background:#54a676}.config-status-ready{color:#37805b;background:#edf7ef}.admin-api-status{max-width:260px;color:var(--muted);font-size:11px;line-height:1.4}.admin-form-footer .button-secondary:disabled,.admin-form-footer .button-primary:disabled,.modal-footer button:disabled,.folder-picker-heading button:disabled{opacity:.6;cursor:wait}.folder-picker{margin-top:15px;padding-top:13px;border-top:1px solid #edf1ee}.folder-picker-heading{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:9px}.folder-picker-heading>.button-secondary{min-height:35px}.folder-picker>p{margin:6px 0 0;color:var(--muted);font-size:11px;line-height:1.5}.directory-browser{margin-top:10px;padding:10px;background:#fafcfb;border:1px solid #e8eeea;border-radius:7px}.directory-browser-heading{display:flex;align-items:center;justify-content:space-between;gap:9px}.directory-browser-heading>div{min-width:0}.directory-browser-heading strong,.directory-browser-heading span{display:block}.directory-browser-heading strong{color:var(--text);font-size:12px}.directory-browser-heading span{overflow:hidden;margin-top:4px;color:var(--muted);font-size:11px;text-overflow:ellipsis;white-space:nowrap}.directory-toolbar{display:flex;justify-content:space-between;gap:8px;margin:9px 0}.directory-toolbar button{min-height:28px;font-size:11px}.directory-list{max-height:120px;overflow-y:auto;border-top:1px solid #edf1ee;border-bottom:1px solid #edf1ee}.directory-entry{width:100%;min-height:30px;display:flex;align-items:center;gap:7px;padding:0 5px;color:var(--text-2);background:none;border:0;border-bottom:1px solid #eff2f0;cursor:pointer;text-align:left;font-size:11px}.directory-entry:last-child{border-bottom:0}.directory-entry>span:nth-child(2){flex:1}.directory-entry:hover{color:#287c56;background:#f0f7f2}.directory-icon{color:#bc8b3d}.directory-empty{margin:9px 0;color:var(--muted);font-size:11px}.ftp-files-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:9px;color:var(--muted);font-size:11px;font-weight:800;letter-spacing:.07em}.ftp-files-heading span{color:#538164;font-size:11px;font-weight:600;letter-spacing:0}.ftp-file-list{display:flex;flex-wrap:wrap;gap:5px;margin-top:7px}.ftp-file-list>span{padding:4px 6px;color:var(--muted);background:#f0f3f1;border-radius:4px;font-size:11px}.ftp-file-list>.supported-file{color:#3b8058;background:#eaf4ed}.telemetry-section{margin:0 0 14px}.telemetry-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 1px 10px}.telemetry-heading h2{margin:4px 0 0;color:var(--text);font-family:var(--app-font);font-size:16px;letter-spacing:-.02em}.telemetry-heading>span{display:inline-flex;align-items:center;gap:6px;color:#4a8962;font-size:12px;font-weight:600}.telemetry-heading>span i{width:6px;height:6px;border-radius:50%;background:#53a879}.telemetry-station{margin-top:0;padding:13px;background:#f0f6f1;border:1px solid #e4ece5;border-radius:8px}.telemetry-station+.telemetry-station{margin-top:9px}.telemetry-station-heading{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-bottom:9px}.telemetry-station-heading strong{color:var(--text);font-size:13px}.telemetry-station-heading>span:not(.status-badge):not(.reading-time){padding:4px 6px;color:#548368;background:#e3efe6;border-radius:4px;font-size:11px;font-weight:700}.telemetry-station-heading>.status-badge{padding:4px 6px}.telemetry-station-heading>.reading-time{margin-left:auto}.telemetry-station-empty{padding:10px;color:var(--muted);background:#ffffff8c;border:1px dashed #dbe7dd;border-radius:6px;font-size:12px}.telemetry-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(175px,1fr));gap:9px}.telemetry-metric{min-width:0;padding:10px 11px;box-shadow:none}.telemetry-metric-heading{display:flex;min-width:0;align-items:center;justify-content:space-between;gap:5px}.telemetry-metric-heading>span:first-child{overflow:hidden;color:var(--muted);font-size:13px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.metric-status{flex:0 0 auto;padding:4px 6px;border-radius:4px;font-size:11px;font-weight:700;white-space:nowrap}.metric-status.normal{color:#388257;background:#edf7ef}.metric-status.error{color:#b75249;background:#fff0ed}.metric-status.calibrating{color:#a47329;background:#fff5e5}.metric-status.unknown{color:var(--muted);background:#f0f3f1}.telemetry-metric>strong{display:flex;align-items:baseline;gap:4px;margin:5px 0 2px;color:#315841;font-family:var(--app-font);font-size:20px;letter-spacing:-.02em}.telemetry-metric>strong small{color:var(--muted);font-family:var(--app-font);font-size:12px;font-weight:500;letter-spacing:0}.metric-sparkline{display:block;width:100%;height:33px;margin:2px 0 4px;overflow:visible}.metric-sparkline-axis{stroke:#e6eee8;stroke-width:1}.metric-sparkline-line{fill:none;stroke:#4c9a6b;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.metric-sparkline-point{fill:#fff;stroke:#32885b;stroke-width:2;vector-effect:non-scaling-stroke}.telemetry-metric>small{display:block;color:var(--muted);font-size:12px}.telemetry-warning{margin:8px 0 0;color:#9c702e;font-size:12px}.theme-dark .directory-browser{background:#1a2920;border-color:var(--line)}.theme-dark .directory-browser-heading strong,.theme-dark .telemetry-station-heading strong{color:var(--text)}.theme-dark .telemetry-station-empty{color:#aab8ae;background:#1d2c248c;border-color:#405547}.theme-dark .directory-list,.theme-dark .directory-entry{border-color:var(--line)}.theme-dark .directory-entry:hover{background:#294234}.theme-dark .ftp-file-list>span{color:#c0c9c2;background:#344138}.theme-dark .ftp-file-list>.supported-file,.theme-dark .telemetry-station{color:#b2ddbd;background:#263b2d;border-color:#354b3b}.theme-dark .telemetry-metric{background:#1d2c24;border-color:var(--line)}.theme-dark .telemetry-metric>strong,.theme-dark .telemetry-station-heading strong{color:#c3e4ca}.theme-dark .overview-meta-chip{color:#c2dfc9;background:#294435}.theme-dark .history-toolbar,.theme-dark .history-metric-heading>div>span,.theme-dark .history-metric-unit,.theme-dark .history-chart-labels{color:#a4b2a8}.theme-dark .history-metric-card{background:#1d2c24;border-color:var(--line)}.theme-dark .history-metric-heading strong{color:#d1e3d5}.theme-dark .history-chart-point{fill:#1d2c24}.theme-dark .history-gridline,.theme-dark .metric-sparkline-axis{stroke:#3c5043}.theme-dark .metric-sparkline-line{stroke:#69ba87}.theme-dark .metric-sparkline-point{fill:#1d2c24}.theme-dark .config-status-ready,.theme-dark .demo-mode-online{color:#a6d9b4;background:#294435;border-color:#355342}@media(max-width:900px){.admin-layout{grid-template-columns:1fr}.admin-tabs{display:flex;align-items:center;gap:4px;flex-wrap:wrap}.admin-tabs>.section-kicker{flex:0 0 100%;margin:0 0 4px 7px}.admin-tab{width:auto;flex:1 1 auto;margin-top:0}.admin-tab>svg:last-child{display:none}.admin-security-note{display:none}}@media(max-width:650px){.page-heading-actions{align-items:stretch;flex-direction:column}.admin-overview{grid-template-columns:1fr;gap:8px}.admin-overview-card{min-height:59px}.admin-form-card{padding:13px}.admin-form-footer{align-items:flex-start;flex-direction:column}.admin-form-footer>div{width:100%;justify-content:flex-start}.admin-notice{max-width:none;flex-basis:100%}.admin-api-status{max-width:none}.modal-backdrop{align-items:end;padding:0}.station-modal{max-height:91vh;padding:17px;border-radius:12px 12px 0 0}.modal-footer{align-items:flex-start;flex-direction:column}.modal-footer>div{align-self:flex-end}.folder-picker-heading{grid-template-columns:1fr}.folder-picker-heading>.button-secondary{justify-self:start}.camera-wall-modal{width:100%;max-height:94vh;padding:13px;border-radius:12px 12px 0 0}.camera-wall-grid{grid-template-columns:1fr;gap:8px}.telemetry-station-heading{flex-wrap:wrap}.telemetry-heading{align-items:flex-start;flex-direction:column}}.report-tabs{display:flex;width:fit-content;max-width:100%;overflow-x:auto;margin-bottom:12px}.report-tabs button{padding:8px 14px;font-size:12px}.report-filters{padding:14px 15px;margin-bottom:12px}.report-filter-fields{display:flex;align-items:flex-end;flex-wrap:wrap;gap:12px}.report-filter-fields>.config-field{flex:1 1 150px;max-width:260px}.report-presets{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-left:auto}.report-metric-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px;padding-top:12px;border-top:1px solid var(--line)}.report-metric-chips button{padding:5px 9px;color:var(--muted);background:var(--surface-soft);border:1px solid var(--line);border-radius:999px;cursor:pointer;font-size:11px;font-weight:600}.report-metric-chips button.selected{color:#287a55;background:var(--green-soft);border-color:#bfe0cc}.report-card{margin-bottom:12px}.report-card-toolbar{align-items:flex-start;flex-wrap:wrap}.report-card-toolbar>div:first-child{flex:1 1 auto;min-width:0}.report-card-toolbar>.report-actions{margin-left:auto;justify-content:flex-end}.report-card-description{max-width:760px}.report-card-description{margin:4px 0 0;color:var(--muted);font-size:12px;line-height:1.5}.report-actions{display:flex;align-items:flex-end;flex-wrap:wrap;gap:8px}.report-checkbox{display:inline-flex;align-items:center;gap:6px;min-height:35px;color:var(--text-2);font-size:12px}.report-inline-field{width:170px}.report-table{width:100%;border-collapse:collapse;text-align:left;font-size:12px}.report-table th{height:32px;padding:0 10px 7px;color:var(--muted);background:var(--surface);border-bottom:1px solid var(--line);font-size:11px;font-weight:800;letter-spacing:.06em;white-space:nowrap;vertical-align:bottom}.report-table th small{display:block;margin-top:3px;color:#a9b3ac;font-weight:600;letter-spacing:0}.report-table td{height:34px;padding:0 10px;color:var(--text-2);border-bottom:1px solid #f0f3f1;white-space:nowrap}.report-table td strong{color:var(--text)}.report-table td small{display:block;margin-top:3px;color:var(--muted);font-size:11px}.report-table .numeric{text-align:right;font-variant-numeric:tabular-nums}.report-table tfoot th,.report-table tfoot td{height:32px;padding:0 10px;color:var(--text);background:var(--surface-soft);border-top:1px solid var(--line);border-bottom:0;font-size:12px;font-weight:700;letter-spacing:0;vertical-align:middle}.report-table td.report-cell-exceeded,.report-legend .report-cell-exceeded{color:#b75249;background:#fff0ed;font-weight:700}.report-table td.report-cell-error,.report-legend .report-cell-error{color:#85508a;background:#f6edf7}.report-table td.report-cell-calibrating,.report-legend .report-cell-calibrating{color:#a47329;background:#fff5e5}.report-legend{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:9px}.report-legend span{padding:4px 7px;border-radius:4px;font-size:11px}.report-pagination{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;margin-top:11px;color:var(--muted);font-size:12px}.report-pagination>div{display:flex;align-items:center;gap:8px}.report-empty-action{flex-direction:column;gap:12px}.exceedance-summary{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:9px;margin-bottom:13px}.exceedance-summary-card{display:grid;gap:4px;padding:11px 12px;background:var(--surface-soft);border:1px solid var(--line);border-radius:8px}.exceedance-summary-card>span{color:var(--muted);font-size:11px;font-weight:800;letter-spacing:.06em}.exceedance-summary-card>strong{color:#388257;font-family:var(--app-font);font-size:16px}.exceedance-summary-card>small{color:var(--muted);font-size:11px}.exceedance-summary-card.exceeded{background:#fff8f6;border-color:#f3d3cd}.exceedance-summary-card.exceeded>strong{color:#b75249}.threshold-list{display:grid;gap:6px}.threshold-row{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) minmax(0,1fr);align-items:center;gap:10px}.threshold-row-heading{color:var(--muted);font-size:11px;font-weight:800;letter-spacing:.06em}.threshold-row strong{display:block;color:var(--text);font-size:12px}.threshold-row small{display:block;margin-top:2px;color:var(--muted);font-size:11px}.threshold-row input{width:100%;min-width:0;height:33px;padding:0 9px;color:var(--text);background:#fff;border:1px solid #e5ebe6;border-radius:5px;font-size:12px}.theme-dark .report-table td{color:#c0cec5;border-color:var(--line)}.theme-dark .report-table td.report-cell-exceeded,.theme-dark .report-legend .report-cell-exceeded{color:#e99b8f;background:#492f2c}.theme-dark .report-table td.report-cell-error,.theme-dark .report-legend .report-cell-error{color:#d8a8dc;background:#3e2c40}.theme-dark .report-table td.report-cell-calibrating,.theme-dark .report-legend .report-cell-calibrating{color:#e4c27e;background:#493b29}.theme-dark .report-metric-chips button{color:#b6c2b9}.theme-dark .report-metric-chips button.selected{color:#a8ddbc;background:#30483a;border-color:#3d5a48}.theme-dark .exceedance-summary-card>strong{color:#a6d9b4}.theme-dark .exceedance-summary-card.exceeded{background:#3a2a27;border-color:#5a3a35}.theme-dark .exceedance-summary-card.exceeded>strong{color:#e99b8f}.theme-dark .threshold-row input{color:var(--text);background:#203128;border-color:var(--line)}.theme-dark .report-checkbox{color:#c0cec5}@media(max-width:650px){.report-filter-fields>.config-field{max-width:none}.report-presets{margin-left:0}.report-actions{width:100%}.report-inline-field{flex:1 1 140px;width:auto}.threshold-row{grid-template-columns:1fr 1fr}.threshold-row>span:first-child{grid-column:1 / -1}.threshold-row-heading{display:none}}.app-loading{min-height:100vh;display:grid;place-content:center;justify-items:center;gap:14px;color:#6d7d73;background:var(--page);font-size:13px}.app-connection-error{position:fixed;z-index:40;top:12px;left:50%;transform:translate(-50%);margin:0;padding:9px 14px;color:#8d3b31;background:#fff0ed;border:1px solid #f1cdc6;border-radius:7px;font-size:13px}.system-meter i{transition:width .4s}.profile>div:nth-child(2)>span{display:block}.profile-link{padding:0;color:#478565;background:none;border:0;cursor:pointer;font-size:inherit;text-decoration:underline}.password-fields{grid-template-columns:1fr}.alert-summary-grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.alert-toolbar{flex-wrap:wrap}.alert-toolbar .alert-search{width:240px}.alert-row-side{display:flex;flex-direction:column;align-items:flex-end;gap:5px;align-self:flex-start}.alert-row-side .alert-level{margin-top:0}.alert-handling{padding:3px 6px;color:var(--muted);background:#f0f3f1;border-radius:4px;font-size:11px;font-weight:700;white-space:nowrap}.alert-handling.handling-new{color:#b75249;background:#fff0ed}.alert-handling.handling-resolved{color:#388257;background:#edf7ef}.alert-actions{display:flex;gap:9px}.alert-actions .plain-link{padding:0;background:none;border:0;cursor:pointer}.alert-cleared{opacity:.72}.alert-cleared .alert-indicator{filter:grayscale(.6)}.alert-resolve-form{display:flex;flex-wrap:wrap;gap:7px;margin-top:8px}.alert-resolve-form input{flex:1 1 220px;min-width:0;height:32px;padding:0 9px;color:var(--text);background:#fff;border:1px solid #e5ebe6;border-radius:5px;font-size:12px}.overview-alerts{margin-top:8px}.overview-alerts .alert-row{padding:10px 0}.overview-alerts .alert-row-side .alert-handling{display:none}.admin-inline-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));align-items:end;gap:12px}.admin-checkboxes{display:flex;flex-wrap:wrap;gap:4px 18px;margin-top:10px}.admin-form-actions{display:flex;justify-content:flex-end;gap:8px;margin-bottom:14px}.channels{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:14px}.channel-card{display:flex;flex-direction:column;border:1px solid var(--line, #e5ebe6);border-radius:14px;background:#fff;overflow:hidden;transition:border-color .15s,box-shadow .15s}.channel-card.is-on{border-color:color-mix(in srgb,var(--green, #1f8a5c) 45%,var(--line, #e5ebe6));box-shadow:0 4px 16px color-mix(in srgb,var(--green, #1f8a5c) 10%,transparent)}.channel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 15px}.channel-id{display:flex;align-items:center;gap:11px;min-width:0}.channel-icon{display:grid;place-items:center;flex:0 0 auto;width:38px;height:38px;border-radius:11px;color:#fff;box-shadow:inset 0 1px #ffffff4d}.channel-icon.telegram{background:linear-gradient(145deg,#40b3e8,#1b8fd0)}.channel-icon.email{background:linear-gradient(145deg,#4fd19a,#1f8a5c)}.channel-icon.rules{background:linear-gradient(145deg,#f2b65a,#c9801b)}.settings-panel-body{padding-bottom:12px}.settings-panel-body .channel-hint{margin:0}.settings-panel-body>.channel-status{justify-self:start}.chat-finder{display:grid;gap:8px}.chat-finder-head{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.chat-finder-list{display:grid;gap:6px;max-height:320px;margin:0;padding:0;overflow-y:auto;list-style:none}.chat-finder-list li{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;padding:8px 10px;border:1px solid var(--line, #e5ebe6);border-radius:9px}.chat-finder-list li.is-removed{opacity:.6}.chat-finder-name{display:grid;gap:2px;min-width:0}.chat-finder-name small,.chat-finder-known{color:var(--muted, #6b7a72);font-size:11px}.chat-finder-name code{font-size:11px}.unsaved-note{align-self:center;color:var(--amber, #b86e00);font-size:12px;font-weight:600}.channel-id strong{display:block;font-size:14px;color:var(--text, #16261f);line-height:1.2}.channel-id small{display:block;margin-top:2px;color:var(--muted, #7a8a81);font-size:11px}.channel-body{display:grid;gap:10px;padding:2px 15px 12px}.channel-body .field-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px;align-items:end}.channel-body .field-row .config-field.small{flex:none}.channel-body .field-row .config-field.tiny{grid-column:span 1}.channel-body .config-field.grow{grid-column:1 / -1}.channel-hint{margin:0;color:var(--muted, #7a8a81);font-size:11px;font-weight:400;line-height:1.5}.field-reveal{padding:0 2px;color:var(--green, #1f8a5c);background:none;border:0;cursor:pointer;font:inherit;font-size:11px;font-weight:700}.channel-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-top:auto;padding:11px 15px;background:var(--surface-soft, #f6f9f7);border-top:1px solid var(--line, #e5ebe6)}.channel-foot .button-secondary{display:inline-flex;align-items:center;gap:6px}.channel-status{color:var(--muted, #7a8a81);font-size:11px;font-weight:600}.channel-last{margin:14px 0 0}.recipient-add{display:flex;gap:8px;flex-wrap:wrap}.recipient-add .button-secondary,.recipient-scope .button-secondary,.recipient-foot .button-secondary{display:inline-flex;align-items:center;gap:6px}.recipient-list{display:grid;gap:8px}.recipient-card{border:1px solid var(--line, #e5ebe6);border-radius:12px;background:var(--surface, #fff);overflow:hidden;transition:border-color .15s,box-shadow .15s}.recipient-card.is-open{border-color:color-mix(in srgb,var(--green, #1f8a5c) 45%,var(--line, #e5ebe6));box-shadow:0 4px 16px color-mix(in srgb,var(--green, #1f8a5c) 10%,transparent)}.recipient-card.is-off .recipient-summary{opacity:.55}.recipient-head{display:flex;align-items:center;gap:10px;padding:7px 12px 7px 8px}.recipient-summary{display:flex;align-items:center;gap:11px;flex:1;min-width:0;padding:2px 4px;color:inherit;background:none;border:0;border-radius:8px;text-align:left;cursor:pointer;font:inherit}.recipient-summary:focus-visible{outline:2px solid var(--green, #1f8a5c);outline-offset:2px}.recipient-summary .channel-icon{width:28px;height:28px;border-radius:8px}.recipient-text{display:grid;min-width:0;flex:1}.recipient-text strong{overflow:hidden;color:var(--text, #16261f);font-size:13px;text-overflow:ellipsis;white-space:nowrap}.recipient-text small{overflow:hidden;color:var(--muted, #7a8a81);font-size:11px;text-overflow:ellipsis;white-space:nowrap}.recipient-chevron{display:inline-flex;color:var(--muted, #7a8a81);transition:transform .15s}.recipient-card.is-open .recipient-chevron{transform:rotate(90deg)}.recipient-warning{margin:0 14px 10px;padding:7px 10px;color:#8a5a00;background:var(--amber-soft, #fff5e5);border-radius:8px;font-size:12px}.recipient-body{display:grid;gap:10px;padding:10px 12px 0;border-top:1px solid var(--line, #e5ebe6)}.recipient-body .recipient-warning{flex-basis:100%;margin:4px 0 0}.recipient-body .field-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px;align-items:end}.recipient-body .field-row .config-field.grow{grid-column:span 2}.recipient-section{display:flex;align-items:center;gap:6px 10px;flex-wrap:wrap}.recipient-label{flex:0 0 104px;color:var(--muted, #7a8a81);font-size:11px;font-weight:800;letter-spacing:.05em;text-transform:uppercase}.recipient-scope{display:flex;align-items:center;gap:10px;flex:1;min-width:0}.recipient-scope strong{font-size:12px}.recipient-scope .button-secondary{padding:4px 10px;font-size:12px}.recipient-checks{display:flex;flex-wrap:wrap;gap:6px;flex:1;min-width:0}.check-chip{display:inline-flex;align-items:center;gap:5px;padding:3px 10px 3px 7px;color:var(--text-2, #3b4a42);background:var(--surface-soft, #f6f9f7);border:1px solid var(--line, #e5ebe6);border-radius:999px;font-size:12px;cursor:pointer;-webkit-user-select:none;user-select:none}.check-chip input{width:13px;height:13px;margin:0;accent-color:var(--green, #1f8a5c)}.check-chip:has(input:checked){color:var(--green, #1f8a5c);background:var(--green-soft, #e7f4ed);border-color:color-mix(in srgb,var(--green, #1f8a5c) 35%,transparent);font-weight:600}.check-chip.level-high:has(input:checked){color:#b2382c;background:var(--red-soft, #fdecea);border-color:#f0c4be}.check-chip.level-medium:has(input:checked){color:#9a5d00;background:var(--amber-soft, #fff5e5);border-color:#f0d6a8}.check-chip.level-high input{accent-color:#c7362a}.check-chip.level-medium input{accent-color:#c27c00}.recipient-more summary{color:var(--green, #1f8a5c);font-size:12px;font-weight:700;cursor:pointer}.recipient-more[open]{display:grid;gap:10px}.recipient-foot{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:0 -12px;padding:7px 12px;background:var(--surface-soft, #f6f9f7);border-top:1px solid var(--line, #e5ebe6)}.recipient-foot .button-secondary{padding:4px 10px;font-size:12px}.recipient-foot .danger-link{margin-left:auto}@media(max-width:640px){.recipient-body .field-row .config-field.grow{grid-column:auto}.recipient-label{flex-basis:100%}}.switch{position:relative;display:inline-flex;flex:0 0 auto;cursor:pointer}.switch input{position:absolute;width:1px;height:1px;opacity:0}.switch .track{width:42px;height:23px;border-radius:999px;background:#d4ddd7;transition:background .16s}.switch .track:after{content:"";position:absolute;top:2px;left:2px;width:19px;height:19px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #00000047;transition:transform .16s}.switch input:checked+.track{background:var(--green, #1f8a5c)}.switch input:checked+.track:after{transform:translate(19px)}.switch input:focus-visible+.track{outline:2px solid var(--green, #1f8a5c);outline-offset:2px}.admin-message{margin:0 0 10px}.table-select{height:28px;padding:0 6px;color:var(--text);background:#fff;border:1px solid #e5ebe6;border-radius:5px;font-size:12px}.table-inline-form,.table-actions{display:flex;align-items:center;gap:8px}.table-inline-form input{width:140px;height:28px;padding:0 8px;border:1px solid #e5ebe6;border-radius:5px;font-size:12px}.table-inline-form .plain-link,.table-actions .plain-link{padding:0;background:none;border:0;cursor:pointer}.report-table td.audit-detail{max-width:340px;overflow:hidden;text-overflow:ellipsis}.deploy-steps{display:grid;gap:7px;margin:0;padding-left:18px;color:var(--text-2);font-size:12px;line-height:1.6}.deploy-steps code,.report-card-description code{padding:1px 5px;color:#2f6a4c;background:var(--green-soft);border-radius:4px;font-size:12px}.line-chart{margin-top:8px}.line-chart-plot{position:relative;height:150px;margin-left:48px;cursor:crosshair}.line-chart-plot svg{display:block;width:100%;height:100%;overflow:visible}.line-chart-axis>span{position:absolute;left:-48px;width:44px;color:var(--muted);font-size:11px;text-align:right;transform:translateY(-50%)}.line-chart-threshold{stroke:#d0503f;stroke-width:1.3;stroke-dasharray:6 4;vector-effect:non-scaling-stroke}.line-chart-threshold-label{position:absolute;right:2px;padding:1px 4px;color:#b3483a;background:#ffffffd9;border-radius:3px;font-size:11px;font-weight:700;transform:translateY(-110%);pointer-events:none}.line-chart-crosshair{stroke:#8fa196;stroke-width:1;vector-effect:non-scaling-stroke}.line-chart-dot{position:absolute;width:6px;height:6px;background:#fff;border:2px solid #258b68;border-radius:50%;transform:translate(-50%,-50%);pointer-events:none}.line-chart-dot.exceeded{border-color:#d0503f;background:#fde6e2}.line-chart-dot.active{width:10px;height:10px;background:#258b68;border-color:#fff;box-shadow:0 0 0 2px #258b68}.line-chart-dot.active.exceeded{background:#d0503f;box-shadow:0 0 0 2px #d0503f}.line-chart-tooltip{position:absolute;z-index:2;top:-6px;display:grid;gap:2px;min-width:120px;padding:7px 9px;color:#f4faf6;background:#1b2f24f0;border-radius:6px;box-shadow:0 8px 22px #14281e38;font-size:11px;transform:translate(10px);pointer-events:none;white-space:nowrap}.line-chart-tooltip.align-right{transform:translate(calc(-100% - 10px))}.line-chart-tooltip strong{font-size:11px;font-weight:600;opacity:.8}.line-chart-tooltip span{font-size:14px;font-weight:700}.line-chart-tooltip small{opacity:.8}.line-chart-tooltip-alert{color:#ffb4a8;opacity:1!important;font-weight:700}.line-chart-plot{touch-action:pan-y}.line-chart-plot:focus-visible{outline:2px solid var(--green, #1f8a5c);outline-offset:4px;border-radius:4px}.line-chart-band.is-gap{fill:#78847d21}.line-chart-band.is-maintenance{fill:#d68c1e29}.line-chart-band.is-invalid{fill:#7a5cc824}.line-chart-spread{fill:var(--chart-area, #2fa771);fill-opacity:.16;stroke:none}.line-chart-tooltip-band{color:#ffd59a;opacity:1!important}.line-chart-tooltip-band.is-invalid{color:#d5c6ff}.line-chart-legend{display:flex;flex-wrap:wrap;gap:4px 14px;margin:6px 0 0 48px;color:var(--muted);font-size:11px}.line-chart-legend>span{display:inline-flex;align-items:center;gap:6px}.line-chart-legend i{display:inline-block;width:14px;height:10px;border-radius:2px}.line-chart-legend i.is-gap{background:#78847d4d}.line-chart-legend i.is-maintenance{background:#d68c1e61}.line-chart-legend i.is-invalid{background:#7a5cc852}.line-chart-legend i.is-spread{background:color-mix(in srgb,var(--chart-area, #2fa771) 30%,transparent)}.theme-dark .line-chart-band.is-gap{fill:#c8d2cc14}.line-chart-labels{display:flex;justify-content:space-between;gap:4px;margin:4px 0 0 48px;color:var(--muted);font-size:11px}.line-chart-labels>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.report-chart-grid{margin-top:0}.telemetry-metric-exceeded{border-color:#f0c4bc;background:#fff7f5}.telemetry-metric-exceeded>strong{color:#b3483a}.station-map-card{margin-bottom:12px}.station-map{height:340px;overflow:hidden;border:1px solid var(--line);border-radius:8px;isolation:isolate}.station-map .map-sovereignty-label{width:max-content;transform:translate(-50%,-50%);color:#4f6b7c;font-size:11px;font-weight:600;line-height:1.25;text-align:center;white-space:pre-line;text-shadow:0 0 3px #fff,0 0 3px #fff;pointer-events:none}.station-map .map-sea-label{color:#6b8ea3;font-size:12px;font-style:italic;letter-spacing:.08em}.station-map.is-missing-base-map:after{content:"Chưa cài đủ dữ liệu bản đồ (maps\\overview.pmtiles, maps\\vietnam.pmtiles)";position:absolute;left:50%;bottom:10px;z-index:1000;transform:translate(-50%);padding:4px 10px;border-radius:6px;background:#ffffffeb;color:#6a7570;font-size:11px;pointer-events:none}.map-legend-inline{display:flex;flex-wrap:wrap;gap:10px;color:var(--muted);font-size:11px}.map-legend-inline span:before{content:"";display:inline-block;width:8px;height:8px;margin-right:5px;border-radius:50%;vertical-align:-1px}.map-legend-inline .tone-good:before{background:#2f9a68}.map-legend-inline .tone-warning:before{background:#d39a2c}.map-legend-inline .tone-alert:before{background:#d0503f}.map-legend-inline .tone-offline:before{background:#8a968e}.tv-mode{position:fixed;z-index:60;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;gap:2vh;padding:2.5vh 3vw;overflow:auto;color:#e9f3ed;background:radial-gradient(circle at 15% 0%,#1f4636,#0f1f18 60%);font-size:16px}.tv-header{display:flex;align-items:center;justify-content:space-between;gap:20px}.tv-header .brand strong{color:#e9f3ed}.tv-clock{text-align:center}.tv-clock strong{display:block;font-family:var(--app-font);font-size:2.2em;letter-spacing:-.02em}.tv-clock span{color:#a9c3b4;font-size:.8em;text-transform:capitalize}.tv-controls{display:flex;gap:8px}.tv-controls button,.tv-footer button{padding:8px 14px;color:#d8eadf;background:#ffffff14;border:1px solid rgba(255,255,255,.14);border-radius:8px;cursor:pointer;font-size:.8em}.tv-body{flex:1;display:grid;grid-template-rows:auto 1fr auto;gap:2.5vh}.tv-station-heading{display:flex;align-items:flex-end;flex-wrap:wrap;gap:14px 22px}.tv-station-heading>div>span{color:#9fbcac;font-size:.9em}.tv-station-heading h1{margin:4px 0 0;font-family:var(--app-font);font-size:3em;letter-spacing:-.02em}.tv-station-heading .status-badge{padding:8px 12px;font-size:.8em}.tv-station-heading small{color:#9fbcac;font-size:.85em}.tv-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.6vh 1.2vw;align-content:start}.tv-metric{display:grid;gap:6px;padding:2.2vh 1.4vw;background:#ffffff0f;border:1px solid rgba(255,255,255,.1);border-radius:14px}.tv-metric>span{color:#b6cfc0;font-size:1.1em;font-weight:600}.tv-metric>strong{display:flex;align-items:baseline;gap:8px;color:#fff;font-family:var(--app-font);font-size:3.4em;letter-spacing:-.02em}.tv-metric>strong small{color:#a8c2b3;font-family:var(--app-font);font-size:.32em;font-weight:500}.tv-metric>em{color:#8fae9c;font-size:.8em;font-style:normal}.tv-metric.exceeded{background:#d0503f38;border-color:#ff8c788c}.tv-metric.exceeded>strong{color:#ffb9ad}.tv-metric.invalid{opacity:.7;border-style:dashed}.tv-alerts h2{display:flex;align-items:center;gap:8px;margin:0 0 10px;font-size:1.1em}.tv-alerts p{margin:0;color:#9fd1b2}.tv-alert{display:flex;gap:12px;padding:10px 14px;margin-bottom:8px;background:#ffffff0f;border-left:4px solid #d39a2c;border-radius:8px}.tv-alert.level-high{border-left-color:#e0604e}.tv-alert.level-low{border-left-color:#8fbf9f}.tv-footer{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.tv-footer button.active{color:#10241b;background:#a8e0bf;border-color:#a8e0bf}.tv-footer button i{display:inline-block;width:8px;height:8px;margin-left:6px;background:#ff7b66;border-radius:50%}.tv-footer>span{margin-left:auto;color:#8fae9c;font-size:.8em}.tv-empty{color:#a9c3b4;font-size:1.2em}.summary-toolbar{justify-content:space-between;margin-bottom:12px}.print-report{padding:22px 24px;margin-bottom:12px}.print-report-header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding-bottom:14px;margin-bottom:14px;border-bottom:2px solid #258b68}.print-report-header h2{margin:6px 0 4px;color:var(--text);font-family:var(--app-font);font-size:16px;letter-spacing:-.02em}.print-report-header p{margin:0;color:#74837a;font-size:12px}.print-report-header dl{display:grid;gap:6px;margin:0;text-align:right}.print-report-header dt{color:#96a39a;font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.print-report-header dd{margin:2px 0 0;color:var(--text);font-size:13px;font-weight:700}.print-report-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:14px}.print-report-stats>div{padding:10px 12px;background:var(--surface-soft);border:1px solid var(--line);border-radius:7px}.print-report-stats span{display:block;color:#8c9990;font-size:11px;font-weight:700}.print-report-stats strong{display:block;margin:4px 0 2px;color:var(--text);font-family:var(--app-font);font-size:18px}.print-report-stats small{color:#8c9990;font-size:11px}.print-report-section h3{margin:16px 0 6px;color:var(--text);font-size:13px}.print-report-section ul{margin:0;padding-left:18px;color:#5d6d63;font-size:12px;line-height:1.7}.print-report-footer{margin-top:16px;padding-top:10px;color:#8a978e;border-top:1px solid var(--line);font-size:11px;line-height:1.6}.theme-dark .alert-resolve-form input,.theme-dark .table-select,.theme-dark .table-inline-form input{color:var(--text);background:#203128;border-color:var(--line)}.theme-dark .alert-handling{color:#c0c9c2;background:#344138}.theme-dark .alert-handling.handling-new{color:#e99b8f;background:#492f2c}.theme-dark .alert-handling.handling-resolved{color:#a6d9b4;background:#294435}.theme-dark .alert-info strong,.theme-dark .print-report-header h2{color:var(--text)}.theme-dark .line-chart-threshold-label{background:#1d2c24d9;color:#f0a497}.theme-dark .line-chart-dot{background:#1d2c24}.theme-dark .telemetry-metric-exceeded{background:#3a2a27;border-color:#5a3a35}.theme-dark .telemetry-metric-exceeded>strong{color:#f0a497}.theme-dark .deploy-steps{color:#c0cec5}.theme-dark .deploy-steps code,.theme-dark .report-card-description code{color:#a8ddbc;background:#294435}.theme-dark .app-loading{background:#14211b}@media(max-width:900px){.alert-summary-grid-4,.print-report-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.tv-mode{font-size:14px}}@media(max-width:650px){.alert-row{flex-wrap:wrap}.alert-row-side{flex-direction:row;flex-wrap:wrap;align-items:center;margin-left:47px}.station-map{height:260px}.print-report{padding:14px}.print-report-header{flex-direction:column}.print-report-header dl{text-align:left}.tv-header{flex-wrap:wrap}}@media print{@page{size:A4;margin:14mm}body,.app,.page-content,.main-area{background:#fff!important}.sidebar,.topbar,.page-heading,.report-tabs,.report-filters,.no-print,.mobile-scrim{display:none!important}.app{display:block}.main-area,.page-content{padding:0!important;margin:0!important;overflow:visible!important}.print-report{padding:0;border:0;box-shadow:none}.report-table{font-size:12px}.report-table th,.report-table td{color:var(--text)!important}.table-scroll{overflow:visible}}.telemetry-grid{grid-template-columns:repeat(auto-fill,minmax(158px,1fr))}.overview-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;align-items:start;gap:14px;margin-bottom:14px}.overview-main,.overview-aside{min-width:0;display:grid;align-content:start;gap:14px}.overview-panel{min-width:0;padding:16px}.overview-panel>.card-heading{margin-bottom:12px}.overview-panel .card-heading h2{display:flex;align-items:center;gap:8px}.overview-file{max-width:46%;overflow:hidden;color:var(--muted);font-size:11px;text-overflow:ellipsis;white-space:nowrap}.overview-main .history-metric-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}.overview-main .line-chart-plot{height:118px}.overview-main .history-chart-footnote{display:none}.overview-quiet{display:flex;align-items:center;gap:8px;padding:12px;color:#4a8962;background:var(--green-soft);border-radius:8px;font-size:12px;font-weight:600}.overview-alerts{margin-top:0}.overview-alerts .alert-info>span{white-space:normal}.overview-aside .location-summary-card{gap:8px}.overview-aside .location-summary-card .card-heading{margin-bottom:4px}.station-switch-list{display:grid;gap:7px}.station-switch{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:4px 10px;width:100%;padding:10px 11px;color:inherit;text-align:left;background:var(--surface-soft);border:1px solid var(--line);border-radius:9px;cursor:pointer;font:inherit;transition:border-color .18s,background .18s,box-shadow .18s,transform .18s}.station-switch:hover{border-color:#b9dcc8;transform:translate(2px)}.station-switch.active{background:var(--green-soft);border-color:#9fd3b8;box-shadow:inset 3px 0 0 var(--green)}.station-switch-name{display:flex;min-width:0;align-items:center;gap:6px}.station-switch-name strong{overflow:hidden;color:var(--text);font-size:13px;text-overflow:ellipsis;white-space:nowrap}.station-switch-alert{width:8px;height:8px;flex:0 0 8px;background:var(--red, #d23f2f);border-radius:50%;box-shadow:0 0 0 3px #d23f2f2e}.station-switch small{color:var(--muted);font-size:11px}.station-switch .status-badge{justify-self:end}.station-switch-time{text-align:right;white-space:nowrap}.theme-dark .station-switch:hover{border-color:#3d5a48}.theme-dark .station-switch.active{border-color:#3f6a54}.theme-dark .overview-quiet{color:#8fd8b2}.stations-top{display:grid;grid-template-columns:minmax(0,1fr) 320px;align-items:stretch;gap:12px;margin-bottom:12px}.stations-top .station-map-card{margin:0}.stations-top .station-map{height:300px}.station-summary-stack{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:1fr;margin:0}.station-summary-stack>div{display:flex;flex-direction:column;justify-content:space-between;gap:6px;padding:14px}.station-summary-stack strong{margin:0;font-size:30px;line-height:1}.station-summary-stack small{color:var(--muted);font-size:11px}.stations-list-card{margin-bottom:14px}.source-station-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto auto;align-items:center;gap:16px}.source-station-row>.plain-link{padding:0;background:none;border:0;cursor:pointer}@media(max-width:1150px){.overview-layout{grid-template-columns:1fr}.overview-aside{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.stations-top{grid-template-columns:1fr}.station-summary-stack{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(max-width:650px){.station-summary-stack{grid-template-columns:repeat(2,minmax(0,1fr))}.stations-top .station-map{height:240px}.overview-file{display:none}.source-station-row{grid-template-columns:1fr auto}.source-station-row>div{grid-column:1 / -1}}.overview-main .history-metric-grid{grid-template-columns:repeat(auto-fill,minmax(205px,1fr))}.overview-main .history-metric-heading>div>span{display:none}@media(min-width:1151px){.overview-aside{position:sticky;top:78px}}.stations-top{grid-template-columns:minmax(0,1fr) 360px}.station-summary-stack>div{justify-content:flex-start}.station-summary-stack strong{margin-top:auto}.station-table td:last-child,.station-actions-head{width:1%;text-align:right;white-space:nowrap}.station-table .station-row-actions{margin-left:0;justify-content:flex-end}.station-name strong{display:flex;align-items:center;gap:6px}.overview-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:14px}.kpi-tile{position:relative;min-width:0;display:grid;align-content:start;gap:6px;padding:14px 16px 14px 19px;overflow:hidden}.kpi-tile:before{content:"";position:absolute;top:14px;bottom:14px;left:0;width:4px;background:#b5c2ba;border-radius:0 4px 4px 0}.kpi-tile.tone-good:before{background:#2fa771}.kpi-tile.tone-warn:before{background:#e09a1b}.kpi-tile.tone-bad:before{background:var(--red, #d23f2f)}.kpi-tile>span{color:var(--muted);font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.kpi-tile>strong{display:flex;min-height:34px;align-items:center;color:var(--text);font-family:var(--app-font);font-size:24px;font-weight:800;letter-spacing:-.02em;line-height:1;font-variant-numeric:tabular-nums}.kpi-tile.tone-bad>strong{color:var(--red, #d23f2f)}.kpi-tile>strong .status-badge{padding:7px 11px;font-family:var(--app-font);font-size:14px;letter-spacing:0}.kpi-tile>small{overflow:hidden;color:var(--muted);font-size:12px;text-overflow:ellipsis;white-space:nowrap}.reading-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(168px,1fr));gap:10px}.reading-tile{display:grid;align-content:start;gap:8px;padding:12px 13px}.reading-tile header{display:flex;min-height:22px;align-items:center;justify-content:space-between;gap:6px}.reading-tile header>span:first-child{overflow:hidden;color:var(--text-2);font-size:12px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.reading-tile header .metric-status{font-size:11px}.reading-value{display:flex;align-items:baseline;gap:5px}.reading-value strong{color:var(--text);font-family:var(--app-font);font-size:24px;font-weight:800;letter-spacing:-.02em;line-height:1.05;font-variant-numeric:tabular-nums}.reading-value small{color:var(--muted);font-size:11px}.reading-tile.tone-bad .reading-value strong{color:var(--red, #d23f2f)}.reading-tile.tone-invalid{border-style:dashed}.reading-tile.tone-invalid .reading-value strong{color:var(--muted)}.reading-bar{position:relative;height:6px;overflow:hidden;background:#e6eee9;border-radius:6px;box-shadow:inset 0 1px 2px #1e3c2d1f}.reading-bar i{position:absolute;top:0;bottom:0;left:0;background:#2fa771;border-radius:inherit;transition:width .5s var(--ease-out, ease)}.tone-warn .reading-bar i{background:#e09a1b}.tone-bad .reading-bar i{background:var(--red, #d23f2f)}.reading-bar.is-range{overflow:visible;background:linear-gradient(90deg,#e09a1b4d 0,#e09a1b4d 10%,#2fa77147 10%,#2fa77147 90%,#e09a1b4d 90%)}.reading-bar.is-range i{top:-3px;bottom:auto;width:8px;height:12px;border:2px solid #fff;border-radius:4px;box-shadow:0 1px 4px #1e3c2d59;transition:left .5s var(--ease-out, ease)}.reading-tile footer{display:flex;justify-content:space-between;gap:6px;color:var(--muted);font-size:11px}.reading-tile footer span:last-child{white-space:nowrap}.reading-tile .metric-sparkline{height:26px;margin:0}.trend-panel .card-heading{margin-bottom:10px}.trend-metric-chips{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}.trend-metric-chips button{position:relative;padding:6px 12px;color:var(--text-2);background:var(--surface-soft);border:1px solid var(--line);border-radius:999px;cursor:pointer;font-size:12px;font-weight:600;transition:background .18s,border-color .18s,color .18s}.trend-metric-chips button:hover{border-color:#b8dcc8}.trend-metric-chips button.selected{color:#fff;background:linear-gradient(180deg,#27a06c,#1c7d52);border-color:#1c7d52;box-shadow:0 3px 10px #1f8a5c40}.trend-metric-chips button.has-exceeded:after{content:"";position:absolute;top:2px;right:2px;width:7px;height:7px;background:var(--red, #d23f2f);border:2px solid var(--surface);border-radius:50%}.overview-main .trend-chart .line-chart-plot{height:230px}.trend-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:14px 0 0}.trend-stats>div{padding:10px 12px;background:var(--surface-soft);border:1px solid var(--line);border-radius:9px}.trend-stats dt{color:var(--muted);font-size:11px}.trend-stats dd{margin:3px 0 0;color:var(--text);font-family:var(--app-font);font-size:18px;font-weight:800;font-variant-numeric:tabular-nums}.trend-stats dd.is-bad{color:var(--red, #d23f2f)}.trend-panel .history-toolbar{margin-top:12px}.theme-dark .reading-bar{background:#2a3b32}.theme-dark .reading-tile header>span:first-child,.theme-dark .trend-metric-chips button{color:#b6c6bc}.theme-dark .trend-metric-chips button.selected{color:#fff}@media(max-width:1150px){.overview-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:650px){.trend-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.overview-main .trend-chart .line-chart-plot{height:180px}.kpi-tile>strong{font-size:20px}}.reading-tile.tone-bad footer span:first-child{color:var(--red, #d23f2f);font-weight:700}.reading-tile footer{flex-wrap:wrap;row-gap:2px}.reading-tile footer span{white-space:nowrap}.reading-tile .metric-sparkline{height:30px}.reading-tile .metric-sparkline+.reading-bar{margin-top:2px}:root{--ease-out: cubic-bezier(.22, 1, .36, 1);--ease-spring: cubic-bezier(.34, 1.56, .64, 1);--glow-green: 0 0 0 3px rgba(37, 139, 104, .14);--lift-shadow: 0 14px 30px rgba(36, 74, 54, .1), 0 3px 8px rgba(36, 74, 54, .06)}.main-area{background:radial-gradient(1100px 420px at 100% -8%,rgba(91,201,155,.11),transparent 62%),radial-gradient(800px 360px at -10% 105%,rgba(37,139,104,.06),transparent 60%)}.topbar{position:sticky;z-index:15;top:0;background:#fffffff5}.theme-dark .main-area{background:radial-gradient(1100px 420px at 100% -8%,rgba(91,201,155,.08),transparent 62%),radial-gradient(800px 360px at -10% 105%,rgba(37,139,104,.06),transparent 60%)}.theme-dark .topbar{background:#19271ff7}.pulse-dot{position:relative;animation:pulse-ring 2.4s var(--ease-out) infinite}@keyframes pulse-ring{0%{box-shadow:0 0 #5bc99b73}70%{box-shadow:0 0 0 7px #5bc99b00}to{box-shadow:0 0 #5bc99b00}}.sync-offline .pulse-dot{animation-name:pulse-ring-amber}@keyframes pulse-ring-amber{0%{box-shadow:0 0 #d2a15180}70%{box-shadow:0 0 0 7px #d2a15100}to{box-shadow:0 0 #d2a15100}}.side-nav{position:relative}.nav-indicator{position:absolute;z-index:0;top:0;left:0;width:100%;height:39px;background:#eaf5ee;border-radius:8px;box-shadow:inset 0 0 0 1px #258b6814;transition:transform .35s var(--ease-out);pointer-events:none}.nav-indicator:before{content:"";position:absolute;top:9px;bottom:9px;left:0;width:3px;background:#258b68;border-radius:0 3px 3px 0}.nav-button{position:relative;z-index:1;transition:background .18s,color .18s}.nav-button.active{background:transparent}.nav-button>svg{transition:transform .22s var(--ease-out),color .18s}.nav-button:hover>svg{transform:translate(2px)}.nav-button.active:hover{background:transparent}.theme-dark .nav-indicator{background:#274235;box-shadow:inset 0 0 0 1px #a8ddbc14}.theme-dark .nav-indicator:before{background:#7fd0a2}.theme-dark .nav-button.active{background:transparent}.nav-button b,.notification-button i{animation:badge-pop .45s var(--ease-spring)}@keyframes badge-pop{0%{transform:scale(.4)}60%{transform:scale(1.18)}to{transform:scale(1)}}.button-primary{background:linear-gradient(180deg,#2a9469,#227a57);border-color:#227a57;transition:transform .18s var(--ease-out),box-shadow .18s,filter .18s}.button-primary:hover:not(:disabled){box-shadow:0 8px 18px #25845f42;filter:brightness(1.05)}.button-secondary,.filter-button,.icon-button,.notification-button,.modal-close,.station-row-action,.directory-entry{transition:transform .18s var(--ease-out),border-color .18s,background .18s,box-shadow .18s,color .18s}.button-secondary:hover:not(:disabled),.filter-button:hover,.icon-button:hover,.notification-button:hover,.modal-close:hover,.station-row-action:hover{border-color:#b8dcc8;box-shadow:0 4px 12px #244a3614;transform:translateY(-1px)}.button-primary:active:not(:disabled),.button-secondary:active:not(:disabled),.filter-button:active,.icon-button:active,.notification-button:active,.modal-close:active,.login-submit:active,.station-row-action:active,.nav-button:active,.segmented-control button:active,.report-metric-chips button:active{transform:scale(.96)}button:disabled{cursor:not-allowed;opacity:.6}.plain-link{transition:color .15s}.plain-link:hover:not(:disabled){color:#1f6e4c;text-decoration:underline;text-underline-offset:3px}.modal-close:hover{color:#b75249}.theme-dark .button-secondary:hover:not(:disabled),.theme-dark .icon-button:hover,.theme-dark .notification-button:hover,.theme-dark .modal-close:hover{border-color:#3d5a48}.ripple-host{position:relative;overflow:hidden;isolation:isolate}.ripple{position:absolute;z-index:-1;width:12px;height:12px;margin:-6px 0 0 -6px;background:currentColor;border-radius:50%;opacity:.22;transform:scale(0);animation:ripple .55s var(--ease-out) forwards;pointer-events:none}.button-primary .ripple,.login-submit .ripple{background:#fff;opacity:.35}@keyframes ripple{to{opacity:0;transform:scale(var(--ripple-scale, 30))}}.segmented-control button{transition:background .2s,color .2s,box-shadow .2s,transform .15s}.segmented-control button:hover:not(.selected){color:#2f7d58;background:#fff9}.segmented-control button.selected{animation:segment-in .25s var(--ease-out)}@keyframes segment-in{0%{transform:scale(.94)}to{transform:scale(1)}}.report-metric-chips button{transition:background .18s,border-color .18s,color .18s,transform .15s}.report-metric-chips button:hover{border-color:#b8dcc8}.theme-dark .segmented-control button:hover:not(.selected){color:#a8ddbc;background:#ffffff0a}.card{transition:box-shadow .25s var(--ease-out),border-color .25s,transform .25s var(--ease-out)}.telemetry-metric,.history-metric-card,.exceedance-summary-card,.alert-summary,.station-summary>div,.print-report-stats>div,.source-station-row,.metric-template-row,.camera-wall-tile{transition:transform .22s var(--ease-out),box-shadow .22s var(--ease-out),border-color .22s}.telemetry-metric:hover,.history-metric-card:hover,.exceedance-summary-card:hover,.alert-summary:hover,.station-summary>div:hover,.print-report-stats>div:hover,.source-station-row:hover,.camera-wall-tile:hover{border-color:#c6e3d2;box-shadow:var(--lift-shadow);transform:translateY(-2px)}.telemetry-metric:active,.alert-summary:active,.station-summary>div:active{transform:translateY(0) scale(.985)}.full-page-card:hover,.chart-card:hover,.alerts-card:hover,.station-card:hover,.location-summary-card:hover{border-color:#dcebe1;box-shadow:0 16px 38px #2a463612}.theme-dark .telemetry-metric:hover,.theme-dark .history-metric-card:hover,.theme-dark .exceedance-summary-card:hover,.theme-dark .alert-summary:hover,.theme-dark .station-summary>div:hover,.theme-dark .print-report-stats>div:hover,.theme-dark .source-station-row:hover,.theme-dark .camera-wall-tile:hover{border-color:#3d5a48;box-shadow:0 14px 30px #00000047}.theme-dark .full-page-card:hover,.theme-dark .chart-card:hover,.theme-dark .alerts-card:hover,.theme-dark .station-card:hover,.theme-dark .location-summary-card:hover{border-color:#3a5143;box-shadow:0 16px 38px #00000038}.telemetry-metric-exceeded{animation:exceeded-breathe 2.2s ease-in-out infinite}@keyframes exceeded-breathe{0%,to{box-shadow:var(--bevel-light, 0 0 0 transparent),var(--depth-1, 0 0 0 transparent),0 0 #d0503f00}50%{box-shadow:var(--bevel-light, 0 0 0 transparent),var(--depth-1, 0 0 0 transparent),0 0 0 4px #d0503f2e}}.value-flash{animation:value-flash 1.2s var(--ease-out)}@keyframes value-flash{0%{color:#1b9e68;text-shadow:0 0 14px rgba(91,201,155,.55)}to{text-shadow:0 0 0 transparent}}.tv-metric.exceeded{animation:exceeded-breathe 2.2s ease-in-out infinite}.report-table tbody tr,.station-table tbody tr{transition:background .15s}.report-table tbody tr:hover td:not([class*=report-cell]),.station-table tbody tr:hover td{background:#258b680b}.theme-dark .report-table tbody tr:hover td:not([class*=report-cell]),.theme-dark .station-table tbody tr:hover td{background:#a8ddbc0d}.report-card .table-scroll{max-height:620px;overflow:auto}.report-card .report-table thead th{position:sticky;z-index:1;top:0;box-shadow:inset 0 -1px 0 var(--line)}.config-field input,.config-field select,.station-status-filter select,.table-select,.threshold-row input,.alert-resolve-form input,.table-inline-form input,.search-field,.location-link-field input{transition:border-color .18s,box-shadow .18s,background .18s}.config-field input:hover:not([readonly]),.config-field select:hover,.station-status-filter select:hover,.table-select:hover,.threshold-row input:hover,.search-field:hover{border-color:#c9ded1}.config-field input:focus,.config-field select:focus,.station-status-filter select:focus,.table-select:focus,.threshold-row input:focus,.alert-resolve-form input:focus,.table-inline-form input:focus,.location-link-field input:focus,.search-field:focus-within{border-color:#5fb08b;outline:none;box-shadow:var(--glow-green)}.theme-dark .config-field input:focus,.theme-dark .config-field select:focus,.theme-dark .station-status-filter select:focus,.theme-dark .table-select:focus,.theme-dark .threshold-row input:focus,.theme-dark .search-field:focus-within{border-color:#6cc495;box-shadow:0 0 0 3px #6cc49529}.config-field select,.station-status-filter select,.table-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding-right:30px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23589a77' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;background-size:12px;cursor:pointer}.report-checkbox input[type=checkbox],.login-options input[type=checkbox]{-webkit-appearance:none;-moz-appearance:none;appearance:none;position:relative;flex:0 0 auto;width:34px;height:19px;margin:0;background:#d9e3dc;border-radius:20px;cursor:pointer;transition:background .22s}.report-checkbox input[type=checkbox]:after,.login-options input[type=checkbox]:after{content:"";position:absolute;top:2px;left:2px;width:15px;height:15px;background:#fff;border-radius:50%;box-shadow:0 1px 3px #1e32284d;transition:transform .25s var(--ease-spring)}.report-checkbox input[type=checkbox]:checked,.login-options input[type=checkbox]:checked{background:#2a9469}.report-checkbox input[type=checkbox]:checked:after,.login-options input[type=checkbox]:checked:after{transform:translate(15px)}.report-checkbox input[type=checkbox]:focus-visible,.login-options input[type=checkbox]:focus-visible{box-shadow:var(--glow-green);outline:none}.login-options label{display:inline-flex;align-items:center;gap:8px;cursor:pointer}.report-checkbox{cursor:pointer}.theme-dark .report-checkbox input[type=checkbox]{background:#34463a}.theme-dark .report-checkbox input[type=checkbox]:checked{background:#3fa173}.page-transition{animation:page-in .38s var(--ease-out)}@keyframes page-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.report-card,.print-report,.admin-layout{animation:page-in .32s var(--ease-out)}.modal-backdrop{animation:backdrop-in .22s ease-out;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}@keyframes backdrop-in{0%{opacity:0}to{opacity:1}}.station-modal,.location-modal,.camera-wall-modal{animation:modal-in .32s var(--ease-out)}@keyframes modal-in{0%{opacity:0;transform:translateY(12px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}.alert-row{animation:page-in .3s var(--ease-out) both}.alerts-full-list .alert-row:nth-child(2){animation-delay:.03s}.alerts-full-list .alert-row:nth-child(3){animation-delay:.06s}.alerts-full-list .alert-row:nth-child(4){animation-delay:.09s}.alerts-full-list .alert-row:nth-child(n+5){animation-delay:.12s}.alerts-full-list .alert-row{transition:background .15s;border-radius:8px}.alerts-full-list .alert-row:hover{background:#258b680a}.skeleton{display:grid;gap:10px}.skeleton-row{display:grid;grid-template-columns:var(--skeleton-columns, 1fr);gap:10px}.skeleton-block{height:var(--skeleton-height, 14px);background:linear-gradient(90deg,#edf2ee,#f7faf8,#edf2ee 80%);background-size:300% 100%;border-radius:6px;animation:shimmer 1.4s ease-in-out infinite}@keyframes shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}.theme-dark .skeleton-block{background-image:linear-gradient(90deg,#22332a,#2b3f33,#22332a 80%)}.login-submit{background:linear-gradient(180deg,#2a9469,#1f7353)}.login-submit:hover:not(:disabled){box-shadow:0 12px 24px #237c5b47}.login-form-wrap{animation:page-in .5s var(--ease-out)}:root{--bevel-light: inset 0 1px 0 rgba(255, 255, 255, .95);--bevel-edge: inset 0 -2px 0 rgba(30, 70, 50, .06);--depth-1: 0 1px 1px rgba(30, 60, 45, .05), 0 2px 4px rgba(30, 60, 45, .05), 0 6px 14px rgba(30, 60, 45, .05);--depth-2: 0 2px 3px rgba(30, 60, 45, .06), 0 8px 18px rgba(30, 60, 45, .09), 0 18px 34px rgba(30, 60, 45, .08)}.card{box-shadow:var(--bevel-light),var(--depth-1)}.telemetry-metric,.alert-summary,.station-summary>div,.exceedance-summary-card,.print-report-stats>div{position:relative;background:linear-gradient(180deg,#fff,#f6faf7);border-color:#e3ece6;box-shadow:var(--bevel-light),var(--bevel-edge),var(--depth-1);transform:perspective(700px) rotateX(var(--tilt-x, 0deg)) rotateY(var(--tilt-y, 0deg));transform-style:preserve-3d;transition:transform .25s var(--ease-out),box-shadow .25s var(--ease-out),border-color .25s}.telemetry-metric:after,.alert-summary:after,.station-summary>div:after,.exceedance-summary-card:after,.print-report-stats>div:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;background:radial-gradient(240px circle at var(--shine-x, 50%) var(--shine-y, 0%),rgba(255,255,255,.55),transparent 55%);opacity:0;transition:opacity .25s;pointer-events:none}.telemetry-metric:hover,.alert-summary:hover,.station-summary>div:hover,.exceedance-summary-card:hover,.print-report-stats>div:hover{box-shadow:var(--bevel-light),var(--bevel-edge),var(--depth-2);transform:perspective(700px) rotateX(var(--tilt-x, 0deg)) rotateY(var(--tilt-y, 0deg)) translateY(-3px)}.is-tilting{transition:transform .08s linear,box-shadow .25s var(--ease-out),border-color .25s}.is-tilting:after{opacity:1}.telemetry-metric:active,.alert-summary:active,.station-summary>div:active{box-shadow:var(--bevel-light),var(--depth-1);transform:perspective(700px) rotateX(var(--tilt-x, 0deg)) rotateY(var(--tilt-y, 0deg)) translateY(0) scale(.985)}.telemetry-metric>strong{text-shadow:0 1px 0 #fff,0 2px 6px rgba(37,139,104,.12)}.telemetry-metric-exceeded{background:linear-gradient(180deg,#fff9f8,#fdeeeb);border-color:#f0c4bc}.alert-summary.urgent,.alert-summary.watch,.alert-summary.resolved{background:linear-gradient(180deg,#fff,#f7faf8)}.telemetry-station{box-shadow:inset 0 1px #ffffffb3,inset 0 0 0 1px #258b6808}.sidebar{box-shadow:1px 0 #fffc,6px 0 24px #1e3c2d0d}@media(min-width:651px){.sidebar{position:relative;z-index:2}}.nav-indicator{background:linear-gradient(180deg,#f2faf5,#e1f1e7);box-shadow:inset 0 1px #fffffff2,inset 0 -1px #258b681f,0 2px 4px #256e4b1a,0 6px 14px #256e4b1a}.nav-button:hover:not(.active){background:linear-gradient(180deg,#fbfdfc,#f2f8f4);box-shadow:inset 0 1px #fff,0 1px 3px #1e3c2d12}.workspace-switch,.system-card{box-shadow:inset 0 1px #fffffff2,inset 0 -2px #1e46320d,0 3px 10px #1e3c2d0f}.profile-avatar,.top-avatar,.workspace-avatar{box-shadow:inset 0 1px #fffc,inset 0 -2px #1e46321a,0 2px 5px #1e3c2d1f}.button-primary{box-shadow:inset 0 1px #ffffff40,inset 0 -2px #00000024,0 2px 4px #195f4133,0 6px 14px #195f4129}.button-secondary,.filter-button,.icon-button,.notification-button,.modal-close,.station-row-action{background-image:linear-gradient(180deg,#fff,#f4f8f5);box-shadow:inset 0 1px #fff,inset 0 -2px #1e46320d,0 1px 3px #1e3c2d14}.button-primary:active:not(:disabled),.button-secondary:active:not(:disabled),.icon-button:active,.notification-button:active,.station-row-action:active{box-shadow:inset 0 2px 4px #0000001f;transform:translateY(1px) scale(.98)}.segmented-control{box-shadow:inset 0 1px 3px #1e3c2d1a,inset 0 -1px #fffc}.segmented-control button.selected{background:linear-gradient(180deg,#fff,#f3f8f5);box-shadow:inset 0 1px #fff,0 1px 2px #1e3c2d1f,0 3px 8px #1e3c2d14}.config-field input,.config-field select,.station-status-filter select,.table-select,.threshold-row input,.search-field,.alert-resolve-form input{box-shadow:inset 0 1px 2px #1e3c2d0f}.report-checkbox input[type=checkbox],.login-options input[type=checkbox]{box-shadow:inset 0 1px 3px #1e3c2d2e}.report-checkbox input[type=checkbox]:after,.login-options input[type=checkbox]:after{background:linear-gradient(180deg,#fff,#eef3f0)}.theme-dark{--bevel-light: inset 0 1px 0 rgba(255, 255, 255, .06);--bevel-edge: inset 0 -2px 0 rgba(0, 0, 0, .22);--depth-1: 0 1px 2px rgba(0, 0, 0, .25), 0 4px 10px rgba(0, 0, 0, .18);--depth-2: 0 2px 4px rgba(0, 0, 0, .3), 0 10px 24px rgba(0, 0, 0, .3), 0 20px 40px rgba(0, 0, 0, .2)}.theme-dark .telemetry-metric,.theme-dark .alert-summary,.theme-dark .station-summary>div,.theme-dark .exceedance-summary-card,.theme-dark .print-report-stats>div,.theme-dark .alert-summary.urgent,.theme-dark .alert-summary.watch,.theme-dark .alert-summary.resolved{background:linear-gradient(180deg,#23352b,#1c2b23);border-color:#31463a}.theme-dark .telemetry-metric:after,.theme-dark .alert-summary:after,.theme-dark .station-summary>div:after,.theme-dark .exceedance-summary-card:after,.theme-dark .print-report-stats>div:after{background:radial-gradient(240px circle at var(--shine-x, 50%) var(--shine-y, 0%),rgba(168,221,188,.1),transparent 55%)}.theme-dark .alert-summary.urgent{border-left-color:#cf6c58}.theme-dark .alert-summary.watch{border-left-color:#d09a45}.theme-dark .alert-summary.resolved{border-left-color:#56a578}.theme-dark .telemetry-metric>strong{text-shadow:0 2px 8px rgba(0,0,0,.35)}.theme-dark .telemetry-metric-exceeded{background:linear-gradient(180deg,#3d2b28,#33241f);border-color:#5a3a35}.theme-dark .telemetry-station{box-shadow:inset 0 1px #ffffff0a}.theme-dark .sidebar{box-shadow:6px 0 24px #00000040}.theme-dark .nav-indicator{background:linear-gradient(180deg,#2d4a3a,#24392e);box-shadow:inset 0 1px #ffffff12,0 4px 12px #0000004d}.theme-dark .nav-button:hover:not(.active){background:linear-gradient(180deg,#24372c,#1f3027);box-shadow:inset 0 1px #ffffff0a}.theme-dark .workspace-switch,.theme-dark .system-card,.theme-dark .profile-avatar,.theme-dark .top-avatar,.theme-dark .workspace-avatar{box-shadow:inset 0 1px #ffffff0d,0 3px 10px #00000040}.theme-dark .button-secondary,.theme-dark .filter-button,.theme-dark .icon-button,.theme-dark .notification-button,.theme-dark .modal-close,.theme-dark .station-row-action{background-image:linear-gradient(180deg,#26392e,#1f3027);box-shadow:inset 0 1px #ffffff0d,0 1px 3px #0000004d}.theme-dark .segmented-control{box-shadow:inset 0 1px 3px #00000059}.theme-dark .segmented-control button.selected{background:linear-gradient(180deg,#355241,#2c4536);box-shadow:inset 0 1px #ffffff12,0 2px 6px #0000004d}.theme-dark .config-field input,.theme-dark .config-field select,.theme-dark .station-status-filter select,.theme-dark .table-select,.theme-dark .threshold-row input,.theme-dark .search-field{box-shadow:inset 0 1px 3px #0000004d}.theme-dark .report-checkbox input[type=checkbox]:after{background:linear-gradient(180deg,#f2f6f3,#d7e1db)}.alert-bell{position:relative}.notification-button.is-ringing{color:var(--red, #d23f2f);border-color:#d23f2f59}.notification-button.is-ringing>svg{transform-origin:50% 2px;animation:bell-ring 2.6s ease-in-out infinite}.notification-button.is-ringing:after{content:"";position:absolute;top:-1px;right:-1px;bottom:-1px;left:-1px;border-radius:inherit;animation:bell-halo 2.6s ease-out infinite;pointer-events:none}.notification-button.is-open{border-color:#9fd3b8;box-shadow:var(--glow-green)}.notification-button.is-muted{color:var(--muted, #6b7a72)}.notification-button.is-muted>i{background:var(--muted, #8a968f)}.alert-mute{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0;padding:8px 16px;color:var(--muted, #6b7a72);font-size:12px;border-bottom:1px solid var(--line)}.alert-mute>span{display:inline-flex;align-items:center;gap:6px}.alert-mute .plain-link{display:inline-flex;align-items:center;gap:5px;font-size:12px}.alert-mute .button-secondary{padding:4px 10px;font-size:12px}@keyframes bell-ring{0%,46%,to{transform:rotate(0)}4%{transform:rotate(16deg)}10%{transform:rotate(-14deg)}16%{transform:rotate(11deg)}22%{transform:rotate(-8deg)}28%{transform:rotate(5deg)}34%{transform:rotate(-3deg)}40%{transform:rotate(1deg)}}@keyframes bell-halo{0%{box-shadow:0 0 #d23f2f66}45%,to{box-shadow:0 0 0 9px #d23f2f00}}.alert-popover{position:fixed;z-index:45;top:var(--popover-top, 64px);right:var(--popover-right, 16px);width:min(400px,calc(100vw - 24px));max-height:min(72vh,620px);display:flex;flex-direction:column;overflow:hidden;color:var(--text);background:var(--surface);border:1px solid var(--line);border-radius:14px;box-shadow:0 24px 60px #142d2038,0 4px 14px #142d201a;transform-origin:top right;animation:popover-in .28s var(--ease-out)}.alert-popover:before{content:"";position:absolute;top:-6px;right:18px;width:12px;height:12px;background:var(--surface);border-top:1px solid var(--line);border-left:1px solid var(--line);transform:rotate(45deg)}.alert-popover.is-forced{border-color:#d23f2f73;box-shadow:0 0 0 3px #d23f2f1f,0 24px 60px #142d2042}@keyframes popover-in{0%{opacity:0;transform:translateY(-6px) scale(.96)}to{opacity:1;transform:none}}.alert-popover-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding:14px 16px 10px;border-bottom:1px solid var(--line)}.alert-popover.is-forced .alert-popover-head{background:linear-gradient(180deg,var(--red-soft, #fdebe8),transparent)}.alert-popover.is-forced .section-kicker{color:var(--red, #d23f2f)}.alert-popover-head h2{margin:4px 0 0;font-family:var(--app-font);font-size:16px;letter-spacing:-.02em}.alert-popover-list{flex:1;overflow-y:auto;display:grid;gap:8px;margin:0;padding:10px 12px;list-style:none}.alert-popover-item{display:grid;gap:5px;padding:11px 12px 11px 14px;background:var(--surface-soft);border:1px solid var(--line);border-left:4px solid #d98b12;border-radius:10px;animation:page-in .3s var(--ease-out) both}.alert-popover-item.level-high{border-left-color:var(--red, #d23f2f)}.alert-popover-item.level-low{border-left-color:#2fa771}.alert-popover-item.is-new{box-shadow:0 0 0 2px #d23f2f1a}.alert-popover-meta{display:flex;align-items:center;flex-wrap:wrap;gap:6px 8px;color:var(--muted);font-size:11px}.alert-popover-meta .alert-level{margin:0}.alert-popover-meta time{margin-left:auto}.alert-popover-item strong{font-size:13px}.alert-popover-item p{margin:0;color:var(--muted);font-size:12px;line-height:1.45;overflow-wrap:anywhere}.alert-popover-item small{color:#2f8a57;font-size:11px}.alert-popover-item .button-secondary{justify-self:end;min-height:30px;font-size:11px}.alert-popover-empty{display:flex;align-items:center;gap:8px;margin:0;padding:18px 16px;color:#2f8a57;font-size:12px}.alert-popover-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 16px;border-top:1px solid var(--line);background:var(--surface-soft)}.alert-popover-foot .plain-link{padding:0;background:none;border:0;cursor:pointer;font-size:12px}.theme-dark .alert-popover{box-shadow:0 24px 60px #0000008c}.theme-dark .alert-popover-item small,.theme-dark .alert-popover-empty{color:#6fd3a3}@media(max-width:650px){.alert-popover{position:fixed;top:calc(62px + env(safe-area-inset-top,0px));right:12px;left:12px;width:auto}.alert-popover:before{right:64px}}.ripple{opacity:.1;animation-duration:.45s}.button-primary .ripple,.login-submit .ripple{opacity:.18}.button-primary:active:not(:disabled),.button-secondary:active:not(:disabled),.filter-button:active,.icon-button:active,.notification-button:active,.modal-close:active,.login-submit:active,.station-row-action:active,.nav-button:active,.segmented-control button:active,.report-metric-chips button:active{transform:translateY(.5px) scale(.99)}.telemetry-metric:active,.alert-summary:active,.station-summary>div:active{transform:perspective(700px) rotateX(var(--tilt-x, 0deg)) rotateY(var(--tilt-y, 0deg)) translateY(-1px) scale(.995)}.segmented-control button.selected{animation:none}.report-tabs{display:flex;width:100%;gap:4px;padding:5px;margin-bottom:14px;background:linear-gradient(180deg,#eef5f0,#e6efe9);border:1px solid #dfe9e2;border-radius:11px;box-shadow:inset 0 1px 3px #1e3c2d14,inset 0 -1px #fffc}.report-tabs button{flex:1 1 auto;padding:10px 16px;font-size:13px;border-radius:8px}.report-tabs button.selected{color:#1f6e4c}.theme-dark .report-tabs{background:linear-gradient(180deg,#1a2a21,#16241c);border-color:#2c4035;box-shadow:inset 0 1px 3px #00000059}.theme-dark .report-tabs button.selected{color:#b6e6c8}.side-nav{padding:6px;background:linear-gradient(180deg,#f4f9f6,#edf5f0);border:1px solid #e2ece5;border-radius:12px;box-shadow:inset 0 1px 3px #1e3c2d12,inset 0 -1px #ffffffe6}.nav-indicator{top:6px;left:6px;width:calc(100% - 12px);background:linear-gradient(180deg,#fff,#f1f8f4)}.nav-button:hover:not(.active){background:#ffffff8c;box-shadow:none}.theme-dark .side-nav{background:linear-gradient(180deg,#1a2a21,#16241c);border-color:#2c4035;box-shadow:inset 0 1px 3px #00000059}.theme-dark .nav-indicator{background:linear-gradient(180deg,#2f4c3c,#263d31)}.theme-dark .nav-button:hover:not(.active){background:#ffffff0a}@media(max-width:900px){.side-nav{padding:4px}.nav-indicator{top:4px;left:4px;width:calc(100% - 8px)}}@media(max-width:650px){.side-nav{padding:6px}.nav-indicator{top:6px;left:6px;width:calc(100% - 12px)}.report-tabs{overflow-x:auto}.report-tabs button{flex:0 0 auto}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media print{.main-area{background:none}.topbar{position:static}.report-card .table-scroll{max-height:none;overflow:visible}.report-card,.print-report,.page-transition{animation:none}}:root{--page: #f3f6f4;--surface-soft: #f6f9f7;--text: #16261f;--text-2: #4b5e54;--muted: #63746b;--line: #e1e9e4;--green: #1f8a5c;--green-dark: #176b47;--green-soft: #e4f5ec;--amber: #b86e00;--amber-soft: #fff1dc;--red: #d23f2f;--red-soft: #fdebe8;--forest: #11352a;--forest-deep: #0d2a21;--forest-pill: #1b4a3a;--forest-glow: #4fd19a;--forest-text: #a9c8ba;--forest-muted: #7fa392}.app,.app-loading{background:var(--page)}@media(min-width:651px){.sidebar{position:sticky;top:0;align-self:flex-start;height:100vh;min-height:0;overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;scrollbar-color:transparent transparent}.sidebar:hover{scrollbar-color:rgba(255,255,255,.14) transparent}}@media print{.sidebar{position:static;height:auto}}.sidebar{color:var(--forest-text);background:linear-gradient(180deg,#14392e 0%,var(--forest) 45%,var(--forest-deep) 100%);border-right-color:#0a241c;box-shadow:6px 0 26px #0a281e29}.sidebar .brand strong{color:#fff}.sidebar .brand span{color:var(--forest-muted)}.sidebar .brand{padding-left:4px}.sidebar .brand span{margin-top:4px;font-size:10px;letter-spacing:.1em}.sidebar .brand-mark{background:linear-gradient(150deg,#5fdca5,#2fa874 48%,#1a7a51);box-shadow:0 6px 16px #00000047,inset 0 1px #ffffff59}.sidebar .workspace-switch{background:#ffffff0f;border-color:#ffffff1a;box-shadow:inset 0 1px #ffffff0f,0 4px 12px #0000002e}.sidebar .workspace-switch:hover{background:#ffffff17}.sidebar .workspace-switch strong,.sidebar .profile strong{color:#fff}.sidebar .workspace-switch span,.sidebar .profile span,.sidebar .workspace-switch>svg{color:var(--forest-muted)}.sidebar .workspace-avatar,.sidebar .profile-avatar{color:#a8f0cc;background:#4fd19a29;box-shadow:inset 0 1px #ffffff1f,0 2px 6px #00000040}.sidebar .nav-label{color:#6f9a87;letter-spacing:.06em}.sidebar .side-nav{background:#0000002e;border-color:#ffffff0f;box-shadow:inset 0 2px 6px #00000038,inset 0 -1px #ffffff0a}.sidebar .nav-button{color:var(--forest-text)}.sidebar .nav-button>svg{color:#86ad9b}.sidebar .nav-button:hover:not(.active){color:#fff;background:#ffffff0f;box-shadow:none}.sidebar .nav-button:hover:not(.active)>svg{color:#c4e6d6}.sidebar .nav-button.active{color:#fff;background:transparent}.sidebar .nav-button.active>svg{color:var(--forest-glow)}.sidebar .nav-button b{color:#fff;background:var(--red);box-shadow:0 0 0 2px #d23f2f40}.sidebar .nav-indicator{background:linear-gradient(180deg,#235b45 0%,var(--forest-pill) 100%);box-shadow:inset 0 1px #ffffff1f,inset 0 -1px #00000040,0 4px 12px #00000047}.sidebar .nav-indicator:before{background:var(--forest-glow);box-shadow:0 0 8px #4fd19ab3}.sidebar .system-card{background:#ffffff0d;border-color:#ffffff14;box-shadow:inset 0 1px #ffffff0d,0 4px 12px #0000002e}.sidebar .system-card-top{color:#8fb3a3}.sidebar .system-card>strong{color:#fff}.sidebar .system-card small{color:var(--forest-muted)}.sidebar .system-meter{background:#ffffff1f}.sidebar .system-meter i{background:linear-gradient(90deg,#2fa771,var(--forest-glow));box-shadow:0 0 8px #4fd19a80}.sidebar .theme-switch{background:#ffffff2e}.sidebar .theme-switch.on{background:var(--forest-glow)}.sidebar .profile{border-top-color:#ffffff1a}.sidebar .profile-link{color:#7fe0b4}.sidebar .profile>button{color:var(--forest-muted);border-radius:7px;transition:color .15s,background .15s}.sidebar .profile>button:hover{color:#fff;background:#ffffff14}.button-primary,.login-submit{background:linear-gradient(180deg,#27a06c,#1c7d52);border-color:#1c7d52}.button-primary:hover:not(:disabled){box-shadow:inset 0 1px #ffffff40,inset 0 -2px #00000024,0 8px 18px #1f8a5c4d}.plain-link{color:#1f7a52}.brand-mark{background:linear-gradient(150deg,#5fdca5,#2fa874 48%,#1a7a51)}.status-badge{color:#1d8a55;background:var(--green-soft)}.status-badge.warning{color:var(--amber);background:var(--amber-soft)}.metric-status.normal,.alert-level.low,.alert-handling.handling-resolved{color:#1d8a55;background:var(--green-soft)}.metric-status.calibrating,.alert-level{color:var(--amber);background:var(--amber-soft)}.metric-status.error,.alert-level.high,.alert-handling.handling-new{color:var(--red);background:var(--red-soft)}.alert-indicator{color:var(--amber);background:var(--amber-soft)}.alert-high .alert-indicator{color:var(--red);background:var(--red-soft)}.alert-low .alert-indicator{color:#1d8a55;background:var(--green-soft)}.alert-summary.urgent{border-left-color:var(--red)}.alert-summary.urgent strong{color:var(--red)}.alert-summary.watch{border-left-color:#d98b12}.alert-summary.watch strong{color:var(--amber)}.alert-summary.resolved{border-left-color:#2fa771}.alert-summary.resolved strong{color:#1d8a55}.notification-button i{background:var(--red)}.telemetry-metric-exceeded{border-color:#f2b8ae}.telemetry-metric-exceeded>strong{color:#c7362a}.report-table td.report-cell-exceeded,.report-legend .report-cell-exceeded{color:#c7362a;background:var(--red-soft)}.report-table td.report-cell-calibrating,.report-legend .report-cell-calibrating{color:var(--amber);background:var(--amber-soft)}.line-chart-threshold{stroke:var(--red)}.line-chart-threshold-label{color:#c7362a}.line-chart-dot.exceeded{border-color:var(--red)}.history-chart-line{stroke:var(--green)}.line-chart-dot{border-color:var(--green)}.line-chart-dot.active{background:var(--green);box-shadow:0 0 0 2px var(--green)}.exceedance-summary-card.exceeded>strong,.station-form-error,.station-error{color:#c7362a}.telemetry-warning{color:#9a5c00}.theme-dark{--page: #0f1915;--surface: #17241e;--surface-soft: #1b2a23;--text: #eaf2ed;--text-2: #b9c9bf;--muted: #8fa197;--line: #26362e;--red: #ff7b6b;--red-soft: #43201b;--amber: #ffb648;--amber-soft: #3d2d14;--green-soft: #173a2a}.theme-dark .sidebar{background:linear-gradient(180deg,#0d2a20,#0b231b,#081a14);border-right-color:#06140f;box-shadow:6px 0 26px #0006}.theme-dark .sidebar .workspace-switch,.theme-dark .sidebar .system-card{background:#ffffff0a;border-color:#ffffff12}.theme-dark .sidebar .side-nav{background:#00000047;border-color:#ffffff0d}.theme-dark .sidebar .nav-button:hover:not(.active){background:#ffffff0d}.theme-dark .sidebar .nav-button.active{color:#fff;background:transparent}.theme-dark .sidebar .nav-indicator{background:linear-gradient(180deg,#1c4a39,#16392d)}.theme-dark .topbar{background:#0f1915c2}.theme-dark .telemetry-station-heading>span:not(.status-badge):not(.reading-time){color:#b6e6c8;background:#244a39}.alerts-card{align-self:start}.theme-dark .status-badge{color:#6fd3a3;background:var(--green-soft)}.theme-dark .status-badge.warning,.theme-dark .metric-status.calibrating,.theme-dark .alert-level{color:var(--amber);background:var(--amber-soft)}.theme-dark .metric-status.normal,.theme-dark .alert-level.low,.theme-dark .alert-handling.handling-resolved{color:#6fd3a3;background:var(--green-soft)}.theme-dark .metric-status.error,.theme-dark .alert-level.high,.theme-dark .alert-handling.handling-new{color:var(--red);background:var(--red-soft)}.theme-dark .alert-summary.urgent strong,.theme-dark .exceedance-summary-card.exceeded>strong,.theme-dark .telemetry-metric-exceeded>strong{color:var(--red)}.theme-dark .alert-summary.watch strong{color:var(--amber)}.theme-dark .alert-summary.resolved strong{color:#6fd3a3}.theme-dark .report-table td.report-cell-exceeded,.theme-dark .report-legend .report-cell-exceeded{color:var(--red);background:var(--red-soft)}.theme-dark .history-chart-line{stroke:#4fc48d}.theme-dark .plain-link{color:#7fe0b4}.theme-dark .telemetry-warning{color:#f2c06b}:root{--chart-area: #2fa771}.theme-dark{--chart-area: #4fc48d}.history-chart-line{stroke-width:2.6;filter:drop-shadow(0 3px 4px rgba(31,138,92,.22))}.line-chart-area{animation:chart-area-in .6s ease-out}@keyframes chart-area-in{0%{opacity:0}to{opacity:1}}.metric-sparkline-line{fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.metric-sparkline-area{fill:var(--chart-area);fill-opacity:.12;stroke:none}.line-chart-dot{width:7px;height:7px;border-width:2px}.status-badge.bad{color:var(--red);background:var(--red-soft)}.text-bad{color:var(--red)!important}.theme-dark .status-badge.bad{color:var(--red);background:var(--red-soft)}.reading-tile.tone-warn{border-color:#f0d394;background:linear-gradient(180deg,#fff,#fffaf0 48%,#ffeec6);animation:near-limit-glow 2.4s ease-in-out infinite}.reading-tile.tone-warn .reading-value strong{color:#a86400}.reading-tile.tone-warn footer span:first-child{color:#a86400;font-weight:700}.reading-tile footer .reading-limit{margin-left:auto}@keyframes near-limit-glow{0%,to{box-shadow:var(--bevel-light),var(--depth-1),inset 0 -18px 22px -16px #f0a81e40}50%{box-shadow:var(--bevel-light),var(--depth-1),inset 0 -34px 34px -18px #f0a81e73,0 0 0 3px #f0a81e24}}.theme-dark .reading-tile.tone-warn{border-color:#6b5326;background:linear-gradient(180deg,#23352b,#2c2f22 55%,#3d3218)}.theme-dark .reading-tile.tone-warn .reading-value strong,.theme-dark .reading-tile.tone-warn footer span:first-child{color:#ffc35c}.reading-tile .reading-bar.is-range{height:7px;overflow:visible;background:linear-gradient(90deg,#f2cf86 0,#f2cf86 10%,#2fa771 10%,#2fa771 90%,#f2cf86 90%,#f2cf86);box-shadow:inset 0 1px 2px #1e3c2d2e}.reading-tile .reading-bar.is-range i{top:50%;bottom:auto;width:14px;height:14px;background:radial-gradient(circle at 35% 30%,#2b6b52,#0d2a21 70%);border:2px solid #ffffff;border-radius:50%;box-shadow:0 2px 6px #0a281e73,0 0 0 3px #11352a1f;transform:translateY(-50%)}.reading-tile.tone-warn .reading-bar.is-range i{background:radial-gradient(circle at 35% 30%,#ffc35c,#c77700 70%);box-shadow:0 2px 6px #965a0073,0 0 0 3px #f0a81e33}.reading-tile.tone-bad .reading-bar.is-range i{background:radial-gradient(circle at 35% 30%,#ff8f80,#c7362a 70%);box-shadow:0 2px 6px #961e1473,0 0 0 3px #d23f2f33}.theme-dark .reading-tile .reading-bar.is-range{background:linear-gradient(90deg,#8a6a2c 0,#8a6a2c 10%,#2c8a5e 10%,#2c8a5e 90%,#8a6a2c 90%,#8a6a2c)}.theme-dark .reading-tile .reading-bar.is-range i{background:radial-gradient(circle at 35% 30%,#fff,#cfe9db 70%);border-color:#0f1915}.kpi-tile{justify-items:center;padding-right:16px;padding-left:16px;text-align:center}.kpi-tile>strong{justify-content:center}.kpi-tile>small{max-width:100%}.kpi-tile>strong .status-badge{position:relative;gap:8px;padding:8px 15px 8px 12px;overflow:hidden;font-weight:800;letter-spacing:.01em;border-radius:999px}.kpi-tile>strong .status-badge:after{content:"";position:absolute;top:1px;right:1px;bottom:50%;left:1px;background:linear-gradient(180deg,#ffffff8c,#fff0);border-radius:999px 999px 40% 40%;pointer-events:none}.kpi-tile>strong .status-badge.good{color:#0f6b42;background:linear-gradient(180deg,#d9f5e6,#b3e6cb);border:1px solid #8fd3ae;box-shadow:inset 0 -2px #0f6b421f,0 3px 10px #1f8a5c38;text-shadow:0 1px 0 rgba(255,255,255,.8),0 0 10px rgba(47,167,113,.35)}.kpi-tile>strong .status-badge.bad{color:#a8261a;background:linear-gradient(180deg,#ffe6e2,#fbc6be);border:1px solid #f2a59a;box-shadow:inset 0 -2px #a8261a1f,0 3px 10px #d23f2f38;text-shadow:0 1px 0 rgba(255,255,255,.8),0 0 10px rgba(210,63,47,.3)}.kpi-tile>strong .status-badge i{position:relative;width:8px;height:8px;box-shadow:0 0 6px currentColor}.kpi-tile>strong .status-badge.good i{animation:status-live 1.8s ease-out infinite}.kpi-tile>strong .status-badge.bad i{animation:status-live-bad 2.6s ease-out infinite}@keyframes status-live{0%{box-shadow:0 0 #2fa77199,0 0 6px #2fa771cc}70%{box-shadow:0 0 0 7px #2fa77100,0 0 6px #2fa771cc}to{box-shadow:0 0 #2fa77100,0 0 6px #2fa771cc}}@keyframes status-live-bad{0%{box-shadow:0 0 #d23f2f8c}70%{box-shadow:0 0 0 7px #d23f2f00}to{box-shadow:0 0 #d23f2f00}}.theme-dark .kpi-tile>strong .status-badge:after{background:linear-gradient(180deg,#ffffff24,#fff0)}.theme-dark .kpi-tile>strong .status-badge.good{color:#b8f5d4;background:linear-gradient(180deg,#2a6b4c,#1b4d36);border-color:#3f8a64;text-shadow:0 0 10px rgba(111,211,163,.55)}.theme-dark .kpi-tile>strong .status-badge.bad{color:#ffd0c9;background:linear-gradient(180deg,#6b2b24,#4d1f1a);border-color:#8a3a30;text-shadow:0 0 10px rgba(255,123,107,.5)}.kpi-tile>strong .status-badge,.kpi-tile>strong .status-badge.good,.kpi-tile>strong .status-badge.bad{padding:2px 0;background:none;border:0;box-shadow:none;font-family:var(--app-font);font-size:18px;font-weight:800;letter-spacing:-.01em}.kpi-tile>strong .status-badge:after{display:none}.kpi-tile>strong .status-badge.good{color:#1f8a5c;text-shadow:0 1px 0 #ffffff,0 2px 10px rgba(47,167,113,.45)}.kpi-tile>strong .status-badge.bad{color:#d23f2f;text-shadow:0 1px 0 #ffffff,0 2px 10px rgba(210,63,47,.4)}.kpi-tile>strong .status-badge i{width:9px;height:9px}.theme-dark .kpi-tile>strong .status-badge.good{color:#6fd3a3;background:none;text-shadow:0 0 12px rgba(111,211,163,.55)}.theme-dark .kpi-tile>strong .status-badge.bad{color:#ff7b6b;background:none;text-shadow:0 0 12px rgba(255,123,107,.5)}.kpi-tile>strong{min-height:28px;font-size:18px}.kpi-tile>strong .status-badge,.kpi-tile>strong .status-badge.good,.kpi-tile>strong .status-badge.bad{font-size:14px}.kpi-tile>strong .status-badge i{width:7px;height:7px}.kpi-tile>strong .status-badge{gap:10px;animation:none}.kpi-tile>strong .status-badge i,.kpi-tile>strong .status-badge.good i,.kpi-tile>strong .status-badge.bad i{flex:0 0 auto;box-shadow:none;animation:status-dot-blink 1.4s ease-in-out infinite}.kpi-tile>strong .status-badge.bad i{animation-duration:2s}@keyframes status-dot-blink{0%,to{opacity:1;box-shadow:0 0 0 2px color-mix(in srgb,currentColor 22%,transparent),0 0 6px currentColor}50%{opacity:.2;box-shadow:0 0 0 0 transparent}}.tv-metric{position:relative;overflow:hidden}.tv-metric>header{display:flex;align-items:center;justify-content:space-between;gap:10px}.tv-metric>header>span:first-child{color:#b6cfc0;font-size:1.1em;font-weight:600}.tv-metric>header .metric-status{padding:4px 10px;font-size:.7em}.tv-metric .metric-status.normal{color:#8ff0bf;background:#4fd19a29}.tv-metric .metric-status.error{color:#ffb0a6;background:#ff7b6b2e}.tv-metric .metric-status.calibrating{color:#ffd38a;background:#ffb6482e}.tv-metric .reading-bar{height:8px;background:#ffffff1f;box-shadow:none}.tv-metric .reading-bar.is-range{height:8px;background:linear-gradient(90deg,#8a6a2c 0,#8a6a2c 10%,#2c8a5e 10%,#2c8a5e 90%,#8a6a2c 90%,#8a6a2c)}.tv-metric .reading-bar i{background:#4fd19a}.tv-metric .reading-bar.is-range i{width:16px;height:16px;background:radial-gradient(circle at 35% 30%,#fff,#cfe9db 70%);border-color:#0e1a15}.tv-metric.tone-warn{background:linear-gradient(180deg,#ffffff0f 30%,#ffb64838);border-color:#ffc45c8c;animation:tv-near 2.4s ease-in-out infinite}.tv-metric.tone-warn>strong{color:#ffd38a}.tv-metric.tone-warn .reading-bar i{background:#ffb648}.tv-metric.tone-bad{background:#d0503f38;border-color:#ff8c7899;animation:exceeded-breathe 2.2s ease-in-out infinite}.tv-metric.tone-bad>strong{color:#ffb9ad}.tv-metric.tone-bad .reading-bar i{background:#ff7b6b}.tv-metric.tone-invalid{opacity:.75;border-style:dashed}@keyframes tv-near{0%,to{box-shadow:0 0 #ffb64800}50%{box-shadow:0 0 0 4px #ffb6482e}}.tv-connection .status-badge{padding:0;background:none;font-family:var(--app-font);font-size:1.1em;font-weight:800}.tv-connection .status-badge.good{color:#6fd3a3;text-shadow:0 0 14px rgba(111,211,163,.55)}.tv-connection .status-badge.bad{color:#ff7b6b;text-shadow:0 0 14px rgba(255,123,107,.5)}.tv-connection .status-badge i{width:10px;height:10px;animation:status-dot-blink 1.4s ease-in-out infinite}.tv-mode{gap:1.4vh;padding:1.6vh 1.6vw;overflow:hidden}.tv-bar{display:flex;align-items:center;gap:1.4vw;min-height:0;padding:.6vh 0 1.2vh;border-bottom:1px solid rgba(255,255,255,.08)}.tv-bar .brand-mark{width:34px;height:34px;flex-basis:34px;border-radius:10px}.tv-bar-station{display:grid;flex:1;min-width:0;gap:2px}.tv-bar-station h1{margin:0;overflow:hidden;font-family:var(--app-font);font-size:1.6em;font-weight:800;letter-spacing:-.01em;line-height:1.15;text-overflow:ellipsis;white-space:nowrap}.tv-bar-station span{overflow:hidden;color:#9fbcac;font-size:.78em;text-overflow:ellipsis;white-space:nowrap}.tv-bar .tv-connection{display:inline-flex;align-items:center;gap:8px;font-size:.9em}.tv-bar-alert{width:10px;height:10px;background:#ff7b6b;border-radius:50%;animation:status-dot-blink 2.2s ease-in-out infinite}.tv-bar .tv-clock{display:grid;text-align:right;line-height:1.1}.tv-bar .tv-clock strong{font-size:1.5em;font-variant-numeric:tabular-nums}.tv-bar .tv-clock span{font-size:.72em}.tv-bar .tv-controls{gap:6px}.tv-bar .tv-controls button{display:inline-flex;align-items:center;gap:6px;padding:7px 11px;font-size:.75em}.tv-bar .tv-controls button[aria-label="Trạm trước"] svg{transform:rotate(180deg)}.tv-pages{display:inline-flex;align-items:center;gap:8px}.tv-pages button{width:10px;height:10px;padding:0;background:#ffffff40;border:0;border-radius:50%;cursor:pointer;transition:background .2s,transform .2s}.tv-pages button.active{background:#a8e0bf;transform:scale(1.25)}.tv-metrics{flex:1;display:grid;grid-template-columns:repeat(var(--tv-columns, 4),minmax(0,1fr));grid-template-rows:repeat(var(--tv-rows, 2),minmax(0,1fr));gap:1.6vh 1.2vw;min-height:0;animation:tv-page-in .45s var(--ease-out, ease)}.tv-metrics .tv-metric{position:relative;display:flex;flex-direction:column;gap:1.2vh;min-height:0;overflow:hidden;padding:2.6vh 1.6vw 2.2vh;background:linear-gradient(180deg,#ffffff13,#ffffff08);border:1px solid rgba(255,255,255,.09);border-radius:18px;box-shadow:inset 0 1px #ffffff0f;animation:none}.tv-metrics .tv-metric:before{content:"";position:absolute;top:0;right:0;left:0;height:4px;background:#ffffff24}.tv-metrics .tv-metric.tone-good:before{background:#3fbf86}.tv-metrics .tv-metric.tone-warn:before{background:#f0a92e}.tv-metrics .tv-metric.tone-bad:before{background:#ff6b5b}.tv-metrics .tv-metric.tone-warn{background:linear-gradient(180deg,#f0a92e1f,#ffffff08);border-color:#f0a92e4d;animation:none}.tv-metrics .tv-metric.tone-bad{background:linear-gradient(180deg,#ff6b5b33,#ff6b5b0f);border-color:#ff6b5b73;animation:exceeded-breathe 2.6s ease-in-out infinite}.tv-metrics .tv-metric.tone-invalid{opacity:.8;border-style:dashed}.tv-metric>header{display:flex;align-items:center;justify-content:space-between;gap:12px}.tv-metrics .tv-metric>header>.tv-metric-name{overflow:hidden;color:#fff;font-size:clamp(24px,6.6cqi,48px);font-weight:800;letter-spacing:.01em;line-height:1.15;text-shadow:0 2px 10px rgba(0,0,0,.55),0 0 1px rgba(255,255,255,.6);text-overflow:ellipsis;white-space:nowrap}.tv-metric-badge{flex:0 0 auto;padding:.35em .85em;color:#bfe9d2;background:#3fbf8629;border-radius:999px;font-size:clamp(13px,2.8cqi,20px);font-weight:700}.tv-metric-badge.tone-warn{color:#ffd38a;background:#f0a92e2e}.tv-metric-badge.tone-bad{color:#ffc2b9;background:#ff6b5b3d}.tv-metric-badge.tone-invalid{color:#ffd38a;background:#f0a92e24}.tv-metrics .value-fit .tv-metric-value{display:flex;align-items:baseline;flex-wrap:wrap;gap:.25em;min-width:0;margin:1vh 0 0;color:#fff;font-family:var(--app-font);font-weight:800;letter-spacing:-.02em;line-height:1;font-variant-numeric:tabular-nums;font-size:clamp(32px,calc((100cqi - 40px - var(--unit-chars, 0) * 12px) / (var(--value-chars, 4) * .64)),min(150px,calc(19vh / var(--tv-rows, 2))))}.tv-metric-reading{position:relative;display:flex;flex-direction:column;align-items:center;gap:.4vh;min-width:0;margin:.6vh 0 0;text-align:center}.tv-metrics .value-fit .tv-metric-reading .tv-metric-value{justify-content:center;margin:0}.tv-metric-unit{color:#9fbcac;font-size:calc(clamp(16px,4.2cqi,30px) * var(--tv-label-scale, 1));font-weight:600;line-height:1.1}.tv-metric-reading .metric-trend{position:absolute;right:0;bottom:0;padding:.15em .5em;background:#ffffff12;color:#9fbcac;font-size:calc(clamp(12px,2.6cqi,19px) * var(--tv-label-scale, 1));font-weight:600}.tv-metric-reading .metric-trend.is-toward-limit{background:#f0b95624;color:#f0b956}.tv-metric .metric-sparkline{flex:1 1 0;width:100%;height:auto;min-height:28px;max-height:60%;margin:0}.tv-metric .metric-sparkline-axis{stroke:#ffffff14}.tv-metric .metric-sparkline-line{stroke:#6fd3a3;stroke-width:2.4}.tv-metric .metric-sparkline-area{fill:#4fd19a;fill-opacity:.1}.tv-metric .metric-sparkline-point{display:none}.tv-metric.tone-warn .metric-sparkline-line{stroke:#f0b956}.tv-metric.tone-warn .metric-sparkline-area{fill:#f0a92e}.tv-metric.tone-bad .metric-sparkline-line{stroke:#ff8b7d}.tv-metric.tone-bad .metric-sparkline-area{fill:#ff6b5b}.tv-metric.tone-bad .tv-metric-value{color:#ffb9ad}.tv-metric.tone-warn .tv-metric-value{color:#ffe2ab}.tv-metric.tone-invalid .tv-metric-value{color:#a9c3b4}.tv-metric>footer{display:grid;gap:.9vh;margin-top:auto}.tv-metrics .tv-metric .reading-bar{height:7px;margin:0;background:#ffffff1a;border-radius:999px}.tv-metric-caption{display:flex;justify-content:space-between;gap:12px;color:#8fae9c;font-size:clamp(13px,3cqi,21px);font-weight:500}.tv-metric-caption span:last-child{color:#b6cfc0;font-weight:600}.tv-footer{padding-top:.4vh}.tv-footer button{padding:5px 12px;font-size:.72em}@keyframes tv-page-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.tv-link-fresh{display:grid;gap:10px;margin-top:14px;padding:14px 16px;background:var(--green-soft);border:1px solid color-mix(in srgb,var(--green) 35%,transparent);border-radius:12px}.tv-link-fresh strong{font-size:14px}.tv-link-fresh p{margin:0;color:var(--text-2);font-size:12px}.tv-link-copy{display:flex;gap:8px}.tv-link-copy input{flex:1;min-width:0;height:38px;padding:0 10px;color:var(--text);background:var(--surface);border:1px solid var(--line);border-radius:8px;font-family:ui-monospace,Consolas,monospace;font-size:12px}.report-table td>strong+small{display:block;color:var(--muted);font-size:11px}.tv-kiosk-message{align-items:center;justify-content:center;gap:18px;text-align:center}.tv-kiosk-message p{max-width:640px;margin:0;font-size:1.3em}.tv-kiosk-message small{color:#9fbcac;font-size:.9em}.tv-kiosk-offline{position:fixed;z-index:80;bottom:14px;left:50%;padding:8px 16px;color:#3d2400;background:#ffcf7a;border-radius:999px;box-shadow:0 8px 24px #00000059;font-size:13px;font-weight:700;transform:translate(-50%)}.tv-settings-backdrop{position:fixed;z-index:70;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;background:#040c098c;animation:tv-page-in .2s var(--ease-out, ease)}.tv-settings{width:min(520px,92vw);max-height:86vh;overflow-y:auto;padding:20px 22px;color:#e9f3ed;background:#142a21;border:1px solid rgba(255,255,255,.12);border-radius:16px;box-shadow:0 30px 80px #00000080;font-size:14px}.tv-settings>header{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.tv-settings h2{margin:0;font-size:16px}.tv-settings>header button{padding:7px 16px;color:#10241b;background:#a8e0bf;border:0;border-radius:8px;cursor:pointer;font-weight:700}.tv-settings-group{display:grid;gap:10px;margin-bottom:18px}.tv-settings-group>span{color:#9fbcac;font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.tv-tile-options{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.tv-tile-options button{display:grid;gap:2px;padding:10px 6px;color:#d8eadf;background:#ffffff0f;border:1px solid rgba(255,255,255,.12);border-radius:10px;cursor:pointer;font-size:13px;font-weight:700}.tv-tile-options button small{color:#8fae9c;font-size:11px;font-weight:500}.tv-tile-options button.active{color:#10241b;background:#a8e0bf;border-color:#a8e0bf}.tv-tile-options button.active small{color:#2c5a44}.tv-metric-picker{display:grid;gap:4px;margin:0;padding:0;list-style:none}.tv-metric-picker li{display:flex;align-items:center;gap:4px;padding:4px 6px 4px 10px;background:#ffffff0d;border-radius:8px;transition:opacity .2s}.tv-metric-picker li.is-hidden{opacity:.5}.tv-metric-picker label{display:flex;flex:1;align-items:center;gap:10px;min-width:0;cursor:pointer;font-size:13px}.tv-metric-picker input{width:17px;height:17px;accent-color:#4fd19a}.tv-metric-picker small{color:#8fae9c;font-size:11px}.tv-metric-picker button{display:grid;width:30px;height:30px;place-items:center;padding:0;color:#d8eadf;background:none;border:0;border-radius:6px;cursor:pointer}.tv-metric-picker button:hover:not(:disabled){background:#ffffff1a}.tv-metric-picker button:disabled{opacity:.25;cursor:default}.tv-metric-picker li button:first-of-type svg{transform:rotate(180deg)}.tv-settings-reset{justify-self:start;padding:0;color:#a8e0bf;background:none;border:0;cursor:pointer;font-size:12px;text-decoration:underline}.tv-settings-note{margin:0;color:#8fae9c;font-size:11px}@media(max-width:900px){.tv-mode{overflow:auto}.tv-bar{flex-wrap:wrap}.tv-metrics{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));grid-template-rows:none;align-content:start}.tv-metric{grid-column:auto!important;grid-row:auto!important}.tv-metrics .value-fit .tv-metric-value{font-size:clamp(28px,calc((100cqi - 40px - var(--unit-chars, 0) * 12px) / (var(--value-chars, 4) * .64)),60px)}}@media(prefers-reduced-motion:reduce){.tv-metrics,.tv-settings-backdrop,.tv-bar-alert{animation:none}}.report-table td{height:auto;padding-top:9px;padding-bottom:9px}.report-table td small{line-height:1.3}.org-add-form{margin-bottom:14px}.org-tree{display:grid;gap:12px}.org-enterprise{padding:14px 16px;background:var(--surface-soft);border:1px solid var(--line);border-radius:12px}.org-enterprise>header,.org-factory>header{display:flex;align-items:center;justify-content:space-between;gap:12px}.org-enterprise h3{margin:2px 0 0;font-size:16px;font-weight:700}.org-factory{margin-top:10px;padding:10px 14px;background:var(--surface);border:1px solid var(--line);border-left:3px solid var(--green);border-radius:10px}.org-factory h4{margin:2px 0 0;font-size:13px;font-weight:700}.org-level{color:var(--muted);font-size:11px;font-weight:700;letter-spacing:.06em}.org-stations{display:grid;gap:6px;margin:10px 0 0;padding:0;list-style:none}.org-station{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:7px 10px;background:var(--surface-soft);border-radius:8px}.org-station>span{display:grid;min-width:0}.org-station strong{font-size:12px}.org-station small{color:var(--muted);font-size:11px}.org-station select{max-width:280px}.org-empty{margin:8px 0 0;color:var(--muted);font-size:12px}.org-unassigned{border-style:dashed}.org-scope{color:var(--muted);font-size:12px}.access-mode{display:flex;flex-wrap:wrap;gap:8px 22px;margin-bottom:12px;font-size:13px;font-weight:600}.access-mode label{display:inline-flex;align-items:center;gap:7px;cursor:pointer}.access-tree{display:grid;gap:10px;max-height:52vh;overflow-y:auto;padding:2px}.access-group{padding:10px 12px;border:1px solid var(--line);border-radius:10px}.access-factory{margin:6px 0 0 22px}.access-row{display:flex;align-items:center;gap:9px;padding:5px 4px;border-radius:6px;cursor:pointer;font-size:12px}.access-row:hover{background:var(--surface-soft)}.access-row>span{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 8px}.access-row small{color:var(--muted);font-size:11px}.access-enterprise{font-size:13px;font-weight:700}.access-factory>.access-row:first-child{font-weight:600}.access-station{margin-left:22px}.access-row.is-inherited{cursor:default;opacity:.75}.access-row input{width:16px;height:16px;accent-color:var(--green)}.station-group-row th{padding:12px 10px 6px;color:var(--text-2);background:var(--surface-soft);font-size:11px;font-weight:700;letter-spacing:.04em;text-align:left}.station-switch-group{margin:6px 0 2px;color:var(--muted);font-size:11px;font-weight:700;letter-spacing:.04em}.station-switch-group:first-child{margin-top:0}.sidebar-copyright{margin:10px 0 0;color:var(--forest-muted);font-size:11px;letter-spacing:.02em;text-align:center;opacity:.8}@media(max-width:900px){.sidebar-copyright{display:none}}.overview-view-toggle{align-self:center}.overview-view-toggle button{display:inline-flex;align-items:center;gap:6px;padding:7px 11px;font-size:12px}.overview-view-toggle button.selected{color:var(--green-dark)}.theme-dark .overview-view-toggle button.selected{color:var(--forest-glow)}.group-stations{display:grid;gap:10px}.group-station{display:grid;gap:12px;border-left:3px solid var(--green)}.group-station.is-offline{border-left-color:var(--red)}.group-station-head{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px 16px}.group-station-title{min-width:0}.group-station-title h2{margin:0;font-family:var(--app-font);font-size:16px;font-weight:700;line-height:1.25}.group-station-title .station-hero-meta{margin-top:4px}.group-station-actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.group-station-actions .status-badge,.group-station-actions .alert-level{display:inline-flex;align-items:center;align-self:center;min-height:34px;margin:0;padding:0 10px;border-radius:8px;font-size:12px;line-height:1}.group-station-actions .button-secondary{min-height:34px;padding:0 12px;font-size:12px}.group-station .reading-value strong{font-size:20px}@media(max-width:650px){.group-station-actions,.overview-view-toggle{width:100%}.overview-view-toggle button{flex:1;justify-content:center}}.value-fit{min-width:0;container-type:inline-size}.value-fit .reading-value{flex-wrap:wrap;row-gap:0;min-width:0}.value-fit .reading-value strong{min-width:0;overflow-wrap:anywhere;font-size:clamp(16px,calc((100cqi - 30px - var(--unit-chars, 0) * 7px) / (var(--value-chars, 4) * .64)),30px)}.group-station .value-fit .reading-value strong{font-size:clamp(16px,calc((100cqi - 30px - var(--unit-chars, 0) * 7px) / (var(--value-chars, 4) * .64)),26px)}.value-fit.telemetry-metric:not(.reading-tile)>strong{flex-wrap:wrap;min-width:0;overflow-wrap:anywhere;font-size:clamp(16px,calc((100cqi - 34px - var(--unit-chars, 0) * 7.5px) / (var(--value-chars, 4) * .64)),26px)}.value-fit.tv-metric>strong{flex-wrap:wrap;min-width:0;overflow-wrap:anywhere;font-size:clamp(1.4em,calc((100cqi - 2.5em - var(--unit-chars, 0) * .6em) / (var(--value-chars, 4) * .64)),3.4em)}.reading-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px}.reading-tile{padding:14px 15px}.group-station .reading-grid{grid-template-columns:repeat(auto-fill,minmax(185px,1fr))}.telemetry-grid{grid-template-columns:repeat(auto-fill,minmax(190px,1fr))}.breadcrumb-scope{color:var(--muted)}.site-tree{display:grid;gap:2px;margin:22px 0 18px;max-height:40vh;overflow-y:auto;overflow-x:hidden;padding-right:2px;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.14) transparent}.tree-catalog{display:flex;align-items:center;gap:10px;width:100%;padding:9px 10px;color:var(--forest-text);text-align:left;background:#ffffff0f;border:1px solid rgba(255,255,255,.1);border-radius:10px;box-shadow:inset 0 1px #ffffff0f,0 4px 12px #0000002e;cursor:pointer;transition:background .18s,border-color .18s}.tree-catalog:hover{background:#ffffff17}.tree-catalog.is-open{border-color:color-mix(in srgb,var(--forest-glow) 35%,transparent)}.tree-catalog-icon{display:grid;flex:0 0 32px;height:32px;place-items:center;color:var(--forest-glow);background:color-mix(in srgb,var(--forest-glow) 14%,transparent);border-radius:9px}.tree-catalog-text{display:grid;flex:1;min-width:0;gap:2px}.tree-catalog-text strong{color:#fff;font-size:13px;font-weight:700}.tree-catalog-text small{overflow:hidden;color:var(--forest-muted);font-size:11px;text-overflow:ellipsis;white-space:nowrap}.tree-catalog>svg{flex:0 0 auto;color:var(--forest-muted);transition:transform .25s var(--ease-out, ease)}.tree-catalog.is-open>svg{transform:rotate(90deg)}.tree-catalog-body>div{display:grid;gap:2px;min-height:0;overflow:hidden;padding-top:6px}.tree-catalog-body:not(.is-open)>div{visibility:hidden;transition:visibility 0s .28s}.site-tree ul{margin:0;padding:0;list-style:none}.tree-row{position:relative;display:flex;align-items:center;gap:8px;width:100%;min-height:34px;padding:0 8px;color:var(--forest-text);background:none;border:0;border-radius:8px;cursor:pointer;font-size:12px;font-weight:600;text-align:left;transition:background .18s,color .18s}.tree-row:hover{color:#fff;background:#ffffff0f}.tree-row>svg,.tree-label>svg{flex:0 0 auto;color:var(--forest-muted);transition:color .18s}.tree-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tree-row b,.tree-label b{flex:0 0 auto;min-width:22px;padding:1px 7px;color:var(--forest-muted);background:#ffffff12;border-radius:999px;font-size:11px;font-weight:700;text-align:center;transition:color .18s,background .18s}.tree-group{padding:0 8px 0 2px;gap:0}.tree-toggle{display:grid;flex:0 0 22px;width:22px;height:26px;place-items:center;padding:0;color:var(--forest-muted);background:none;border:0;border-radius:6px;cursor:pointer}.tree-toggle:hover{color:#fff;background:#ffffff14}.tree-toggle svg{transition:transform .25s var(--ease-out, ease)}.tree-toggle.is-open svg{transform:rotate(90deg)}.tree-label{display:flex;flex:1;align-items:center;gap:8px;min-width:0;min-height:34px;padding:0 0 0 4px;color:inherit;background:none;border:0;cursor:pointer;font:inherit;text-align:left}.tree-children{display:grid;grid-template-rows:0fr;transition:grid-template-rows .28s var(--ease-out, ease)}.tree-children.is-open{grid-template-rows:1fr}.tree-children>ul{min-height:0;overflow:hidden;margin-left:13px;padding-left:8px;border-left:1px solid rgba(255,255,255,.09)}.tree-children:not(.is-open)>ul{visibility:hidden;transition:visibility 0s .28s}.tree-station{min-height:32px;font-weight:500}.tree-dot{flex:0 0 auto;width:7px;height:7px;border-radius:50%}.tree-dot.is-online{background:#4fd19a;box-shadow:0 0 0 3px #4fd19a29;animation:tree-live 2.4s ease-in-out infinite}.tree-dot.is-offline{background:#ff7b6b;box-shadow:0 0 0 3px #ff7b6b29}@keyframes tree-live{50%{box-shadow:0 0 0 5px #4fd19a00}}.tree-alert{flex:0 0 auto;width:8px;height:8px;background:var(--red);border-radius:50%;box-shadow:0 0 8px #ff7b6bcc;animation:status-dot-blink 1.4s ease-in-out infinite}.tree-row.is-scope{color:#fff}.tree-root.is-scope{background:#ffffff0f}.site-tree li+li{margin-top:2px}.tree-children>ul{padding-top:2px;padding-bottom:2px}.tree-row.is-scope>svg,.tree-row.is-scope .tree-label>svg{color:var(--forest-glow)}.tree-row.is-scope b{color:var(--forest-deep);background:var(--forest-glow)}.tree-station:before{content:"";position:absolute;top:9px;bottom:9px;left:-8px;width:2px;background:var(--forest-glow);border-radius:2px;opacity:0;transform:scaleY(.4);transition:opacity .25s ease,transform .25s ease}.tree-station.is-active{color:#fff;background:color-mix(in srgb,var(--forest-glow) 10%,transparent)}.tree-station.is-active:hover{background:color-mix(in srgb,var(--forest-glow) 14%,transparent)}.tree-station.is-active:before{opacity:1;transform:none}.tree-station.is-active .tree-name{font-weight:600}.site-tree+.nav-label{margin-top:0}.tree-search{display:flex;align-items:center;gap:7px;margin-bottom:4px;padding:0 6px 0 10px;color:var(--forest-muted);background:#0003;border:1px solid rgba(255,255,255,.08);border-radius:9px;transition:border-color .18s,box-shadow .18s}.tree-search:focus-within{color:var(--forest-glow);border-color:color-mix(in srgb,var(--forest-glow) 45%,transparent);box-shadow:0 0 0 3px color-mix(in srgb,var(--forest-glow) 14%,transparent)}.tree-search input{flex:1;min-width:0;height:34px;padding:0;color:#fff;background:none;border:0;outline:none;font:inherit;font-size:12px}.tree-search input::placeholder{color:var(--forest-muted)}.tree-search input::-webkit-search-cancel-button{display:none}.tree-search button{display:grid;width:22px;height:22px;place-items:center;padding:0;color:var(--forest-muted);background:none;border:0;border-radius:6px;cursor:pointer}.tree-search button:hover{color:#fff;background:#ffffff14}.tree-search button svg{transform:rotate(45deg)}.tree-search-result{margin:2px 8px 4px;color:var(--forest-muted);font-size:11px}.tree-row b.has-problem,.tree-label b.has-problem,.tree-row.is-scope b.has-problem{color:#fff;background:var(--red);box-shadow:0 0 8px #ff7b6b73}.tree-catalog-icon{position:relative}.tree-catalog-badge,.catalog-rail-button>i{position:absolute;top:-6px;right:-7px;min-width:18px;height:18px;padding:0 5px;color:#fff;background:var(--red);border:2px solid var(--forest);border-radius:999px;font-size:10px;font-style:normal;font-weight:800;line-height:14px;text-align:center;animation:tree-badge 2s ease-in-out infinite}@keyframes tree-badge{50%{box-shadow:0 0 0 4px #ff7b6b40}}.tree-catalog-text small.has-problem{color:#ff9d90;font-weight:600}.catalog-rail-button,.catalog-scrim{display:none}@media(max-width:900px)and (min-width:651px){.site-tree{display:none}.catalog-rail-button{position:relative;display:grid;width:44px;height:44px;margin-top:22px;place-items:center;color:var(--forest-glow);background:color-mix(in srgb,var(--forest-glow) 14%,transparent);border:1px solid rgba(255,255,255,.1);border-radius:12px;cursor:pointer;transition:background .18s}.catalog-rail-button:hover,.catalog-rail-button.is-open{background:color-mix(in srgb,var(--forest-glow) 24%,transparent)}.catalog-rail-button+.catalog-scrim+.site-tree+.nav-label,.catalog-rail-button+.site-tree+.nav-label{margin-top:0}.sidebar.catalog-flyout-open{z-index:45}.catalog-scrim{display:block;position:fixed;z-index:44;top:0;right:0;bottom:0;left:0;background:#050f0a40;border:0;cursor:default}.site-tree.is-flyout{display:grid;position:fixed;z-index:46;top:16px;left:78px;width:300px;max-height:calc(100vh - 32px);margin:0;padding:12px;background:linear-gradient(180deg,var(--forest) 0%,var(--forest-deep) 100%);border:1px solid rgba(255,255,255,.1);border-radius:14px;box-shadow:0 24px 60px #00000073;animation:tree-flyout .22s var(--ease-out, ease)}.site-tree.is-flyout .tree-catalog{cursor:default}}@keyframes tree-flyout{0%{opacity:0;transform:translate(-8px)}to{opacity:1;transform:none}}.site-tree{scrollbar-color:transparent transparent}.site-tree:hover{scrollbar-color:rgba(255,255,255,.14) transparent}@media(prefers-reduced-motion:reduce){.tree-children,.tree-toggle svg,.tree-station:before,.tree-dot.is-online{transition:none;animation:none}}.tab-bar{position:relative;display:flex;gap:4px;margin-bottom:12px;padding:5px;overflow-x:auto;background:var(--surface);border:1px solid var(--line);border-radius:14px;box-shadow:0 1px 2px #1e3c2d0d,0 4px 14px #1e3c2d0a;scrollbar-width:none}.tab-bar::-webkit-scrollbar{display:none}.tab-bar-item{position:relative;z-index:1;flex:1 1 0;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;padding:0 14px;color:var(--muted);background:none;border:0;border-radius:10px;cursor:pointer;font-size:13px;font-weight:600;white-space:nowrap;transition:color .25s,background .2s}.tab-bar-item svg{flex:0 0 auto;opacity:.75;transition:transform .35s var(--ease-spring),opacity .2s}.tab-bar-item:hover:not(.is-selected){color:var(--text-2);background:var(--surface-soft)}.tab-bar-item:hover svg{opacity:1;transform:translateY(-2px) scale(1.1)}.tab-bar-item.is-selected{color:var(--green-dark)}.tab-bar-item.is-selected svg{opacity:1;color:var(--green)}.tab-bar-item:focus-visible{outline:2px solid var(--green);outline-offset:-2px}.tab-bar-indicator{position:absolute;z-index:0;top:5px;bottom:5px;left:0;background:linear-gradient(180deg,#effaf4,#e0f3e8);border-radius:10px;box-shadow:inset 0 0 0 1px #1f8a5c29,0 2px 8px #1f8a5c1f;transition:transform .42s var(--ease-out),width .42s var(--ease-out)}.tab-bar-indicator:after{content:"";position:absolute;right:30%;bottom:3px;left:30%;height:3px;background:var(--green);border-radius:3px}.tab-panel{animation:page-in .32s var(--ease-out)}.tab-bar-compact{width:fit-content;max-width:100%;gap:2px;padding:4px;border-radius:12px}.tab-bar-compact .tab-bar-item{flex:0 0 auto;gap:6px;min-height:34px;padding:0 12px;border-radius:9px;font-size:12px}.tab-bar-compact .tab-bar-item svg{width:15px;height:15px}.tab-bar-compact .tab-bar-indicator{top:4px;bottom:4px;border-radius:9px}.tab-bar-compact .tab-bar-indicator:after{bottom:2px;height:2px}.tab-bar-item.group-start{margin-left:11px}.tab-bar-item.group-start:before{content:"";position:absolute;top:50%;left:-7px;width:1px;height:18px;background:var(--line);transform:translateY(-50%)}.theme-dark .tab-bar{box-shadow:0 4px 14px #0003}.theme-dark .tab-bar-item.is-selected{color:#b6e6c8}.theme-dark .tab-bar-indicator{background:linear-gradient(180deg,#2c4a3a,#233c2f);box-shadow:inset 0 0 0 1px #6fd3a333,0 2px 8px #0000004d}.theme-dark .tab-bar-indicator:after{background:#6fd3a3}@media(max-width:1100px){.tab-bar-item{flex:0 0 auto}}@media(prefers-reduced-motion:reduce){.tab-bar-indicator,.tab-panel,.tab-bar-item svg{transition:none;animation:none}}@media print{.tab-bar{display:none!important}.tab-panel{animation:none}}.station-id-change{color:var(--amber);font-size:11px;font-weight:600;line-height:1.4}.plain-link.danger-link{color:var(--red)}.plain-link.danger-link:disabled{opacity:.6;cursor:wait}.topbar-actions{gap:14px}.last-sync{height:32px;padding:0 12px;color:var(--text-2);background:var(--green-soft);border:1px solid #cfe9db;border-radius:999px;font-variant-numeric:tabular-nums}.last-sync.sync-offline{color:#a8261a;background:var(--red-soft);border-color:#f5c9c2}.sync-divider{background:#bfdccb}.topbar-tools{display:flex;align-items:center;gap:6px;padding-left:14px;border-left:1px solid var(--line)}.topbar-tools .icon-button,.topbar-tools .notification-button{width:34px;height:34px;border-radius:9px}.topbar-tools .top-avatar{width:34px;height:34px;margin-left:4px;border-radius:50%}.user-menu{position:relative;margin-left:4px}.user-menu-trigger{display:flex;align-items:center;gap:9px;height:40px;padding:0 10px 0 3px;color:var(--muted);background:none;border:1px solid transparent;border-radius:999px;cursor:pointer;transition:background .15s,border-color .15s}.user-menu-trigger:hover,.user-menu-trigger.is-open{background:var(--surface);border-color:var(--line)}.user-menu-trigger .top-avatar{margin:0}.user-menu-name{display:grid;text-align:left;line-height:1.2}.user-menu-name strong{max-width:140px;overflow:hidden;color:var(--text);font-size:12px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.user-menu-name small{color:var(--muted);font-size:11px}.user-menu-popover{position:absolute;z-index:40;top:calc(100% + 8px);right:0;width:250px;overflow:hidden;color:var(--text);background:var(--surface);border:1px solid var(--line);border-radius:12px;box-shadow:0 20px 50px #142d2033,0 4px 12px #142d2014;transform-origin:top right;animation:popover-in .2s var(--ease-out)}.user-menu-head{display:flex;align-items:center;gap:10px;padding:14px;background:var(--surface-soft);border-bottom:1px solid var(--line)}.user-menu-head .top-avatar{width:38px;height:38px;border-radius:50%}.user-menu-head div{display:grid;min-width:0;gap:2px}.user-menu-head strong{overflow:hidden;font-size:13px;text-overflow:ellipsis;white-space:nowrap}.user-menu-head small{color:var(--muted);font-size:11px}.user-menu-list{display:grid;padding:6px}.user-menu-list button{display:flex;align-items:center;gap:10px;width:100%;padding:9px 10px;color:var(--text);background:none;border:0;border-radius:8px;cursor:pointer;font-size:12px;font-weight:600;text-align:left}.user-menu-list button svg{color:var(--muted)}.user-menu-list button:hover{background:var(--surface-soft)}.user-menu-foot{border-top:1px solid var(--line)}.user-menu-list button.is-danger,.user-menu-list button.is-danger svg{color:var(--red)}.user-menu-list button.is-danger:hover{background:var(--red-soft)}.theme-dark .user-menu-popover{box-shadow:0 20px 50px #00000080}.theme-dark .user-menu-list button.is-danger:hover{background:#ff7b6b1f}.theme-dark .last-sync{color:#a9d9bf;background:#4fd19a1a;border-color:#4fd19a40}.theme-dark .last-sync.sync-offline{color:#ffb0a6;background:#ff7b6b1f;border-color:#ff7b6b4d}.theme-dark .sync-divider{background:#4fd19a4d}@media(min-width:901px){.page-content{padding:10px 14px}}@media(min-width:1500px){.page-content{padding-top:12px}}.overview-layout{gap:10px;margin-bottom:10px}.overview-main,.overview-aside{gap:10px}@media(min-width:1151px){.overview-aside{top:74px}}.station-panel{margin-bottom:10px;overflow:hidden;border-radius:12px}.station-hero{align-items:center;margin:0;padding:12px 18px;background:linear-gradient(180deg,var(--surface-soft),var(--surface));border-bottom:1px solid var(--line)}.station-panel .overview-kpis{gap:0;margin:0}.station-panel .kpi-tile{justify-items:start;gap:3px;padding:10px 18px;text-align:left}.station-panel .kpi-tile+.kpi-tile{border-left:1px solid var(--line)}.station-panel .kpi-tile:before{display:none}.station-panel .kpi-tile>span{display:inline-flex;align-items:center;gap:7px}.station-panel .kpi-tile>span:before{content:"";width:7px;height:7px;flex:0 0 auto;background:#b5c2ba;border-radius:50%}.station-panel .kpi-tile.tone-good>span:before{background:#2fa771}.station-panel .kpi-tile.tone-warn>span:before{background:#e09a1b}.station-panel .kpi-tile.tone-bad>span:before{background:var(--red)}.station-panel .kpi-tile>strong{justify-content:flex-start}.station-hero .page-eyebrow{margin-bottom:4px;font-size:11px;letter-spacing:.06em}.station-hero h1{line-height:1.15}.station-hero-meta{display:flex;flex-wrap:wrap;gap:6px 14px;margin-top:6px;color:var(--muted);font-size:12px}.station-hero-meta span{display:inline-flex;align-items:center;gap:6px}.station-hero-meta svg{color:var(--green)}.station-hero-meta .station-hero-tag{padding:2px 9px;color:var(--green-dark);background:var(--green-soft);border-radius:999px;font-size:11px;font-weight:700;letter-spacing:.02em}.theme-dark .station-hero-meta .station-hero-tag{color:#8ff0bf;background:#4fd19a24}.station-hero .page-heading-actions{gap:10px}.station-hero .button-primary,.station-hero .button-secondary{min-height:38px;padding:0 14px}.button-group{display:inline-flex}.button-group>.button-secondary{border-radius:0}.button-group>.button-secondary+.button-secondary{margin-left:-1px}.button-group>.button-secondary:first-child{border-radius:8px 0 0 8px}.button-group>.button-secondary:last-child{border-radius:0 8px 8px 0}.button-group>.button-secondary:only-child{border-radius:8px}.station-hero .button-primary{border-radius:8px}@media(max-width:1150px){.station-panel .kpi-tile:nth-child(3){border-left:0}.station-panel .kpi-tile:nth-child(n+3){border-top:1px solid var(--line)}}@media(max-width:650px){.topbar-tools{gap:4px;padding-left:9px}.user-menu-name,.user-menu-trigger>svg{display:none}.user-menu-trigger{padding:0 3px}.last-sync{width:32px;padding:0;justify-content:center}.station-hero{flex-direction:column;align-items:stretch;padding:14px 16px}.station-panel .kpi-tile{padding:12px 16px}.station-hero .page-heading-actions{flex-direction:row;flex-wrap:wrap}.station-hero .page-heading-actions>*{flex:1 1 auto}.button-group>.button-secondary{flex:1}}.pulse-dot{animation:none;box-shadow:0 0 0 3px #5bc99b24}.sync-offline .pulse-dot{animation:pulse-ring-amber 2.8s var(--ease-out) infinite}.tree-dot.is-online{animation:none;box-shadow:none}.tree-alert{box-shadow:0 0 4px #ff7b6b99;animation-duration:2.2s}.tree-catalog-badge,.catalog-rail-button>i{animation-duration:3s}.tree-row b.has-problem,.tree-label b.has-problem,.tree-row.is-scope b.has-problem{box-shadow:none}.kpi-tile>strong .status-badge.good i,.tv-connection .status-badge.good i{animation:none;opacity:1;box-shadow:0 0 0 2px color-mix(in srgb,currentColor 18%,transparent)}.kpi-tile>strong .status-badge.bad i,.tv-connection .status-badge.bad i{animation-duration:2.2s}.kpi-tile>strong .status-badge.good{text-shadow:none}.kpi-tile>strong .status-badge.bad{text-shadow:0 1px 6px rgba(210,63,47,.2)}.theme-dark .kpi-tile>strong .status-badge.good,.tv-connection .status-badge.good{text-shadow:none}.theme-dark .kpi-tile>strong .status-badge.bad,.tv-connection .status-badge.bad{text-shadow:0 0 6px rgba(255,123,107,.25)}.sidebar .nav-indicator:before{box-shadow:0 0 4px color-mix(in srgb,var(--forest-glow) 40%,transparent)}.reading-tile.tone-warn,.tv-metric.tone-warn{animation-duration:3.2s}@media(prefers-reduced-motion:reduce){.sync-offline .pulse-dot,.tree-alert,.tree-catalog-badge,.catalog-rail-button>i,.kpi-tile>strong .status-badge i,.tv-connection .status-badge i,.reading-tile.tone-warn,.tv-metric.tone-warn{animation:none}}.metric-trend{display:inline-flex;align-items:center;gap:2px;margin-left:auto;align-self:center;padding:1px 6px;border-radius:999px;background:color-mix(in srgb,var(--muted) 10%,transparent);color:var(--muted);font-size:11px;font-weight:600;letter-spacing:0;line-height:1.5;white-space:nowrap;font-variant-numeric:tabular-nums}.metric-trend i{font-style:normal;font-weight:700}.metric-trend.is-toward-limit{background:#b86e001a;color:#a86400}.theme-dark .metric-trend.is-toward-limit{background:#ffc35c1f;color:#ffc35c}.button-secondary.is-maintenance{color:#8a5400;border-color:#b86e0059;background:#b86e0014}.maintenance-banner{display:flex;align-items:center;gap:10px;margin:12px 0 0;padding:9px 12px;border:1px solid rgba(184,110,0,.25);border-radius:8px;background:#b86e0012;color:#6f4500;font-size:13px}.maintenance-banner>svg{flex:0 0 auto;color:#b86e00}.maintenance-banner>span{flex:1 1 auto;min-width:0}.maintenance-banner .plain-link{flex:0 0 auto}.maintenance-tag{color:#8a5400;font-weight:600}.maintenance-tag svg{color:#b86e00}.tree-dot.is-maintenance{background:#f0b956;box-shadow:0 0 0 3px #f0b9562e}.tree-maintenance{display:inline-flex;flex:0 0 auto;margin-left:auto;color:#f0b956}.tv-maintenance{display:inline-flex;align-items:center;gap:6px;margin-right:10px;padding:3px 10px;border-radius:999px;background:#f0b95624;color:#f0b956;font-size:13px;font-weight:600}.report-row-maintenance>td{background:#b86e000f}.report-legend .report-row-maintenance{display:inline-flex;align-items:center;gap:4px;background:#b86e001a;color:#8a5400}.report-maintenance-tag{display:inline-flex;align-items:center;gap:3px;margin-left:6px;color:#8a5400;font-size:11px;font-weight:600}.maintenance-modal{width:min(100%,620px)}.maintenance-form{display:grid;gap:12px}.maintenance-field{display:grid;gap:6px}.maintenance-field>span{color:var(--muted);font-size:12px;font-weight:600}.maintenance-field .segmented-control{justify-self:start;flex-wrap:wrap}.maintenance-field .segmented-control button{font-size:12px;padding:6px 11px}.maintenance-form .modal-footer{margin-top:6px}.maintenance-form .button-primary svg{margin-right:2px;vertical-align:-2px}.maintenance-active{display:flex;align-items:center;gap:12px;padding:12px 14px;border:1px solid rgba(184,110,0,.3);border-radius:10px;background:#b86e0014}.maintenance-active>svg{flex:0 0 auto;color:#b86e00}.maintenance-active>div{display:grid;flex:1 1 auto;gap:2px;min-width:0}.maintenance-active strong{color:#6f4500;font-size:13px}.maintenance-active small{color:var(--muted);font-size:12px}.maintenance-log{margin-top:18px;padding-top:14px;border-top:1px solid var(--line, #edf1ee)}.maintenance-log h3{margin:0 0 8px;color:var(--text);font-size:13px}.maintenance-log ul{display:grid;gap:2px;max-height:260px;margin:0;padding:0;overflow-y:auto;list-style:none}.maintenance-log li{display:flex;align-items:center;gap:10px;padding:8px 6px;border-radius:6px}.maintenance-log li+li{border-top:1px solid var(--line, #edf1ee)}.maintenance-log li.is-running{background:#b86e000f}.maintenance-log li>div{display:grid;flex:1 1 auto;gap:1px;min-width:0}.maintenance-log li strong{color:var(--text);font-size:12px;font-weight:600;font-variant-numeric:tabular-nums}.maintenance-log li small{color:var(--muted);font-size:12px}.maintenance-log li em{flex:0 0 auto;color:#b86e00;font-size:11px;font-style:normal;font-weight:600}.maintenance-kind{flex:0 0 auto;min-width:74px;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:600;text-align:center}.maintenance-kind.kind-maintenance{background:#b86e001a;color:#8a5400}.maintenance-kind.kind-calibration{background:#1f8a5c1a;color:#1f7a52}.theme-dark .button-secondary.is-maintenance{color:#ffc35c;border-color:#ffc35c59;background:#ffc35c14}.theme-dark .maintenance-banner,.theme-dark .maintenance-active{border-color:#ffc35c47;background:#ffc35c14;color:#ffd98f}.theme-dark .maintenance-banner>svg,.theme-dark .maintenance-active>svg,.theme-dark .maintenance-tag,.theme-dark .maintenance-tag svg,.theme-dark .maintenance-log li em{color:#ffc35c}.theme-dark .maintenance-active strong{color:#ffd98f}.theme-dark .report-row-maintenance>td{background:#ffc35c0f}.theme-dark .report-legend .report-row-maintenance,.theme-dark .report-maintenance-tag,.theme-dark .maintenance-kind.kind-maintenance{color:#ffc35c}.theme-dark .maintenance-kind.kind-maintenance{background:#ffc35c1f}.theme-dark .maintenance-kind.kind-calibration{background:#4fd19a1f;color:#6fd3a3}@media print{.report-row-maintenance>td{background:#fff4df!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}}.backfill-summary{display:grid;justify-items:start;gap:3px}.backfill-summary>small{color:var(--muted);font-size:11px}.report-search svg{vertical-align:-2px}.report-search.is-pending{box-shadow:0 0 0 3px color-mix(in srgb,var(--forest-glow, #4fd19a) 35%,transparent)}.report-search-hint{margin:10px 0 0;color:var(--muted);font-size:12px}.report-search-hint strong{color:var(--text)}.archive-load{display:flex;align-items:center;gap:12px;margin-top:12px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;color:var(--text-2);font-size:12px}.archive-load>svg{flex:none;color:var(--green)}.archive-load>div{display:grid;gap:4px;flex:1;min-width:0}.archive-load strong{color:var(--text);font-size:12px}.archive-load .ftp-progress-bar{width:min(320px,100%)}.archive-load>button{flex:none}.archive-load.is-running{border-color:color-mix(in srgb,var(--green) 40%,var(--line));background:color-mix(in srgb,var(--green) 6%,transparent)}.archive-load.is-error{border-color:color-mix(in srgb,var(--amber) 45%,var(--line));background:var(--amber-soft)}.archive-load.is-error>svg{color:var(--amber)}.archive-load.is-done{padding:6px 12px;color:var(--muted)}.archive-strip{position:relative;display:flex;align-items:center;gap:10px;margin-top:8px;padding:4px 0 2px;cursor:help;outline:none;transition:opacity .3s}.archive-strip-bar{position:relative;flex:1;height:3px;overflow:hidden;background:color-mix(in srgb,var(--line) 70%,transparent);border-radius:999px;transition:height .15s}.archive-strip-bar i{position:absolute;inset:0 auto 0 0;width:0;overflow:hidden;background:linear-gradient(90deg,color-mix(in srgb,var(--green) 55%,#fff),var(--green));border-radius:inherit;transition:width .35s ease-out}.archive-strip.is-checking .archive-strip-bar i,.archive-strip-bar i.is-indeterminate{width:30%;animation:archive-sweep 1.1s ease-in-out infinite}.archive-strip.is-running .archive-strip-bar i:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.65),transparent);transform:translate(-100%);animation:archive-shine 1.4s ease-in-out infinite}.archive-strip.is-done .archive-strip-bar i{width:100%;animation:archive-fill .9s cubic-bezier(.25,.8,.35,1)}.archive-strip.is-done{animation:archive-settle .5s ease-out 1.2s both}.archive-strip.is-done:hover,.archive-strip.is-done:focus-within{animation:none;opacity:1}.archive-strip:hover .archive-strip-bar,.archive-strip:focus-visible .archive-strip-bar{height:5px}.archive-strip:focus-visible .archive-strip-bar{box-shadow:var(--glow-green)}.archive-strip-percent{flex:none;min-width:34px;color:var(--green);font-size:11px;font-weight:750;text-align:right;font-variant-numeric:tabular-nums}@keyframes archive-sweep{0%{left:-30%}to{left:100%}}@keyframes archive-shine{to{transform:translate(100%)}}@keyframes archive-fill{0%{width:0}to{width:100%}}@keyframes archive-settle{0%{opacity:1}to{opacity:.4}}.archive-strip-tip{position:absolute;z-index:20;top:100%;left:0;display:grid;gap:4px;width:min(560px,100%);padding:10px 12px;color:var(--text-2);background:var(--surface);border:1px solid var(--line);border-radius:10px;box-shadow:0 10px 28px #0a1e1424;font-size:12px;line-height:1.45;opacity:0;visibility:hidden;transform:translateY(-3px);transition:opacity .12s,transform .12s,visibility .12s}.archive-strip:hover .archive-strip-tip,.archive-strip:focus-within .archive-strip-tip{opacity:1;visibility:visible;transform:none}.archive-strip-tip strong{display:flex;align-items:center;gap:6px;color:var(--text);font-size:12px}.archive-strip-tip strong svg{color:var(--green)}.archive-strip-tip .button-secondary{justify-self:start;min-height:28px;margin-top:4px;padding:0 10px;font-size:12px}@media(prefers-reduced-motion:reduce){.archive-strip.is-checking .archive-strip-bar i,.archive-strip-bar i.is-indeterminate{left:0;width:100%;opacity:.5;animation:none}.archive-strip .archive-strip-bar i,.archive-strip .archive-strip-bar i:after{animation:none}}@media(max-width:640px){.archive-load{flex-wrap:wrap}}.telemetry-heading.telemetry-bar{position:relative;display:flex;flex-direction:row;align-items:center;justify-content:flex-start;gap:12px;margin:0 0 10px;padding:10px 14px 10px 16px;overflow:hidden;border:1px solid var(--line);border-radius:10px;background:linear-gradient(90deg,var(--green-soft),#fff 55%);box-shadow:0 1px 2px #11352a0d}.telemetry-bar:before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:var(--green)}.telemetry-heading>.telemetry-bar-icon{display:grid;flex:none;place-items:center;width:34px;height:34px;border-radius:10px;color:#fff;background:linear-gradient(145deg,var(--forest-glow, #4fd19a),var(--green));box-shadow:0 3px 10px #1f8a5c4d}.telemetry-heading.telemetry-bar h2{flex:1;min-width:0;margin:0;font-size:16px}.telemetry-heading.telemetry-bar>.telemetry-bar-count{flex:none;gap:7px;padding:4px 11px;border:1px solid color-mix(in srgb,var(--green) 25%,var(--line));border-radius:999px;color:var(--green-dark);background:#fff;font-size:12px;font-weight:600;font-variant-numeric:tabular-nums}.telemetry-bar-count i{width:7px;height:7px;border-radius:50%;background:var(--green);box-shadow:0 0 0 3px color-mix(in srgb,var(--green) 20%,transparent);animation:telemetry-live 2s ease-in-out infinite}@keyframes telemetry-live{50%{box-shadow:0 0 0 5px color-mix(in srgb,var(--green) 6%,transparent)}}@media(prefers-reduced-motion:reduce){.telemetry-bar-count i{animation:none}}.theme-dark .telemetry-heading.telemetry-bar{background:linear-gradient(90deg,#22402f,#1c2c24 55%)}.theme-dark .telemetry-heading.telemetry-bar>.telemetry-bar-count{color:#9fdcbc;background:#1c2c24}@media(max-width:640px){.telemetry-heading.telemetry-bar{flex-direction:row;align-items:center}.telemetry-heading.telemetry-bar h2{font-size:14px}}.page-heading.page-heading-bar{position:relative;align-items:center;margin-bottom:16px;padding:16px 20px 16px 22px;overflow:hidden;border:1px solid var(--line);border-radius:14px;background:linear-gradient(100deg,var(--green-soft),#fff 62%);box-shadow:0 1px 2px #11352a0d}.page-heading-bar:before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:var(--green)}.page-heading-bar h1{display:flex;align-items:center;gap:12px;margin:0;font-size:20px}.page-heading.page-heading-bar p{max-width:none;margin:4px 0 0 50px;color:var(--text-2);font-size:13px;line-height:1.5}.page-heading-bar .button-primary,.page-heading-bar .button-secondary{flex:none;display:inline-flex;align-items:center;gap:8px}.heading-count{min-width:22px;padding:1px 7px;border-radius:999px;background:#ffffff40;font-size:11px;font-variant-numeric:tabular-nums;text-align:center}.button-secondary .heading-count{background:var(--surface-soft)}.page-heading-bar .page-heading-actions{flex:none}.page-heading-bar .page-heading-actions .button-secondary{background:#fff}.theme-dark .page-heading-bar .page-heading-actions .button-secondary{background:#1c2c24}.theme-dark .page-heading.page-heading-bar{background:linear-gradient(100deg,#22402f,#1c2c24 62%)}@media(max-width:640px){.page-heading.page-heading-bar{flex-direction:column;align-items:stretch;gap:12px;padding:14px 14px 14px 18px}.page-heading.page-heading-bar p{margin-left:0;max-width:none}.page-heading-bar h1{font-size:18px}}.marquee{display:inline-block;min-width:0;max-width:100%;overflow:hidden;white-space:nowrap;vertical-align:bottom}.marquee-inner{display:inline-block}.marquee.is-running{-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 14px),transparent);mask-image:linear-gradient(90deg,#000 calc(100% - 14px),transparent)}.marquee.is-running .marquee-inner{animation:marquee-glide var(--marquee-duration, 6s) ease-in-out infinite alternate}.marquee.is-running:hover .marquee-inner{animation-play-state:paused}@keyframes marquee-glide{0%,18%{transform:translate(0)}82%,to{transform:translate(var(--marquee-shift, 0))}}@media(prefers-reduced-motion:reduce){.marquee.is-running .marquee-inner{animation:none}}.readings-heading{align-items:center;gap:12px}.readings-heading-title{display:flex;align-items:center;gap:10px;min-width:0}.readings-heading-title h2{margin:0;font-size:16px}.readings-heading-title h2{display:inline-flex;align-items:center;gap:8px}.readings-heading-title h2>svg{flex:none;color:var(--green)}.reading-time{display:inline-flex;flex:none;align-items:center;gap:5px;height:26px;padding:0 10px 0 8px;border:1px solid color-mix(in srgb,var(--green) 22%,var(--line));border-radius:999px;color:var(--green-dark);background:var(--green-soft);font-size:11px;line-height:1;white-space:nowrap;cursor:help;font-variant-numeric:tabular-nums}.reading-time>svg{flex:none;color:var(--green)}.reading-time>small{color:var(--muted);font-size:11px;font-weight:600}.reading-time>b{font-size:12px;font-weight:700;letter-spacing:.01em}.theme-dark .reading-time{color:#9fdcbc;border-color:#2f5443;background:#1f3a2d}.theme-dark .reading-time>svg{color:#7fcca2}.readings-heading{flex-wrap:nowrap}.readings-heading>.reading-time{margin-left:auto}.station-panel{position:relative}.station-panel:before{content:"";position:absolute;z-index:1;inset:0 0 auto 0;height:4px;background:linear-gradient(90deg,var(--green),var(--forest-glow, #4fd19a))}.station-panel .station-hero.page-heading{padding:16px 20px 16px 22px;background:linear-gradient(100deg,var(--green-soft),var(--surface, #fff) 62%)}.station-panel .station-hero h1{display:flex;align-items:center;gap:14px}.station-hero-icon{display:inline-grid;flex:none;place-items:center;width:44px;height:44px;border-radius:12px;color:#fff;background:linear-gradient(145deg,var(--forest-glow, #4fd19a),var(--green));box-shadow:0 4px 12px color-mix(in srgb,var(--green) 28%,transparent)}.station-panel .station-hero:has(.station-hero-icon) .station-hero-meta{margin:3px 0 0 58px}.station-panel .station-hero.page-heading{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;column-gap:20px;row-gap:0}.station-panel .station-hero>div:first-child{display:contents}.station-panel .station-hero h1{grid-column:1;grid-row:1;min-width:0}.station-panel .station-hero>.page-heading-actions{grid-column:2;grid-row:1}.station-panel .station-hero .station-hero-meta{grid-column:1 / -1;grid-row:2}@media(max-width:640px){.station-panel .station-hero.page-heading>.page-heading-actions{justify-self:stretch;flex-wrap:wrap}.station-panel .station-hero .button-group{flex-wrap:wrap}.station-panel .station-hero .page-heading-actions>*{flex:1 1 auto}.station-panel .kpi-tile.kpi-tile-icon{grid-template-columns:minmax(0,1fr);padding:12px 14px}.station-panel .kpi-tile.kpi-tile-icon>.kpi-icon{display:none}.station-panel .kpi-tile.kpi-tile-icon>:not(.kpi-icon){grid-column:1}.summary-toolbar{flex-wrap:wrap}.summary-toolbar>.segmented-control{max-width:100%;overflow-x:auto}}@media(max-width:480px){.station-panel .overview-kpis{grid-template-columns:minmax(0,1fr)}.station-panel .overview-kpis .kpi-tile+.kpi-tile{border-left:0;border-top:1px solid var(--line)}}@media(max-width:980px){.station-panel .station-hero.page-heading{grid-template-columns:minmax(0,1fr);row-gap:12px}.station-panel .station-hero>.page-heading-actions{grid-column:1;grid-row:3;justify-self:start}.station-panel .station-hero .station-hero-meta{margin-top:-8px}}.station-panel .kpi-tile.kpi-tile-icon>span,.station-panel .kpi-tile.kpi-tile-icon>small{display:block;min-width:0;white-space:nowrap}.station-panel .kpi-tile.kpi-tile-icon>span>.marquee,.station-panel .kpi-tile.kpi-tile-icon>small>.marquee{display:block}.station-panel .station-hero .station-hero-meta{flex-wrap:nowrap;gap:4px 12px;font-size:11px;white-space:nowrap}.station-panel .station-hero .station-hero-meta>span{min-width:0;overflow:hidden}.station-panel .station-hero .station-hero-meta>span:not(.station-hero-tag){flex:0 1 auto}.station-panel .station-hero .station-hero-meta svg{flex:none;width:13px;height:13px}.station-panel .station-hero .station-hero-meta .station-hero-tag{flex:none;padding:1px 8px;font-size:11px}.station-panel .kpi-tile.kpi-tile-icon{grid-template-columns:40px minmax(0,1fr);column-gap:12px;row-gap:3px;padding:14px 18px}.station-panel .kpi-tile.kpi-tile-icon>:not(.kpi-icon){grid-column:2}.station-panel .kpi-tile.kpi-tile-icon>span:before{display:none}.kpi-icon{grid-row:1 / span 3;align-self:center;display:grid;place-items:center;width:40px;height:40px;border-radius:11px;color:#7a8a81;background:var(--surface-soft)}.kpi-tile.tone-good .kpi-icon{color:var(--green);background:var(--green-soft)}.kpi-tile.tone-warn .kpi-icon{color:var(--amber);background:var(--amber-soft)}.kpi-tile.tone-bad .kpi-icon{color:var(--red);background:var(--red-soft)}.station-panel .kpi-tile.kpi-tile-icon{transition:background .15s}.station-panel .kpi-tile.kpi-tile-icon:hover{background:var(--surface-soft)}.theme-dark .station-panel .station-hero.page-heading{background:linear-gradient(100deg,#22402f,#1c2c24 62%)}@media(max-width:760px){.station-panel .station-hero:has(.station-hero-icon) .station-hero-meta{margin-left:0;flex-wrap:wrap;white-space:normal}.station-hero-icon{width:38px;height:38px}}.admin-control{position:relative;margin-bottom:14px;padding:0;overflow:hidden}.admin-control:before{content:"";position:absolute;z-index:1;inset:0 auto 0 0;width:4px;background:var(--green)}.admin-control .admin-heading.page-heading{align-items:center;margin:0;padding:14px 18px 12px 22px;background:linear-gradient(100deg,var(--green-soft),var(--surface, #fff) 62%)}.admin-control .admin-heading>div:first-child{display:grid;gap:2px}.admin-control .admin-heading h1{display:flex;align-items:center;gap:12px;margin:0;font-size:18px}.admin-heading-kicker{margin-left:50px;color:var(--muted);font-size:12px;font-weight:600}.admin-control .demo-mode-badge{flex:none;letter-spacing:.02em;text-transform:none;font-size:12px}.admin-control>.tab-bar.tab-bar-compact{width:auto;max-width:none;margin:0;padding:6px 10px 8px 14px;border:0;border-top:1px solid var(--line);border-radius:0;background:var(--surface-soft);box-shadow:none}.admin-control>.tab-bar-compact .tab-bar-item{padding:0 11px}.admin-control>.tab-bar-compact .tab-bar-item.group-start{margin-left:9px}.theme-dark .admin-control .admin-heading.page-heading{background:linear-gradient(100deg,#22402f,#1c2c24 62%)}.theme-dark .admin-control>.tab-bar.tab-bar-compact{background:#1c2c24}@media(max-width:760px){.admin-heading-kicker{margin-left:0}.admin-control .admin-heading.page-heading{flex-direction:column;align-items:flex-start;gap:8px}}.report-control.report-filters{padding:8px 16px 10px}.report-filters,.report-card{margin-bottom:8px}.fee-page>.report-card,.fee-page>section.card{margin-bottom:0}.report-control>.tab-bar{margin:0 0 10px;padding:3px;border:1px solid var(--line);border-radius:10px;background:var(--surface-soft);box-shadow:none}.report-control>.tab-bar .tab-bar-item{min-height:25px;padding:0 11px;color:var(--text-2);border-radius:7px;font-size:12px}.report-control>.tab-bar .tab-bar-item svg{width:14px;height:14px}.report-control>.tab-bar .tab-bar-indicator{border-radius:7px}.report-control>.tab-bar+.report-filter-fields{padding-top:10px;border-top:1px solid var(--line)}.theme-dark .report-control>.tab-bar{background:#1c2c24}.breadcrumbs{gap:8px;min-width:0}.crumb-chip{display:inline-flex;align-items:center;gap:6px;min-width:0;max-width:220px;height:30px;padding:0 11px;border:1px solid var(--line);border-radius:999px;color:var(--text-2);background:var(--surface, #fff);font-size:12px;font-weight:600}.crumb-chip>svg{flex:none;color:var(--green)}.crumb-chip.breadcrumb-scope{color:var(--text-2);background:var(--surface-soft)}.crumb-page{display:inline-flex;align-items:center;gap:7px;color:var(--text);font-size:14px;white-space:nowrap}.crumb-page>svg{flex:none;color:var(--green)}.topbar .last-sync{height:36px;gap:7px;padding:0 13px}.topbar .last-sync>.pulse-dot{display:inline-block}.live-clock{display:inline-flex;align-items:center;gap:8px;height:36px;padding:0 13px;border:1px solid var(--line);border-radius:999px;color:var(--muted);background:var(--surface, #fff);font-size:12px;font-weight:600;white-space:nowrap;font-variant-numeric:tabular-nums}.live-clock>svg{flex:none;color:var(--green)}.live-clock-time{display:inline-block;box-sizing:content-box;width:5.4em;padding-left:8px;border-left:1px solid var(--line);color:var(--text);font-weight:700;font-feature-settings:"tnum" 1;text-align:center}.topbar-tools .icon-button,.topbar-tools .notification-button,.topbar-tools .top-avatar{width:36px;height:36px}.user-menu-trigger{height:42px}.user-menu-name{gap:2px}.user-role{justify-self:start;padding:0 7px;border-radius:999px;color:var(--green-dark)!important;background:var(--green-soft);font-size:11px!important;font-weight:700;line-height:1.6}.user-role.role-operator{color:var(--amber)!important;background:var(--amber-soft)}.user-role.role-viewer{color:var(--text-2)!important;background:var(--surface-soft)}.theme-dark .crumb-chip,.theme-dark .live-clock{background:#1c2c24}@media(max-width:1280px){.live-clock-date{display:none}.live-clock-time{padding-left:0;border-left:0}}@media(max-width:980px){.crumb-chip:not(.breadcrumb-scope){display:none}.breadcrumbs>svg:last-of-type{display:none}}@media(max-width:760px){.live-clock,.crumb-chip,.breadcrumbs>svg{display:none}}.alert-info>.alert-place{display:flex;flex-wrap:wrap;align-items:center;gap:2px 6px;margin-top:4px;overflow:visible;color:var(--text-2);font-size:12px;font-weight:600;white-space:normal}.alert-place>span+span:before{content:"›";margin-right:6px;color:var(--muted);font-weight:400}.alert-place>.is-station{color:var(--green-dark)}.theme-dark .alert-place>.is-station{color:#9fdcbc}.remote-toggle{margin-bottom:10px;font-weight:700;color:var(--text)}.remote-status{display:grid;gap:6px;margin:10px 0 0;padding:0;list-style:none;color:var(--text-2);font-size:12px}.remote-status li{position:relative;padding-left:18px}.remote-status li:before{content:"";position:absolute;top:.5em;left:2px;width:8px;height:8px;border-radius:50%;background:var(--muted)}.remote-status li.is-ok:before{background:var(--green)}.remote-status li.is-warn:before{background:var(--amber)}.remote-status b{color:var(--text);font-variant-numeric:tabular-nums}.https-block{margin-top:16px;padding-top:14px;border-top:1px solid var(--line)}.https-block .remote-toggle{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.https-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:12px}.https-actions .button-primary{display:inline-flex;align-items:center;gap:6px;text-decoration:none}.external-cert{margin-top:12px;display:grid;gap:12px}.external-cert .cert-input{width:100%;padding:9px 11px;color:var(--text);background:var(--surface-soft);border:1px solid var(--line);border-radius:9px;font-family:Consolas,Cascadia Mono,monospace;font-size:12px;line-height:1.5;resize:vertical;white-space:pre;overflow-wrap:normal}.external-cert .cert-input:focus{outline:2px solid var(--green);outline-offset:1px}.https-guide{margin-top:12px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--surface-soft);color:var(--text-2);font-size:12px}.https-guide summary{cursor:pointer;color:var(--green-dark);font-weight:700}.https-guide ul{display:grid;gap:6px;margin:8px 0;padding-left:18px}.https-guide p{margin:8px 0 0}.update-version{margin-left:6px;padding:2px 10px;border-radius:999px;color:var(--green-dark);background:var(--green-soft);font-size:14px;font-variant-numeric:tabular-nums}.update-drop{position:relative;display:grid;justify-items:center;gap:6px;padding:26px 16px;border:2px dashed color-mix(in srgb,var(--green) 35%,var(--line));border-radius:12px;color:var(--muted);background:var(--surface-soft);cursor:pointer;text-align:center;transition:border-color .15s,background .15s}.update-drop:hover{border-color:var(--green);background:var(--green-soft)}.update-drop>svg{color:var(--green)}.update-drop strong{color:var(--text);font-size:13px}.update-drop input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer}.update-drop.is-busy{cursor:progress;opacity:.7}.update-incoming{padding:14px 16px;border:1px solid color-mix(in srgb,var(--green) 30%,var(--line));border-radius:12px;background:var(--green-soft)}.update-incoming-head{display:grid;gap:4px;margin-bottom:10px}.update-incoming-head h3{margin:2px 0 0;color:var(--text);font-size:16px}.update-incoming-head h3 b{color:var(--green-dark)}.update-incoming-head small{color:var(--muted);font-size:12px}.update-notes{display:grid;gap:4px;margin:0 0 12px;padding-left:20px;color:var(--text-2);font-size:13px}.update-result{display:flex;align-items:flex-start;gap:12px;margin-bottom:12px;padding:12px 14px;border-radius:12px;font-size:13px}.update-result>div{display:grid;flex:1;gap:3px}.update-result small{color:var(--muted);font-size:11px}.update-result.is-ok{color:var(--green-dark);background:var(--green-soft);border:1px solid color-mix(in srgb,var(--green) 30%,var(--line))}.update-result.is-failed{color:var(--red);background:var(--red-soft);border:1px solid color-mix(in srgb,var(--red) 30%,var(--line))}.update-result>div span{color:var(--text-2)}.backup-schedule{align-items:end}.backup-schedule>.button-primary{align-self:end;height:38px}.backup-list{max-height:360px;overflow:auto;margin-top:8px}.backup-list thead th{position:sticky;z-index:1;top:0;background:var(--surface, #fff)}.backup-list tr.is-pending td{background:var(--amber-soft)}.backup-list tr.is-selected td{background:var(--red-soft)}.backup-check{width:34px}.backup-row-actions{white-space:nowrap}.backup-row-actions .plain-link+.plain-link{margin-left:14px}.backup-list-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:36px;margin-top:10px;color:var(--muted);font-size:12px}.danger-button{display:inline-flex;align-items:center;gap:6px;color:var(--red);border-color:color-mix(in srgb,var(--red) 35%,var(--line))}.backup-keep-hint{margin:6px 0 4px;color:var(--muted);font-size:12px}.backup-keep-hint b,.backup-parts{color:var(--text-2)}.backup-pending{margin:0 0 12px}.backup-restored{color:var(--green-dark);font-weight:600}.restore-modal{max-width:520px}.restore-passphrase{margin:0 0 12px}.backup-passphrase{display:flex;align-items:flex-start;gap:12px;margin:4px 0 12px;padding:11px 13px;border:1px solid color-mix(in srgb,var(--amber) 35%,var(--line));border-radius:10px;background:var(--amber-soft);font-size:12px}.backup-passphrase>svg{flex:none;margin-top:2px;color:var(--amber)}.backup-passphrase>div{display:grid;flex:1;gap:4px;min-width:0;color:var(--text-2)}.backup-passphrase strong{color:var(--text)}.backup-passphrase.is-set{border-color:color-mix(in srgb,var(--green) 30%,var(--line));background:var(--green-soft)}.backup-passphrase.is-set>svg{color:var(--green)}.backup-passphrase-actions{display:inline-flex;flex:none;align-items:center;gap:10px}.backup-passphrase-form{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}.backup-passphrase-form input{flex:1 1 180px;height:36px;padding:0 10px;border:1px solid var(--line);border-radius:8px;background:var(--surface, #fff);color:var(--text)}.backup-folder{display:flex;align-items:flex-start;gap:12px;margin:4px 0 12px;padding:11px 13px;border:1px solid color-mix(in srgb,var(--green) 30%,var(--line));border-radius:10px;background:var(--green-soft);font-size:12px}.backup-folder>svg{flex:none;margin-top:2px;color:var(--green)}.backup-folder>div{display:grid;flex:1;gap:4px;min-width:0;color:var(--text-2)}.backup-folder strong{color:var(--text);overflow-wrap:anywhere}.backup-folder.is-warning{border-color:color-mix(in srgb,var(--amber) 35%,var(--line));background:var(--amber-soft)}.backup-folder.is-warning>svg{color:var(--amber)}.backup-folder-form input[type=text],.backup-folder-form>input{flex:1 1 100%}.backup-folder-move{display:inline-flex;flex:1 1 auto;align-items:center;gap:6px;color:var(--text-2);font-size:11px}.backup-folder-move input{flex:none;width:auto;height:auto}@media(max-width:640px){.backup-folder{flex-wrap:wrap}}.backup-portable{display:inline-flex;align-items:center;gap:4px;margin-left:8px;padding:0 7px;border-radius:999px;color:var(--green-dark);background:var(--green-soft);font-size:11px;font-weight:600;white-space:nowrap}.restore-parts{display:grid;gap:8px;margin:12px 0}.org-code{padding:0 6px;color:var(--green-dark, #176b47);background:var(--green-soft, #e7f4ed);border-radius:4px;font-family:ui-monospace,Consolas,monospace;letter-spacing:.02em}.restore-kho{display:grid;gap:6px;margin:-4px 0 12px;padding:10px 12px;border:1px solid var(--line);border-radius:9px;background:var(--surface-soft)}.restore-kho>span{color:var(--text-2);font-size:12px}.storage-heading{margin:18px 0 8px;color:var(--text);font-size:13px}.storage-moving{margin-bottom:12px}.storage-roots{display:grid;gap:6px;margin:0 0 10px;padding:0;list-style:none}.storage-roots li{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:12px;padding:9px 12px;border:1px solid var(--line);border-radius:9px;background:var(--surface)}.storage-root-path{display:grid;gap:2px;min-width:0}.storage-root-path code{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.storage-root-path small,.storage-kho small{color:var(--muted);font-size:11px}.storage-root-keep{display:inline-flex;align-items:center;gap:6px;color:var(--text-2);font-size:12px;white-space:nowrap}.storage-root-keep input{width:80px}.storage-root-actions{display:inline-flex;gap:12px;white-space:nowrap}.storage-add{margin-bottom:4px}.storage-add>input{flex:1 1 260px}.storage-kho td{vertical-align:middle}.storage-kho-stations{min-width:180px}.storage-kho-stations>span{display:block;font-size:12px;white-space:nowrap}.storage-kho-stations b{color:var(--text-2);font-weight:700}.storage-kho-path{width:34%;max-width:360px;white-space:normal}.storage-kho-path code{display:inline-block;max-width:100%;white-space:normal;overflow-wrap:anywhere;word-break:break-all;font-size:11px}.storage-kho-path small{display:block;margin-top:2px;white-space:normal;overflow-wrap:anywhere}.storage-kho-path .storage-kho-folder{font-family:ui-monospace,Consolas,monospace;font-size:11px}.storage-kho-move{white-space:nowrap}.storage-kho-move select{min-width:140px;max-width:200px;margin-right:6px}.storage-kho tr.is-error td{background:color-mix(in srgb,#c7362a 6%,transparent)}@media(max-width:760px){.storage-roots li{grid-template-columns:minmax(0,1fr);gap:6px}.storage-kho-move{flex-wrap:wrap}}.restore-note{display:flex;align-items:flex-start;gap:8px;margin:0 0 12px;padding:9px 11px;border-radius:9px;color:var(--amber);background:var(--amber-soft);font-size:12px}.restore-note>svg{flex:none;margin-top:2px}.audit-scroll{max-height:520px;overflow:auto}.audit-search{display:grid;grid-template-columns:minmax(200px,2fr) repeat(2,minmax(140px,1fr)) auto;align-items:end;gap:10px;margin-bottom:12px}.audit-search-actions{display:flex;gap:8px}.audit-search-actions .button-primary,.audit-search-actions .button-secondary{display:inline-flex;align-items:center;gap:6px;height:38px}.audit-pagination{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 16px;margin-top:12px;color:var(--muted);font-size:12px;font-variant-numeric:tabular-nums}.audit-page-size{display:inline-flex;align-items:center;gap:8px}.audit-page-size select{height:32px;padding:0 8px;border:1px solid var(--line);border-radius:8px;background:var(--surface, #fff);color:var(--text);font-size:12px}.audit-pager{display:inline-flex;align-items:center;gap:6px}.audit-pager>span{min-width:92px;color:var(--text-2);font-weight:600;text-align:center}.audit-pager .button-secondary{min-height:32px;height:32px;padding:0 10px;font-size:12px}@media(max-width:860px){.audit-search{grid-template-columns:1fr 1fr}.audit-search-text,.audit-search-actions{grid-column:1 / -1}}.audit-scroll thead th{position:sticky;z-index:1;top:0;background:var(--surface, #fff)}.tab-bar.tab-bar-compact{flex-wrap:wrap;row-gap:2px;overflow:visible}.tab-bar-indicator{transition:transform .42s var(--ease-out),width .42s var(--ease-out),height .42s var(--ease-out)}.alert-popover-place{display:inline-flex;align-items:center;flex-wrap:wrap;gap:2px 6px;min-width:0}.alert-popover-place>b{color:var(--text);font-weight:700}.alert-popover-place>b+span:before{content:"›";margin-right:6px;color:var(--muted)}.alert-badges{display:inline-flex;align-items:center;gap:6px}.alerts-full-list .alert-row{display:grid;grid-template-columns:40px minmax(0,1fr) auto;column-gap:14px;align-items:start;padding:14px 12px}.alerts-full-list .alert-indicator{width:40px;height:40px;border-radius:11px}.alerts-full-list .alert-info strong{font-size:14px;line-height:1.35}.alerts-full-list .alert-info>span{margin-top:4px}.alerts-full-list .alert-info small{margin-top:5px}.alerts-full-list .alert-row-side{display:grid;justify-items:end;gap:8px;min-width:190px}.alerts-full-list .alert-level,.alerts-full-list .alert-handling{margin:0;padding:4px 10px;border-radius:999px;font-size:11px;line-height:1.2}.alerts-full-list .alert-actions{gap:6px}.alerts-full-list .alert-actions .plain-link{padding:5px 12px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--green-dark);font-size:12px;font-weight:600;transition:border-color .15s,background .15s}.alerts-full-list .alert-actions .plain-link:hover{border-color:color-mix(in srgb,var(--green) 40%,var(--line));background:var(--green-soft)}.theme-dark .alerts-full-list .alert-actions .plain-link{background:#1c2c24;color:#9fdcbc}.alerts-full-list.overview-alerts .alert-row{grid-template-columns:34px minmax(0,1fr) auto;column-gap:10px;padding:10px 2px}.alerts-full-list.overview-alerts .alert-indicator{width:34px;height:34px;border-radius:9px}.alerts-full-list.overview-alerts .alert-info strong{font-size:13px;white-space:normal}.alerts-full-list.overview-alerts .alert-row-side{min-width:0}@media(max-width:720px){.alerts-full-list .alert-row{grid-template-columns:40px minmax(0,1fr);row-gap:10px}.alerts-full-list .alert-row-side{grid-column:2;justify-items:start;min-width:0;margin:0}.alerts-full-list.overview-alerts .alert-row{grid-template-columns:34px minmax(0,1fr) auto}.alerts-full-list.overview-alerts .alert-row-side{grid-column:auto;justify-items:end}}.station-management-list .source-station-row{grid-template-columns:minmax(0,1fr);grid-auto-flow:column;grid-auto-columns:auto}.station-fee-switch{display:inline-flex;align-items:center;gap:6px;color:var(--text-2);font-size:12px;font-weight:600;white-space:nowrap;cursor:pointer}.station-fee-switch .switch .track{width:34px;height:19px}.station-fee-switch .switch .track:after{width:15px;height:15px}.station-fee-switch .switch input:checked+.track:after{transform:translate(15px)}@media(max-width:720px){.station-management-list .source-station-row{grid-template-columns:repeat(4,auto);grid-auto-flow:row;justify-content:start}}.map-tip-floating{position:fixed;z-index:2000;border:1px solid var(--line);border-radius:10px;background:#fff;box-shadow:0 8px 24px #11352a29;pointer-events:none}.map-tip-floating[hidden]{display:none}.map-tip-floating:after{content:"";position:absolute;left:var(--arrow-x, 50%);bottom:-6px;width:10px;height:10px;border:solid var(--line);border-width:0 1px 1px 0;background:#fff;transform:translate(-50%) rotate(45deg)}.map-tip-floating.is-below:after{top:-6px;bottom:auto;border-width:1px 0 0 1px}.map-tip{display:grid;gap:6px;width:240px;padding:10px 12px;color:var(--text-2);font-family:inherit;font-size:12px;line-height:1.35}.map-tip-head{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.map-tip-head strong{color:var(--text);font-size:13px}.map-tip-status{flex:none;display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:600;white-space:nowrap}.map-tip-status:before{content:"";width:8px;height:8px;border-radius:50%;background:currentColor}.map-tip-status.tone-good{color:#2f9a68}.map-tip-status.tone-warning{color:#c08518}.map-tip-status.tone-alert{color:#d0503f}.map-tip-status.tone-offline{color:#8a968e}.map-tip-meta,.map-tip-more,.map-tip-hint{color:var(--muted);font-size:11px}.map-tip-maintenance{justify-self:start;padding:1px 7px;border-radius:999px;color:var(--amber);background:var(--amber-soft);font-size:11px}.map-tip-metrics{display:grid;grid-template-columns:1fr 1fr;gap:4px}.map-tip-metrics>div{display:grid;gap:1px;padding:5px 7px;border-radius:7px;background:var(--surface-soft)}.map-tip-metrics span{overflow:hidden;color:var(--muted);font-size:11px;text-overflow:ellipsis;white-space:nowrap}.map-tip-metrics b{color:var(--text);font-size:13px;font-variant-numeric:tabular-nums}.map-tip-metrics b small{color:var(--muted);font-size:11px;font-weight:500}.map-tip-metrics .is-exceeded{background:var(--red-soft)}.map-tip-metrics .is-exceeded b{color:var(--red)}.map-tip-metrics .is-error{background:#f6ecf7}.map-tip-metrics .is-error b{color:#9a4fa8}.map-tip-metrics .is-calibrating{background:var(--amber-soft)}.map-tip-metrics .is-calibrating b{color:var(--amber)}.map-tip-hint{padding-top:6px;border-top:1px solid var(--line)}.cleanup-table{display:grid;margin:4px 0 10px;border:1px solid var(--line);border-radius:10px;font-size:12px}.cleanup-table>div{display:grid;grid-template-columns:minmax(160px,1.4fr) 1fr 1fr auto;align-items:center;gap:12px;padding:8px 12px;color:var(--text-2)}.cleanup-table>div+div{border-top:1px solid var(--line)}.cleanup-table span:first-child{display:grid;gap:2px;min-width:0}.cleanup-table strong{color:var(--text)}.cleanup-table small{color:var(--muted);font-size:11px}@media(max-width:720px){.cleanup-table>div{grid-template-columns:1fr auto}.cleanup-table>div>span:nth-child(2),.cleanup-table>div>span:nth-child(3){grid-column:1}}.page-heading-compact{margin-bottom:14px;align-items:center}.page-heading-compact h1{font-size:18px}.report-table-tall{max-height:calc(100vh - 150px);overflow:auto}.report-table-tall .report-table thead th{position:sticky;top:0;z-index:2;background:var(--surface, #fff);box-shadow:inset 0 -1px 0 var(--line)}.report-table th small{font-size:11px;font-weight:600;color:var(--muted)}.report-table td.report-cell-sparse{color:var(--muted);font-style:italic;background:repeating-linear-gradient(135deg,rgba(120,135,126,.09) 0 6px,transparent 6px 12px)}.report-row-maintenance>td:first-child{box-shadow:inset 3px 0 #e0a43a}.report-maintenance-icon{display:inline-flex;margin-left:6px;color:#b86e00;vertical-align:-1px}.theme-dark .report-maintenance-icon{color:#ffc35c}.exceedance-summary{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.line-chart-labels{position:relative;display:block;height:16px}.line-chart-labels>span{position:absolute;top:0;transform:translate(-50%)}.line-chart-labels>span.is-start{transform:none}.line-chart-labels>span.is-end{transform:translate(-100%)}.print-report-signatures{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:22px;text-align:center}.print-report-signatures strong{display:block;color:var(--text);font-size:13px}.print-report-signatures small{display:block;margin-top:2px;padding-bottom:70px;color:var(--muted);font-size:11px;font-style:italic}@media print{.report-table-tall{max-height:none;overflow:visible}.print-report-signatures{break-inside:avoid}}.report-heading h1{display:flex;align-items:center;gap:12px}.report-heading-icon{display:inline-grid;flex:0 0 auto;place-items:center;width:38px;height:38px;border-radius:10px;color:#fff;background:linear-gradient(145deg,var(--forest-glow, #4fd19a),var(--green, #1f8a5c));box-shadow:0 4px 12px color-mix(in srgb,var(--green, #1f8a5c) 28%,transparent)}.report-heading>div:first-child{display:flex;align-items:center;flex-wrap:wrap;gap:8px 16px;min-width:0}.report-heading h1{margin:0}.page-heading .report-heading-context{display:flex;flex-wrap:wrap;gap:6px;margin:0}.report-heading-context>span{display:inline-flex;align-items:center;gap:5px;padding:2px 10px;color:var(--text-2);background:var(--surface-soft);border:1px solid var(--line);border-radius:999px;font-size:12px;font-weight:600}.report-heading-context>span:first-child{color:var(--green)}.report-heading-context svg{color:var(--muted)}.alert-superseded .alert-indicator{color:var(--muted);background:var(--surface-soft)}.alert-level.superseded{color:var(--muted);background:var(--surface-soft);border:1px solid var(--line)}.alert-superseded-tag{display:inline-block;margin-left:8px;padding:1px 8px;color:var(--muted);background:var(--surface-soft);border:1px solid var(--line);border-radius:999px;font-size:11px;font-style:normal;font-weight:600;vertical-align:1px}.alert-popover-item.level-superseded{border-left-color:var(--line)}.report-status-filter button{display:inline-flex;align-items:center;gap:6px}.status-dot{display:inline-block;width:8px;height:8px;border-radius:50%}.status-dot.tone-normal{background:#2f9a68}.status-dot.tone-error{background:#9a5aa0}.status-dot.tone-calibrating{background:#d39a2c}.ftp-client{display:grid;grid-template-rows:auto auto auto minmax(0,1fr) auto 150px;width:min(1180px,100%);height:min(820px,calc(100vh - 44px));padding:0;overflow:hidden;box-shadow:0 25px 80px #1c312340}.ftp-client-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;border-bottom:1px solid var(--line)}.ftp-client-title{display:flex;align-items:center;gap:10px}.ftp-client-title h2{margin:0;color:var(--text);font-size:16px}.ftp-client-title small{color:var(--muted);font-size:12px}.ftp-client-icon{display:inline-grid;place-items:center;width:32px;height:32px;border-radius:9px;color:#fff;background:linear-gradient(145deg,var(--forest-glow, #4fd19a),var(--green, #1f8a5c))}.ftp-connection{display:flex;flex-wrap:wrap;align-items:flex-end;gap:10px 18px;padding:10px 16px;background:var(--surface-soft);border-bottom:1px solid var(--line)}.ftp-field{display:grid;gap:3px;min-width:0}.ftp-field>span{color:var(--muted);font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.ftp-field>strong{color:var(--text);font-size:13px;font-weight:600;font-variant-numeric:tabular-nums}.ftp-field-station select{min-width:240px;height:32px;padding:0 8px;color:var(--text);background:var(--surface);border:1px solid var(--line);border-radius:6px;font-size:13px}.ftp-status{display:inline-flex;align-items:center;gap:6px;margin-left:auto;padding:4px 11px;border-radius:999px;font-size:12px;font-weight:700;color:var(--muted);background:var(--surface);border:1px solid var(--line)}.ftp-status i{width:8px;height:8px;border-radius:50%;background:#9aa7a0}.ftp-status.is-connected{color:#1d8a55}.ftp-status.is-connected i{background:#2f9a68}.ftp-status.is-loading i{background:#d39a2c}.ftp-status.is-error{color:#c7362a}.ftp-status.is-error i{background:#d0503f}.ftp-pathbar{display:flex;align-items:center;gap:6px;padding:8px 16px;border-bottom:1px solid var(--line)}.ftp-icon-button{display:inline-grid;place-items:center;width:30px;height:30px;color:var(--text-2);background:var(--surface);border:1px solid var(--line);border-radius:6px;cursor:pointer}.ftp-icon-button:disabled{opacity:.45;cursor:default}.ftp-breadcrumbs{display:flex;flex:1 1 auto;flex-wrap:wrap;align-items:center;gap:2px;min-width:0;height:30px;padding:0 8px;overflow:hidden;background:var(--surface-soft);border:1px solid var(--line);border-radius:6px;font-size:13px}.ftp-breadcrumbs span{display:inline-flex;align-items:center;color:var(--muted)}.ftp-breadcrumbs button{display:inline-flex;align-items:center;gap:5px;padding:2px 5px;color:var(--text);background:none;border:0;border-radius:4px;cursor:pointer;font-weight:600}.ftp-breadcrumbs button:hover{background:var(--green-soft)}.ftp-filter{display:inline-flex;align-items:center;gap:6px;width:220px;height:30px;padding:0 8px;color:var(--muted);background:var(--surface);border:1px solid var(--line);border-radius:6px}.ftp-filter input{flex:1;min-width:0;color:var(--text);background:none;border:0;outline:none;font-size:12px}.ftp-panes{display:grid;grid-template-columns:240px minmax(0,1fr);min-height:0}.ftp-tree{min-height:0;overflow:auto;padding:8px 6px;border-right:1px solid var(--line);background:var(--surface-soft)}.ftp-pane-title{padding:2px 8px 8px;color:var(--muted);font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.ftp-tree ul{margin:0;padding:0;list-style:none}.ftp-tree-row{display:flex;align-items:center;gap:2px;border-radius:6px}.ftp-tree-row.is-current{background:var(--green-soft)}.ftp-tree-row.is-current .ftp-tree-label{color:var(--green);font-weight:700}.ftp-tree-toggle{display:inline-grid;place-items:center;width:18px;height:22px;padding:0;color:var(--muted);background:none;border:0;cursor:pointer}.ftp-tree-toggle svg{transition:transform .15s}.ftp-tree-toggle.is-open svg{transform:rotate(90deg)}.ftp-tree-toggle:disabled{visibility:hidden}.ftp-tree-label{display:inline-flex;flex:1;align-items:center;gap:6px;min-width:0;padding:4px;color:var(--text-2);background:none;border:0;cursor:pointer;font-size:13px;text-align:left}.ftp-tree-label svg,.ftp-type-dir{color:#d39a2c}.ftp-tree-label span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ftp-files{display:grid;grid-template-rows:minmax(0,1fr) auto;min-height:0}.ftp-table-scroll{min-height:0;overflow:auto}.ftp-table{width:100%;border-collapse:collapse;font-size:13px}.ftp-table th{position:sticky;top:0;z-index:1;padding:0 10px;height:32px;text-align:left;background:var(--surface);box-shadow:inset 0 -1px 0 var(--line)}.ftp-table th button{padding:0;color:var(--muted);background:none;border:0;cursor:pointer;font-size:11px;font-weight:800;letter-spacing:.05em;text-transform:uppercase}.ftp-table th.numeric,.ftp-table td.numeric{text-align:right}.ftp-table td{height:32px;padding:0 10px;color:var(--text-2);border-bottom:1px solid var(--line);white-space:nowrap;font-variant-numeric:tabular-nums;cursor:default;-webkit-user-select:none;user-select:none}.ftp-table tbody tr:hover td{background:#258b680d}.ftp-table tbody tr.is-selected td{background:var(--green-soft)}.ftp-check{width:34px}.ftp-name{display:flex;align-items:center;gap:8px;color:var(--text)!important}.ftp-type{display:inline-flex}.ftp-type-file{color:var(--muted)}.ftp-row-up button{display:inline-flex;align-items:center;gap:8px;padding:0;color:var(--text-2);background:none;border:0;cursor:pointer;font-weight:700}.ftp-row-up button svg{color:#d39a2c}.ftp-empty{margin:18px;color:var(--muted);font-size:12px;text-align:center}.ftp-hint{padding:5px 12px;color:var(--muted);border-top:1px solid var(--line);font-size:11px}.ftp-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;padding:10px 16px;border-top:1px solid var(--line);background:var(--surface-soft)}.ftp-actions>div{display:flex;flex-wrap:wrap;gap:8px}.ftp-actions button svg{vertical-align:-2px}.ftp-summary{color:var(--text-2);font-size:12px;font-variant-numeric:tabular-nums}.ftp-transfer{display:grid;grid-template-rows:auto minmax(0,1fr);min-height:0;border-top:1px solid var(--line)}.ftp-transfer-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:6px 16px;font-size:12px}.ftp-transfer-head strong{color:var(--muted);font-size:11px;letter-spacing:.04em;text-transform:uppercase}.ftp-progress{display:inline-flex;align-items:center;gap:10px;min-width:0;color:var(--text-2)}.ftp-progress-bar{position:relative;width:160px;height:6px;overflow:hidden;border-radius:999px;background:var(--line)}.ftp-progress-bar i{position:absolute;inset:0 auto 0 0;border-radius:inherit;background:var(--green);transition:width .2s}.ftp-progress-bar i.is-indeterminate{width:35%;animation:ftp-indeterminate 1.2s ease-in-out infinite}@keyframes ftp-indeterminate{0%{left:-35%}to{left:100%}}.ftp-log{margin:0;padding:0 16px 8px;overflow:auto;list-style:none;font-size:12px;line-height:1.6}.ftp-log li{color:var(--text-2)}.ftp-log time{display:inline-block;margin-right:10px;color:var(--muted);font-variant-numeric:tabular-nums}.ftp-log li.is-ok{color:#1d8a55}.ftp-log li.is-error{color:#c7362a}.theme-dark .ftp-log li.is-ok{color:#6fd3a3}.theme-dark .ftp-log li.is-error{color:#ff8b7d}@media(max-width:860px){.ftp-panes{grid-template-columns:minmax(0,1fr)}.ftp-tree{display:none}.ftp-filter{width:140px}.ftp-status{margin-left:0}}@media(prefers-reduced-motion:reduce){.ftp-progress-bar i.is-indeterminate{animation:none;width:100%;opacity:.5}}.ftp-files{position:relative}.ftp-view{display:inline-flex;align-items:center;gap:3px;margin-left:auto;padding:2px 8px;color:var(--green);background:var(--surface);border:1px solid var(--line);border-radius:999px;cursor:pointer;font-size:11px;font-weight:700;opacity:0;transition:opacity .12s}.ftp-table tbody tr:hover .ftp-view,.ftp-view.is-active,.ftp-view:focus-visible{opacity:1}.ftp-view.is-active{color:#fff;background:var(--green);border-color:var(--green)}.ftp-preview{position:absolute;inset:0 0 0 auto;z-index:3;display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;width:min(560px,62%);background:var(--surface);border-left:1px solid var(--line);box-shadow:-14px 0 30px #1c31231f}.ftp-preview header{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 12px;border-bottom:1px solid var(--line)}.ftp-preview-title{display:flex;align-items:center;gap:7px;min-width:0;color:var(--muted)}.ftp-preview-title strong{overflow:hidden;color:var(--text);font-size:13px;text-overflow:ellipsis;white-space:nowrap}.ftp-preview-title small{flex:0 0 auto;font-size:11px}.ftp-preview-tools{display:flex;flex:0 0 auto;gap:4px}.ftp-icon-button.is-prev svg{transform:rotate(180deg)}.ftp-preview-tabs{justify-self:start;margin:10px 12px 6px}.ftp-preview-body{min-height:0;overflow:auto;padding:0 12px 10px}.ftp-preview-table{width:100%;border-collapse:collapse;font-size:12px}.ftp-preview-table th{position:sticky;top:0;padding:6px 8px;color:var(--muted);background:var(--surface);box-shadow:inset 0 -1px 0 var(--line);font-size:11px;font-weight:800;letter-spacing:.04em;text-align:left;text-transform:uppercase}.ftp-preview-table td{padding:6px 8px;color:var(--text-2);border-bottom:1px solid var(--line);white-space:nowrap;font-variant-numeric:tabular-nums}.ftp-preview-table .numeric{text-align:right}.ftp-preview-text{margin:0;padding:10px 12px;color:var(--text);background:var(--surface-soft);border:1px solid var(--line);border-radius:8px;font-family:Consolas,Cascadia Mono,monospace;font-size:12px;line-height:1.55;white-space:pre;overflow:auto}.ftp-preview-error{color:#c7362a}.ftp-preview footer{display:flex;justify-content:flex-end;padding:10px 12px;border-top:1px solid var(--line)}.ftp-preview-back{display:none;align-items:center;gap:3px;flex:0 0 auto;height:36px;padding:0 10px 0 6px;color:var(--green);background:none;border:0;border-radius:8px;cursor:pointer;font:inherit;font-size:13px;font-weight:700}.ftp-preview-back svg{transform:rotate(180deg)}@media(max-width:860px){.ftp-preview{width:100%}}.ftp-preview{width:min(780px,78%);transition:width .18s ease}.ftp-preview.is-wide{width:100%}.ftp-preview-title strong,.ftp-preview-table{font-size:13px}.ftp-preview-table td{padding:8px 10px}.ftp-preview-table th{padding:7px 10px;font-size:11px}.ftp-preview-text{font-size:13px;line-height:1.65;padding:14px 16px}.ftp-preview-body{padding:0 14px 12px}@media(prefers-reduced-motion:reduce){.ftp-preview{transition:none}}.ftp-client{height:min(980px,calc(100vh - 28px));transition:grid-template-rows .18s ease}.ftp-client.is-previewing{grid-template-rows:auto auto auto minmax(0,1fr) auto 76px}@media(prefers-reduced-motion:reduce){.ftp-client{transition:none}}@media(max-width:650px){.ftp-client,.ftp-client.is-previewing{grid-template-rows:auto auto auto minmax(300px,1fr) auto 120px;width:100%;height:100vh;height:100dvh;overflow-y:auto;overscroll-behavior:contain;border-radius:0}}@media(max-width:860px){.ftp-field-station{flex:1 1 100%}.ftp-field-station select{width:100%;min-width:0}.ftp-pathbar{flex-wrap:wrap}.ftp-breadcrumbs{flex-basis:calc(100% - 72px)}.ftp-filter{flex:1 1 100%;width:auto}.ftp-actions>div{width:100%}.ftp-actions>div>button{flex:1 1 auto}.ftp-preview,.ftp-preview.is-wide{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;width:100%;height:100vh;height:100dvh;grid-template-columns:minmax(0,1fr);border-left:0;box-shadow:none;transition:none;overflow-x:hidden}.ftp-preview>*{min-width:0}.ftp-preview header{gap:4px;padding:8px 10px;position:sticky;top:0;z-index:1;background:var(--surface)}.ftp-preview-back{display:inline-flex}.ftp-preview-title{flex:1 1 auto;min-width:0}.ftp-preview-title small,.ftp-preview-close,.ftp-preview-tools .ftp-icon-button[aria-pressed]{display:none}.ftp-preview-tools .ftp-icon-button{width:38px;height:38px}.ftp-preview-body{min-width:0;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.ftp-preview-text{min-width:0;white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word;overflow:visible}.ftp-preview footer{padding-bottom:max(10px,env(safe-area-inset-bottom))}.ftp-preview footer .button-primary{flex:1}}@media(hover:none){.ftp-view{opacity:1}}.station-add-buttons{display:flex;flex-wrap:wrap;gap:8px;margin-left:auto}.station-add-buttons svg{vertical-align:-2px}.hosted-modal{width:min(100%,720px)}.advanced-nav{display:grid;grid-template-columns:repeat(var(--nav-count, 5),minmax(0,1fr));gap:6px;max-width:calc(var(--nav-count, 5) * 280px);margin-bottom:14px}.advanced-nav-item{position:relative;display:flex;align-items:center;gap:11px;min-width:0;padding:6px;color:var(--text-2);text-align:left;background:var(--surface);border:1px solid var(--line);border-radius:6px;box-shadow:0 1px 2px #11352a0a;cursor:pointer;transition:border-color .15s,box-shadow .15s,transform .15s,background .15s}.advanced-nav-item:hover:not(.is-selected){border-color:color-mix(in srgb,var(--green) 35%,var(--line));transform:translateY(-1px);box-shadow:0 6px 16px #11352a12}.advanced-nav-item:focus-visible{outline:2px solid var(--green);outline-offset:2px}.advanced-nav-item>i{display:grid;flex:none;width:36px;height:36px;place-items:center;color:var(--green);background:var(--green-soft);border-radius:10px;transition:color .15s,background .15s}.advanced-nav-item>span{display:grid;gap:2px;min-width:0}.advanced-nav-item strong{overflow:hidden;color:var(--text);font-size:13px;text-overflow:ellipsis;white-space:nowrap}.advanced-nav-item small{display:-webkit-box;overflow:hidden;color:var(--muted);font-size:11px;line-height:1.35;-webkit-box-orient:vertical;-webkit-line-clamp:2}.advanced-nav-item.is-selected{border-color:var(--green);box-shadow:0 0 0 3px color-mix(in srgb,var(--green) 14%,transparent)}.advanced-nav-item.is-selected>i{color:#fff;background:var(--green)}.advanced-nav-item.is-selected:after{content:"";position:absolute;right:6px;bottom:-1px;left:6px;height:3px;background:var(--green);border-radius:3px 3px 0 0}.theme-dark .advanced-nav-item>i{color:var(--forest-glow);background:color-mix(in srgb,var(--forest-glow) 14%,transparent)}.theme-dark .advanced-nav-item.is-selected>i{color:#fff;background:var(--green)}@media(max-width:1100px){.advanced-nav{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}}@media(max-width:650px){.advanced-nav{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.advanced-nav-item{gap:9px;padding:6px}.advanced-nav-item>i{width:32px;height:32px}}.folder-picker-heading>div>strong{display:block;color:var(--text);font-size:13px}.folder-picker-heading>div>span{display:block;margin-top:2px;color:var(--muted);font-size:12px}.source-mode{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:16px}.source-mode-option{display:flex;align-items:flex-start;gap:11px;padding:12px 14px;color:var(--text-2);text-align:left;background:var(--surface);border:1px solid var(--line);border-radius:12px;cursor:pointer;transition:border-color .15s,background .15s,box-shadow .15s}.source-mode-option:hover{border-color:color-mix(in srgb,var(--green) 40%,var(--line))}.source-mode-option>i{display:grid;flex:none;width:34px;height:34px;place-items:center;color:var(--muted);background:var(--surface-soft);border-radius:10px}.source-mode-option>span{display:grid;gap:3px;min-width:0}.source-mode-option strong{color:var(--text);font-size:13px}.source-mode-option small{color:var(--muted);font-size:12px;line-height:1.45}.source-mode-option.is-selected{background:var(--green-soft);border-color:var(--green);box-shadow:0 0 0 3px color-mix(in srgb,var(--green) 14%,transparent)}.source-mode-option.is-selected>i{color:#fff;background:var(--green)}.theme-dark .source-mode-option.is-selected{background:#22402f}@media(max-width:650px){.source-mode{grid-template-columns:minmax(0,1fr)}}.hosted-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.hosted-wide{grid-column:1 / -1}.hosted-account{margin-top:16px;padding:14px;background:var(--surface-soft);border:1px solid var(--line);border-radius:10px}.hosted-account-title{display:flex;align-items:center;gap:7px;margin-bottom:10px;color:var(--text);font-size:13px}.hosted-account-title svg{color:var(--green)}.hosted-warning{display:flex;align-items:center;gap:8px;margin:0 0 12px;padding:9px 12px;color:#8a5400;background:#b86e0014;border:1px solid rgba(184,110,0,.25);border-radius:8px;font-size:13px}.theme-dark .hosted-warning{color:#ffd98f;background:#ffc35c14;border-color:#ffc35c47}.ftp-sheet{border:1px solid var(--line);border-radius:10px;overflow:hidden}.ftp-sheet dl{margin:0}.ftp-sheet dl>div{display:grid;grid-template-columns:170px minmax(0,1fr);border-bottom:1px solid var(--line)}.ftp-sheet dt{padding:9px 12px;color:var(--muted);background:var(--surface-soft);font-size:12px;font-weight:700}.ftp-sheet dd{margin:0;padding:9px 12px;color:var(--text);font-size:13px;overflow-wrap:anywhere}.ftp-sheet dd.ftp-sheet-secret{font-family:Consolas,Cascadia Mono,monospace;font-size:14px;font-weight:700;color:var(--green)}.ftp-sheet-actions{display:flex;justify-content:flex-end;gap:8px;padding:10px 12px;background:var(--surface-soft)}.ftp-sheet-actions svg{vertical-align:-2px}.hosted-password{display:flex;flex-wrap:wrap;align-items:flex-end;gap:8px;margin-top:14px}.hosted-password .config-field{flex:1 1 220px}.button-secondary.danger-button{color:#c7362a;border-color:#c7362a59}.hosted-events{margin-top:16px;padding-top:12px;border-top:1px solid var(--line)}.hosted-events h3{margin:0 0 8px;color:var(--text);font-size:13px}.hosted-events ul{display:grid;gap:2px;max-height:220px;margin:0;padding:0;overflow-y:auto;list-style:none;font-size:12px}.hosted-events li{display:grid;grid-template-columns:140px 130px minmax(0,1fr);gap:8px;padding:6px 4px;border-bottom:1px solid var(--line)}.hosted-events time{color:var(--muted);font-variant-numeric:tabular-nums}.hosted-events li.is-login strong{color:#1d8a55}.hosted-events li.is-login_failed strong,.hosted-events li.is-parse_error strong{color:#c7362a}.hosted-events li span{overflow:hidden;color:var(--text-2);text-overflow:ellipsis;white-space:nowrap}.ftp-server-state{display:inline-flex;align-items:center;gap:7px;padding:5px 12px;border:1px solid var(--line);border-radius:999px;color:var(--muted);background:var(--surface);font-size:12px;font-weight:700;white-space:nowrap}.ftp-server-state i{width:9px;height:9px;border-radius:50%;background:#9aa7a0}.ftp-server-state.is-running{color:#1d8a55}.ftp-server-state.is-running i{background:#2f9a68;box-shadow:0 0 0 3px #2f9a682e}.ftp-server-state.is-error{color:#c7362a}.ftp-server-state.is-error i{background:#d0503f}.ftp-server-toggle{margin:4px 0 12px;font-weight:700}.ftp-server-form{grid-template-columns:repeat(4,minmax(0,1fr))}.ftp-server-public{grid-column:1 / -1}.ftp-server-help{margin-top:12px;padding:12px 14px;color:var(--text-2);background:var(--surface-soft);border:1px solid var(--line);border-radius:10px;font-size:13px;line-height:1.6}.ftp-server-help p{margin:0 0 6px}.ftp-server-help p:last-child{margin:0}.ftp-server-help code,.report-table td code{padding:1px 6px;color:#2f6a4c;background:var(--green-soft);border-radius:4px;font-size:12px}@media(max-width:760px){.hosted-grid,.ftp-server-form{grid-template-columns:minmax(0,1fr)}.ftp-sheet dl>div{grid-template-columns:minmax(0,1fr)}.hosted-events li{grid-template-columns:minmax(0,1fr)}}:root{--page: #f4f5f5}.theme-dark{--page: #151b18}.main-area,.theme-dark .main-area{background:none}.page-heading.page-heading-bar,.station-panel .station-hero.page-heading,.admin-control .admin-heading.page-heading,.telemetry-heading.telemetry-bar,.overview-hero,.theme-dark .page-heading.page-heading-bar,.theme-dark .station-panel .station-hero.page-heading,.theme-dark .admin-control .admin-heading.page-heading,.theme-dark .telemetry-heading.telemetry-bar,.theme-dark .overview-hero{background:var(--surface)}.telemetry-station{background:var(--surface-soft);border-color:var(--line)}.value-flash{animation:none}.overview-layout:has(>.overview-aside:empty){grid-template-columns:minmax(0,1fr)}.overview-aside:empty{display:none}.reading-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px}.group-station .reading-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}.reading-tile{gap:5px;padding:10px 11px}.reading-tile header{min-height:20px}.reading-tile header>span:first-child{font-size:12px}.reading-tile header .metric-status{padding:2px 6px;font-size:11px}.value-fit .reading-value strong{font-size:clamp(16px,calc((100cqi - 30px - var(--unit-chars, 0) * 7px) / (var(--value-chars, 4) * .64)),24px)}.group-station .value-fit .reading-value strong{font-size:clamp(16px,calc((100cqi - 30px - var(--unit-chars, 0) * 7px) / (var(--value-chars, 4) * .64)),22px)}.reading-tile .metric-sparkline{height:22px}.reading-bar{height:5px}.reading-tile footer{font-size:11px}.telemetry-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px}.telemetry-metric{padding:10px 11px}.telemetry-metric-heading>span:first-child{font-size:12px}.value-fit.telemetry-metric:not(.reading-tile)>strong{font-size:clamp(16px,calc((100cqi - 34px - var(--unit-chars, 0) * 7.5px) / (var(--value-chars, 4) * .64)),22px)}.telemetry-metric .metric-sparkline{height:22px}.telemetry-metric>small{font-size:11px}.value-fit header>span:first-child,.value-fit .telemetry-metric-heading>span:first-child{font-size:clamp(10.5px,9.8cqi,12.5px)}.value-fit header .metric-status,.value-fit .telemetry-metric-heading .metric-status{padding:.15em .5em;font-size:clamp(9px,8.2cqi,10.5px)}.value-fit .reading-value small,.value-fit.telemetry-metric>strong small{font-size:clamp(10px,9.4cqi,12px)}.value-fit .metric-trend{padding:0 .45em;font-size:clamp(9.5px,9.4cqi,12px)}.value-fit footer,.value-fit.telemetry-metric>small{font-size:clamp(9.5px,8.6cqi,11px)}.reading-tile{grid-template-columns:minmax(0,1fr)}.reading-tile>*,.telemetry-metric>*{min-width:0;max-width:100%}.value-fit header,.value-fit .telemetry-metric-heading{flex-wrap:nowrap;gap:4px}.value-fit header>span:first-child,.value-fit .telemetry-metric-heading>span:first-child{flex:1 1 0;min-width:0;text-overflow:clip}.value-fit header .metric-status,.value-fit .telemetry-metric-heading .metric-status{flex:none}.value-fit footer>span,.value-fit.telemetry-metric>small{min-width:0;max-width:100%;overflow:hidden}.value-fit header .marquee,.value-fit .telemetry-metric-heading .marquee,.value-fit footer .marquee,.value-fit.telemetry-metric>small .marquee{display:block}.value-fit .reading-value strong,.value-fit.telemetry-metric:not(.reading-tile)>strong{white-space:nowrap}.value-fit .reading-value{flex-wrap:nowrap;align-items:baseline;gap:4px;min-height:30px}.value-fit .reading-value small{flex:none;white-space:nowrap}.value-fit.telemetry-metric:not(.reading-tile)>strong{flex-wrap:nowrap}.reading-bar.is-empty{background:var(--line);box-shadow:none}.reading-tile footer{display:flex;flex-wrap:nowrap;align-items:center;justify-content:space-between;gap:6px;min-height:20px}.reading-tile footer .reading-limit{flex:1 1 0;min-width:0;margin-left:0}.reading-tile footer .metric-trend{flex:none;margin-left:0}@media(min-width:1151px){.sidebar{width:224px;flex-basis:224px}}@media(min-width:651px){.sidebar{padding-top:18px;padding-right:12px;padding-left:12px}}.sidebar .brand-mark{width:34px;height:34px;flex-basis:34px;border-radius:10px}.sidebar .brand-mark svg{width:19px;height:19px}.sidebar .brand strong{font-size:14px}.sidebar .brand span{font-size:9px}.tree-catalog{gap:8px;padding:7px 9px}.tree-catalog-icon{flex-basis:28px;height:28px}.site-tree{margin:16px 0 14px}.nav-button{min-height:35px;gap:10px;font-size:12px}.nav-button>svg{width:17px;height:17px}.nav-indicator{height:35px}.nav-indicator:before{top:8px;bottom:8px}.nav-label{font-size:11px}.overview-main .trend-chart .line-chart-plot{height:180px}.trend-panel .trend-metric-chips button{padding:4px 10px;font-size:12px}.trend-stats{gap:8px;margin-top:10px}.trend-stats>div{padding:7px 10px}.trend-stats dt{font-size:11px}.trend-stats dd{font-size:14px}.site-tree,.tree-catalog-body>div,.tree-children{grid-template-columns:minmax(0,1fr);min-width:0}.site-tree li,.tree-row,.tree-label{min-width:0;max-width:100%}.tree-name .marquee{display:block}.tree-catalog{gap:9px}.tree-catalog-text strong{font-size:13px}.tree-catalog-text small{font-size:11px}.tree-search input{height:32px;font-size:12px}.tree-row{min-height:32px;gap:7px;font-size:12px}.tree-label{min-height:32px;gap:7px}.tree-station{min-height:30px;font-size:12px}.tree-row b,.tree-label b{min-width:20px;padding:1px 6px;font-size:11px}.tree-dot{width:6px;height:6px}.tree-dot.is-online{box-shadow:0 0 0 2px #4fd19a29}.tree-dot.is-offline,.tree-dot.is-alert{background:#ff7b6b;box-shadow:0 0 0 2px #ff7b6b33}.tree-dot.is-alert{animation:status-dot-blink 2.2s ease-in-out infinite}.tree-dot.is-maintenance{box-shadow:0 0 0 2px #f0b9562e}@media(prefers-reduced-motion:reduce){.tree-dot.is-alert{animation:none}}.station-switch-alert{display:inline-block;width:6px;height:6px;flex:0 0 6px;margin-right:6px;vertical-align:middle;box-shadow:0 0 0 2px #d23f2f2e}.station-switch-name .station-switch-alert{margin-right:0}.station-switch-name strong{min-width:0;font-size:13px}.station-switch-name strong .marquee{display:block}.card-heading h2,.list-toolbar h2,.report-card-toolbar h2,.admin-form-heading h2{font-size:14px;letter-spacing:-.01em}.section-kicker,.page-eyebrow{font-size:11px;letter-spacing:.07em}.card-heading p,.report-card-description{font-size:12px;line-height:1.5}.card-heading .section-kicker,.list-toolbar .section-kicker,.report-card-toolbar .section-kicker,.admin-form-heading .section-kicker,.card-heading p,.report-card-description{color:var(--text-2)}.station-list-compact td{padding-top:8px;padding-bottom:8px;vertical-align:middle}.station-list-compact .station-list-name{width:230px;min-width:190px;max-width:280px}.station-list-compact .station-list-readings{min-width:260px}.station-list-compact tbody tr.has-alert td:first-child{box-shadow:inset 3px 0 0 var(--red, #d23f2f)}.station-list-compact tbody tr.is-offline td:first-child{box-shadow:inset 3px 0 #9aa69f}.station-list-connection{width:150px;white-space:nowrap}.station-list-connection .station-list-time{display:block;margin-top:4px}.station-list-connection .station-error{display:block;max-width:220px;white-space:normal}.station-list-time{white-space:nowrap}.station-list-time strong{display:block;font-size:12px;font-weight:600}.station-list-time small,.station-list-empty{color:var(--muted);font-size:11px}.station-list-compact td.station-list-readings{width:100%;padding-left:16px;white-space:normal}.station-list-compact td.station-list-connection{width:1%;min-width:0;padding-left:12px;text-align:right}.station-list-compact td.station-list-connection .station-error{width:200px;max-width:none;margin-left:auto;text-align:right}.station-list-compact td:last-child{width:1%;padding-left:8px;white-space:nowrap}.station-list-compact th:nth-child(3){text-align:right}@media(max-width:650px){.station-list-compact td.station-list-readings{padding-left:36px}.station-list-compact td.station-list-connection{min-width:0}}.reading-chips{display:block;line-height:1.7;white-space:normal}.reading-chip{display:inline-flex;align-items:baseline;gap:3px;margin-right:.35em;vertical-align:baseline;font-size:11px;line-height:1.5;white-space:nowrap}.reading-chip-name{flex:none;overflow:visible;color:var(--muted);text-overflow:ellipsis}.reading-chip strong{color:var(--text);font-size:12px;font-weight:700;font-variant-numeric:tabular-nums}.reading-chip small{color:var(--muted);font-size:11px}.reading-chip.tone-good strong{color:#1d7a50}.reading-chip.tone-warn strong{color:#a86400}.reading-chip.tone-bad strong{color:#c7362a}.reading-chip.tone-invalid strong{color:#6a4fc0}.theme-dark .reading-chip.tone-good strong{color:#6fd3a3}.theme-dark .reading-chip.tone-warn strong{color:#ffc35c}.theme-dark .reading-chip.tone-bad strong{color:#ff8b7d}.theme-dark .reading-chip.tone-invalid strong{color:#c4b5ff}.station-list tr.is-stale .reading-chip strong,.theme-dark .station-list tr.is-stale .reading-chip strong{color:var(--muted);font-weight:600}.station-list tr.is-stale .reading-chips{opacity:.65}.station-list tr.is-stale .station-list-time strong{color:#c7362a}.theme-dark .station-list tr.is-stale .station-list-time strong{color:#ff8b7d}.reading-chip-legend{display:flex;flex-wrap:wrap;gap:4px 14px;margin:-4px 0 10px;color:var(--muted);font-size:11px}.reading-chip-legend span:before{content:"";display:inline-block;width:8px;height:8px;margin-right:5px;vertical-align:0;border-radius:50%;background:var(--muted);opacity:.5}.reading-chip-legend .tone-good:before{background:#2fa771;opacity:1}.reading-chip-legend .tone-warn:before{background:#e09a1a;opacity:1}.reading-chip-legend .tone-bad:before{background:#d9473a;opacity:1}.reading-chip-legend .tone-invalid:before{background:#7a5fd0;opacity:1}.station-search{flex:1 1 280px}@media(max-width:640px){.station-list{min-width:0}.station-list thead{display:none}.station-list,.station-list tbody{display:block}.station-list tbody tr:not(.station-group-row){display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"name status" "readings readings" "error error" "updated actions";align-items:center;column-gap:6px;row-gap:5px;padding:10px 4px;border-bottom:1px solid var(--line)}.station-list tbody tr:last-child{border-bottom:0}.station-list td{height:auto;padding:0;border:0;font-size:11px}.station-list-compact .station-list-name{width:auto;min-width:0;max-width:none}.station-list-compact .station-list-readings{min-width:0}.station-list td:nth-child(1){grid-area:name;min-width:0}.station-list td:nth-child(2){grid-area:readings;padding-left:36px}.station-list td.station-list-connection{display:contents}.station-list td.station-list-connection>:first-child{grid-area:status;justify-self:end}.station-list td.station-list-connection>.station-error{grid-area:error;max-width:none;margin:2px 0 0 36px;white-space:normal}.station-list td.station-list-connection>.station-list-time{grid-area:updated;margin-top:0;padding-left:36px}.station-list .station-list-time strong,.station-list .station-list-time small{display:inline;margin-right:6px}.station-list td:nth-child(4){grid-area:actions}.station-list .station-group-row,.station-list .station-group-row th{display:block}.station-list-compact tbody tr.has-alert td:first-child,.station-list-compact tbody tr.is-offline td:first-child{box-shadow:none}.station-list-compact tbody tr.has-alert{box-shadow:inset 3px 0 0 var(--red, #d23f2f)}.station-list-compact tbody tr.is-offline{box-shadow:inset 3px 0 #9aa69f}}.report-table td,.station-table td{font-size:12px}.report-table th,.station-table th{font-size:11px;letter-spacing:.06em}.report-table td small,.station-name small{font-size:11px}.alert-info strong,.alerts-full-list .alert-info strong{font-size:13px}.alert-info>span,.alerts-full-list .alert-info>span{font-size:12px}.alert-info small,.alerts-full-list .alert-info small{font-size:11px}.station-name strong{font-size:12px}.config-field>span{font-size:12px}.count-pill{font-size:11px;white-space:nowrap}.exceedance-overview{display:grid;gap:8px;margin:2px 0 14px;padding:12px 14px;background:var(--surface-soft);border:1px solid var(--line);border-radius:10px}.exceedance-line{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:0;font-size:12px}.exceedance-line>strong{flex:0 0 120px;color:var(--text-2);font-size:11px;font-weight:700}.exceedance-line.is-bad>strong{color:var(--red)}.exceedance-line.is-good>strong{color:var(--green-dark)}.exceedance-chip{display:inline-flex;align-items:center;gap:3px;padding:3px 10px;color:var(--text-2);background:var(--surface);border:1px solid var(--line);border-radius:999px;font-size:12px}.exceedance-chip.is-bad{color:#a8321f;background:var(--red-soft);border-color:color-mix(in srgb,var(--red) 25%,transparent)}.exceedance-chip.is-bad b{font-weight:700}.exceedance-chip.is-good{color:var(--green-dark);background:var(--green-soft);border-color:color-mix(in srgb,var(--green) 20%,transparent)}.exceedance-none{color:var(--muted);font-size:12px}.theme-dark .exceedance-chip.is-bad{color:#ffb4a8;background:#d23f2f29}.theme-dark .exceedance-chip.is-good{color:#9fdcbc;background:#4fd19a1f}@media(max-width:650px){.exceedance-line>strong{flex-basis:100%}}@media(min-width:651px){.admin-control .admin-heading h1{font-size:18px}}.admin-heading-kicker{font-size:11px}.ftp-server-help{font-size:12px}.station-summary-stack>div{justify-content:center;gap:6px}.station-summary-stack strong{margin-top:0;font-size:24px}.station-summary-stack span{font-size:11px}.card{border-radius:12px;border-color:var(--line);box-shadow:0 1px 2px #10281e0a,0 4px 14px #10281e0b}.card:hover{border-color:color-mix(in srgb,var(--green) 14%,var(--line))}.theme-dark .card{box-shadow:0 1px 2px #00000040,0 6px 18px #0003}.card:not(.telemetry-metric){border-color:color-mix(in srgb,var(--green) 10%,var(--line));box-shadow:0 1px 2px #103c280d,0 10px 26px -6px color-mix(in srgb,var(--green) 20%,transparent)}.reading-tile:not(.tone-warn):not(.tone-bad):not(.tone-invalid){box-shadow:0 6px 16px -6px color-mix(in srgb,var(--green) 22%,transparent)}.theme-dark .card:not(.telemetry-metric){box-shadow:0 1px 2px #0000004d,0 10px 26px -6px #4fd19a24}.theme-dark .reading-tile:not(.tone-warn):not(.tone-bad):not(.tone-invalid){box-shadow:0 6px 16px -6px #4fd19a29}.card-heading{padding-bottom:2px}@media(min-width:651px){.page-heading.page-heading-bar{margin-bottom:12px;padding:12px 16px 12px 18px}.page-heading-bar h1{gap:12px;font-size:18px}.page-heading.page-heading-bar p{margin-left:48px;font-size:12px}.page-heading-bar .button-primary,.page-heading-bar .button-secondary{min-height:32px;padding:0 11px;font-size:12px}}.report-heading-icon{width:36px;height:36px}.report-heading-icon svg{width:18px;height:18px}@media(min-width:651px)and (max-width:1150px){.reading-grid,.group-station .reading-grid{grid-template-columns:repeat(var(--tile-cols, 4),minmax(0,1fr))}}.station-panel .station-hero.page-heading{column-gap:16px;padding:12px 16px 12px 18px}.station-panel .station-hero h1{gap:12px;font-size:18px;line-height:1.25}.station-hero-icon{width:36px;height:36px;border-radius:10px}.station-hero-icon svg{width:18px;height:18px}@media(min-width:981px){.station-panel .station-hero:has(.station-hero-icon) .station-hero-meta{margin:2px 0 0 48px}}.station-hero .button-primary,.station-hero .button-secondary{min-height:32px;padding:0 11px;font-size:12px}.station-hero .button-primary svg,.station-hero .button-secondary svg{width:14px;height:14px}.station-panel .kpi-tile.kpi-tile-icon{grid-template-columns:32px minmax(0,1fr);column-gap:10px;row-gap:2px;padding:10px 14px}.station-panel .kpi-tile .kpi-icon{width:32px;height:32px;border-radius:9px}.station-panel .kpi-tile .kpi-icon svg{width:16px;height:16px}.station-panel .kpi-tile.kpi-tile-icon>span{font-size:11px}.station-panel .kpi-tile>strong{min-height:22px;font-size:16px}.station-panel .kpi-tile>strong .status-badge{font-size:13px}:root{--pick-bg: var(--green-soft);--pick-line: color-mix(in srgb, var(--green) 22%, transparent);--pick-text: var(--green-dark)}.theme-dark{--pick-bg: color-mix(in srgb, var(--green) 24%, var(--surface));--pick-line: color-mix(in srgb, var(--green) 35%, transparent);--pick-text: #b6e6c8}.segmented-control button.selected,.report-metric-chips button.selected,.trend-metric-chips button.selected,.theme-dark .segmented-control button.selected,.theme-dark .report-metric-chips button.selected,.theme-dark .trend-metric-chips button.selected{color:var(--pick-text);background:var(--pick-bg);border-color:var(--pick-line);box-shadow:inset 0 0 0 1px var(--pick-line);text-shadow:none}.tab-bar .tab-bar-indicator:not(#_){background:var(--pick-bg);box-shadow:inset 0 0 0 1px var(--pick-line)}.tab-bar .tab-bar-indicator:not(#_):after{display:none}.tab-bar-item.is-selected,.theme-dark .tab-bar-item.is-selected:not(#_){color:var(--pick-text)}.tab-bar-item.is-selected svg{color:var(--pick-text)}@media(max-width:900px),(pointer:coarse){input:not([type=checkbox]):not([type=radio]):not([type=range]),select,textarea{font-size:14px!important}}@media(max-width:900px){.stations-top{grid-template-columns:minmax(0,1fr)}.station-summary-stack{grid-auto-rows:auto}.station-summary-stack>div{min-height:0}.station-summary-stack strong{margin-top:6px}}@media(max-width:720px){.admin-form-heading{flex-wrap:wrap}.admin-form-heading .station-management-title{flex:1 1 calc(100% - 50px)}.station-add-buttons{flex:1 1 100%;margin-left:0}.station-add-buttons>button{flex:1 1 auto}.station-management-list{grid-template-columns:minmax(0,1fr);min-width:0}.station-management-list .source-station-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;min-width:0;max-width:100%}.station-management-list .source-station-row>div{flex:1 1 100%;min-width:0}}@media(max-width:650px){.topbar{height:52px;padding:0 12px}.topbar .last-sync{width:28px;height:28px}.topbar-tools{padding-left:8px}.page-content{padding:12px 10px 16px}.tv-button{display:none!important}.page-heading.page-heading-bar{gap:10px;margin-bottom:10px;padding:12px 12px 12px 16px}.page-heading.page-heading-bar p{display:none}.page-heading-bar h1{gap:10px;font-size:18px}.station-panel .station-hero.page-heading{row-gap:10px;padding:12px 12px 12px 16px}.station-panel .station-hero h1{gap:10px;font-size:16px;line-height:1.25}.station-hero-icon{width:34px;height:34px;border-radius:10px}.station-hero-icon svg{width:18px;height:18px}.station-panel .station-hero .station-hero-meta{margin:-4px 0 0}.station-panel .station-hero.page-heading>.page-heading-actions{flex-wrap:wrap;gap:6px}.station-panel .station-hero .button-group{display:contents}.station-panel .station-hero .page-heading-actions>button,.station-panel .station-hero .button-group>button{flex:1 1 0;min-width:0;min-height:36px;padding:0 8px;border-radius:8px;font-size:12px}.station-panel .station-hero .overview-view-toggle{flex:1 1 100%}.station-panel .overview-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.station-panel .kpi-tile.kpi-tile-icon{grid-template-columns:minmax(0,1fr);padding:10px 12px}.station-panel .kpi-tile.kpi-tile-icon>.kpi-icon{display:none}.station-panel .kpi-tile.kpi-tile-icon>:not(.kpi-icon){grid-column:1}.station-panel .overview-kpis .kpi-tile+.kpi-tile{border-top:0;border-left:1px solid var(--line)}.station-panel .overview-kpis .kpi-tile:nth-child(odd){border-left:0}.station-panel .overview-kpis .kpi-tile:nth-child(n+3){border-top:1px solid var(--line)}.station-panel .kpi-tile.kpi-tile-icon>span,.station-panel .kpi-tile.kpi-tile-icon>small{white-space:normal}.station-panel .kpi-tile .marquee,.station-panel .kpi-tile .marquee-inner{display:block;white-space:normal}.station-panel .kpi-tile.kpi-tile-icon>span{font-size:11px;line-height:1.3}.station-panel .kpi-tile>small{font-size:11px;line-height:1.35}.kpi-tile>strong{min-height:24px;font-size:18px}.reading-grid,.group-station .reading-grid,.telemetry-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.reading-tile{gap:6px;padding:10px 11px}.reading-tile header{gap:4px}.reading-tile header .metric-status{padding:2px 6px;font-size:11px}.reading-tile .metric-sparkline,.telemetry-metric .metric-sparkline{display:none}.value-fit .reading-value strong,.group-station .value-fit .reading-value strong{font-size:clamp(15px,calc((100cqi - 10px - var(--unit-chars, 0) * 7.5px) / (var(--value-chars, 4) * .62)),28px)}.value-fit.telemetry-metric:not(.reading-tile)>strong{font-size:clamp(15px,calc((100cqi - 10px - var(--unit-chars, 0) * 7.5px) / (var(--value-chars, 4) * .62)),26px)}.tab-bar-item.group-start{margin-left:0}.tab-bar-item.group-start:before{display:none}.reading-tile footer{font-size:11px}.readings-heading{gap:8px}.trend-chart{height:auto}.overview-main .trend-chart .line-chart-plot{height:160px}.trend-metric-chips{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}.trend-metric-chips::-webkit-scrollbar{display:none}.trend-metric-chips button{flex:none}.trend-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin-top:10px}.trend-stats>div{padding:7px 8px}.trend-stats dt{font-size:11px;line-height:1.3}.trend-stats dd{font-size:14px}.stations-top .station-map{height:200px}.station-summary-stack>div{gap:4px;padding:10px 12px}.station-summary-stack strong{font-size:20px}.station-summary-stack small{display:none}.telemetry-metric>small{display:none}.telemetry-metric-heading{flex-wrap:wrap;row-gap:3px}.alert-summary{padding:10px 12px}.alert-summary strong{margin-top:4px;font-size:18px}.alert-summary small{display:none}.alert-toolbar .alert-search{flex:1 1 100%}.alert-toolbar .station-status-filter{flex:1 1 calc(50% - 5px);min-width:0}.alert-toolbar .segmented-control{display:flex;flex:1 1 100%}.alert-toolbar .segmented-control button{flex:1}.station-panel .overview-kpis .kpi-tile.kpi-tile-icon{grid-row:span 3;grid-template-rows:subgrid;align-items:start}.station-panel .kpi-tile.kpi-tile-icon>span{letter-spacing:.03em}.group-station{gap:10px;padding:12px}.group-station-head{gap:8px}.group-station-title{flex:1 1 100%}.group-station-title h2{font-size:14px;overflow-wrap:anywhere}.group-station-title .station-hero-meta{gap:4px 10px;font-size:11px}.group-station-title .station-hero-meta>span{min-width:0;overflow-wrap:anywhere}.group-station-title .station-hero-meta .station-hero-tag{font-size:11px}.group-station-actions{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,auto);justify-content:stretch;gap:6px}.group-station-actions>*{min-width:0;justify-content:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.group-station-actions .status-badge{padding:0 8px;min-height:34px;display:inline-flex;align-items:center;font-size:11px}.group-station-actions .alert-level{display:inline-flex;align-items:center;min-height:34px;padding:0 8px;font-size:11px}.group-station-actions .button-secondary{gap:4px;padding:0 8px;font-size:12px}.group-station-actions .button-secondary svg{flex:none}}html{-webkit-text-size-adjust:100%;text-size-adjust:100%;overflow-x:hidden}@supports (overflow: clip){html,body{overflow-x:clip}}@media(max-width:650px){html,body{overscroll-behavior-x:none}.app,.main-area,.page-content{max-width:100%}.page-heading-bar h1,.station-panel .station-hero h1{font-size:16px}.kpi-tile>strong{font-size:16px}.station-panel .kpi-tile.kpi-tile-icon>span{font-size:11px}.station-panel .kpi-tile>small{font-size:11px}.reading-tile header{font-size:12px}.value-fit .reading-value strong,.group-station .value-fit .reading-value strong{font-size:clamp(15px,calc((100cqi - 10px - var(--unit-chars, 0) * 7.5px) / (var(--value-chars, 4) * .62)),24px)}.reading-value small{font-size:11px}.station-panel .station-hero .page-heading-actions>button,.station-panel .station-hero .button-group>button{font-size:12px}}@media(max-width:380px){.group-station-actions{grid-auto-flow:row;grid-template-columns:repeat(2,minmax(0,1fr))}}.overview-view-toggle:not(#_){align-items:center;gap:2px;height:34px;padding:2px;background:var(--surface);border:1px solid var(--line);border-radius:999px;box-shadow:0 1px 2px #1e3c2d0f}.overview-view-toggle:not(#_) button{height:100%;gap:6px;padding:0 12px;color:var(--muted);background:transparent;border:0;border-radius:999px;box-shadow:none;font-size:12px;font-weight:600}.overview-view-toggle:not(#_) button:hover:not(.selected){color:var(--green-dark);background:var(--green-soft)}.overview-view-toggle:not(#_) button.selected{color:#fff;background:linear-gradient(180deg,var(--brand-mid, var(--green)),var(--green-dark));box-shadow:inset 0 1px #ffffff2e,0 2px 6px color-mix(in srgb,var(--green) 30%,transparent)}.overview-view-toggle button:focus-visible{outline:2px solid var(--green);outline-offset:2px}.view-toggle-count{display:inline-grid;place-items:center;min-width:20px;height:18px;padding:0 6px;color:var(--green-dark);background:var(--green-soft);border-radius:999px;font-size:11px;font-weight:700;font-variant-numeric:tabular-nums}.overview-view-toggle button.selected .view-toggle-count{color:var(--green-dark);background:#fff}.theme-dark .overview-view-toggle:not(#_) button:hover:not(.selected){color:var(--forest-glow)}.theme-dark .overview-view-toggle:not(#_) button.selected{color:#0f2219;background:linear-gradient(180deg,var(--forest-glow, #4fd19a),color-mix(in srgb,var(--forest-glow, #4fd19a) 75%,#000))}.theme-dark .overview-view-toggle button.selected .view-toggle-count{color:#0f2219;background:#ffffffb3}@media(min-width:651px){.overview-view-toggle:not(#_){height:30px}.overview-view-toggle:not(#_) button{padding:0 11px;font-size:12px}}@media(min-width:651px){.station-panel .station-hero.page-heading{padding:8px 14px 8px 16px}.station-panel .station-hero h1{gap:10px;font-size:16px}.station-hero-icon{width:32px;height:32px;border-radius:9px}.station-hero-icon svg{width:16px;height:16px}.station-panel .station-hero:has(.station-hero-icon) .station-hero-meta{margin:1px 0 0 42px}.station-hero .button-primary,.station-hero .button-secondary{min-height:30px;padding:0 10px;font-size:12px}.station-panel .kpi-tile.kpi-tile-icon{grid-template-columns:28px minmax(0,1fr);column-gap:10px;row-gap:1px;padding:7px 14px}.station-panel .kpi-tile .kpi-icon{width:28px;height:28px;border-radius:8px}.station-panel .kpi-tile .kpi-icon svg{width:14px;height:14px}.station-panel .kpi-tile.kpi-tile-icon>span{font-size:10px}.station-panel .kpi-tile>strong{min-height:20px;font-size:14px}.station-panel .kpi-tile>strong .status-badge,.station-panel .kpi-tile>strong .status-badge.good,.station-panel .kpi-tile>strong .status-badge.bad{font-size:13px}.station-panel .kpi-tile>small{font-size:11px}}.tv-mode{gap:1vh;padding:1.4vh 1.4vw 1.2vh;background:radial-gradient(120% 90% at 8% -10%,#1f4c39,#10241b 45%,#0a1712)}.tv-mode.is-idle{cursor:none}.tv-mode .tv-bar{gap:1.2vw;padding:1vh 1.2vw;background:#ffffff0b;border:1px solid rgba(255,255,255,.08);border-radius:18px;box-shadow:0 10px 30px #00000038}.tv-mode .tv-bar .brand-mark{width:40px;height:40px;flex-basis:40px;border-radius:12px}.tv-mode .tv-bar-station h1{font-size:1.95em;letter-spacing:-.015em}.tv-mode .tv-bar-station span{color:#a7c4b4;font-size:.8em}.tv-mode .tv-connection .status-badge{gap:.5em;padding:.4em .95em;border-radius:999px;font-size:.95em;text-shadow:none}.tv-mode .tv-connection.is-online .status-badge{color:#8ff0bf;background:#3fbf8629;box-shadow:inset 0 0 0 1px #6fd3a347}.tv-mode .tv-connection.is-offline .status-badge{color:#ffaba0;background:#ff6b5b2e;box-shadow:inset 0 0 0 1px #ff7b6b52}.tv-mode .tv-bar .tv-clock{padding-left:1.2vw;border-left:1px solid rgba(255,255,255,.1)}.tv-mode .tv-bar .tv-clock strong{font-size:2.1em;font-weight:800;letter-spacing:-.02em}.tv-mode .tv-bar .tv-clock span{color:#a7c4b4;font-size:.74em}.tv-mode .tv-controls{padding:4px;background:#00000038;border-radius:12px;transition:opacity .6s ease}.tv-mode .tv-controls button{background:transparent;border-color:transparent;border-radius:9px}.tv-mode .tv-controls button:hover,.tv-mode .tv-controls button:focus-visible{background:#ffffff1a}.tv-mode.is-idle .tv-controls{opacity:0;pointer-events:none}.tv-progress{flex:none;height:3px;overflow:hidden;background:#ffffff0f;border-radius:2px}.tv-progress i{display:block;width:100%;height:100%;background:linear-gradient(90deg,#2fa771,#8ff0bf);transform-origin:left center;animation:tv-countdown linear forwards}@keyframes tv-countdown{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.tv-mode .tv-metrics .tv-metric{gap:1vh;padding:2.4vh 1.5vw 1.9vh;background:linear-gradient(160deg,#ffffff16,#ffffff06 62%);border:1px solid rgba(255,255,255,.08);border-radius:20px;box-shadow:0 12px 32px #00000040,inset 0 1px #ffffff12}.tv-mode .tv-metrics .tv-metric:before{height:5px}.tv-mode .tv-metrics .tv-metric.tone-good:before{background:linear-gradient(90deg,#2fa771,#6fe0a8);box-shadow:0 0 16px #3fbf868c}.tv-mode .tv-metrics .tv-metric.tone-warn:before{background:linear-gradient(90deg,#e3961c,#ffc560);box-shadow:0 0 16px #f0a92e8c}.tv-mode .tv-metrics .tv-metric.tone-bad:before{background:linear-gradient(90deg,#e9503f,#ff8b7d);box-shadow:0 0 16px #ff6b5b99}.tv-mode .tv-metrics .tv-metric>header>.tv-metric-name{color:#eef7f1;font-size:calc(clamp(20px,5.8cqi,44px) * var(--tv-label-scale, 1));font-weight:700;text-shadow:none}.tv-mode .tv-metric-badge{font-size:calc(clamp(12px,2.6cqi,19px) * var(--tv-label-scale, 1))}.tv-mode .tv-metrics .value-fit .tv-metric-value{margin-top:.6vh;font-size:calc(clamp(32px,calc((100cqi - 40px - var(--unit-chars, 0) * 12px) / (var(--value-chars, 4) * .64)),min(150px,calc(19vh / var(--tv-rows, 2)))) * var(--tv-value-scale, 1))}.tv-mode .tv-metric-unit{color:#a7c4b4}.tv-mode .tv-metric .metric-sparkline-line{stroke-width:2.6}.tv-mode .tv-metric .metric-sparkline-area{fill-opacity:.14}.tv-mode .tv-metrics .tv-metric .reading-bar{height:8px}.tv-mode .tv-metric-caption{font-size:calc(clamp(12px,2.8cqi,20px) * var(--tv-label-scale, 1))}.tv-mode .tv-footer button{border-radius:999px;transition:opacity .6s ease}.tv-mode.is-idle .tv-footer button:not(.active){opacity:.45}.tv-size-options button b{display:block;line-height:1.1}.tv-tile-options.tv-size-options{grid-template-columns:repeat(5,1fr)}.tv-size-custom{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:8px}.tv-size-custom>button{width:40px;height:40px;color:#d8eadf;background:#ffffff0f;border:1px solid rgba(255,255,255,.12);border-radius:10px;cursor:pointer;font-size:18px;font-weight:700}.tv-size-custom>button:disabled{opacity:.35;cursor:default}.tv-size-custom>button:focus-visible,.tv-size-custom input:focus-visible{outline:2px solid #a8e0bf;outline-offset:2px}.tv-size-custom label{display:inline-flex;align-items:center;gap:6px}.tv-size-custom input{width:84px;height:40px;padding:0 10px;color:#eef7f1;background:#00000040;border:1px solid rgba(255,255,255,.25);border-radius:10px;font-size:16px;font-weight:700;text-align:center}.tv-size-custom em{color:#d8eadf;font-size:14px;font-style:normal;font-weight:700}.tv-size-custom small{flex-basis:100%;color:#8fae9c;font-size:11px}@media(max-width:900px){.tv-mode .tv-metrics .value-fit .tv-metric-value{font-size:calc(clamp(28px,calc((100cqi - 40px - var(--unit-chars, 0) * 12px) / (var(--value-chars, 4) * .64)),60px) * var(--tv-value-scale, 1))}.tv-mode .tv-bar .tv-clock{padding-left:0;border-left:0}}@media(prefers-reduced-motion:reduce){.tv-progress i{animation:none;transform:scaleX(.5)}.tv-mode .tv-controls{transition:none}}.tv-mode.tv-custom-colors{color:var(--tv-text);background:var(--tv-bg)}.tv-mode.tv-custom-colors .tv-bar{background:#8080801f;background:color-mix(in srgb,var(--tv-text) 7%,var(--tv-bg));border-color:#8080804d;border-color:color-mix(in srgb,var(--tv-text) 16%,transparent);box-shadow:none}.tv-mode.tv-custom-colors .tv-bar-station h1,.tv-mode.tv-custom-colors .tv-bar .tv-clock strong,.tv-mode.tv-custom-colors .tv-metrics .tv-metric>header>.tv-metric-name,.tv-mode.tv-custom-colors .tv-metrics .value-fit .tv-metric-value{color:var(--tv-text)}.tv-mode.tv-custom-colors .tv-bar-station span,.tv-mode.tv-custom-colors .tv-bar .tv-clock span,.tv-mode.tv-custom-colors .tv-metric-unit,.tv-mode.tv-custom-colors .tv-metric-caption,.tv-mode.tv-custom-colors .tv-metric-caption span:last-child,.tv-mode.tv-custom-colors .tv-footer>span{color:var(--tv-text);opacity:.78}.tv-mode.tv-custom-colors .tv-bar .tv-clock{border-left-color:#80808059;border-left-color:color-mix(in srgb,var(--tv-text) 20%,transparent)}.tv-mode.tv-custom-colors .tv-metrics .tv-metric{background:#8080801a;background:color-mix(in srgb,var(--tv-text) 6%,var(--tv-bg));border-color:#8080804d;border-color:color-mix(in srgb,var(--tv-text) 18%,transparent);box-shadow:none}.tv-mode.tv-custom-colors .tv-controls{background:#80808026}.tv-mode.tv-custom-colors .tv-controls button,.tv-mode.tv-custom-colors .tv-footer button{color:var(--tv-text)}.tv-mode.tv-custom-colors .tv-footer button{background:transparent;border-color:#80808066;border-color:color-mix(in srgb,var(--tv-text) 25%,transparent)}.tv-mode.tv-custom-colors .tv-footer button.active{color:var(--tv-bg);background:var(--tv-text);border-color:var(--tv-text)}.tv-mode.tv-custom-colors .tv-progress{background:#80808033}.report-summary-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:12px}.report-summary-tile{display:flex;align-items:flex-start;gap:11px;padding:13px 14px;background:var(--surface);border:1px solid var(--line);border-radius:10px;box-shadow:0 1px 2px #16261f0a}.report-summary-tile>div{display:grid;gap:2px;min-width:0}.report-summary-icon{display:inline-grid;place-items:center;flex:none;width:32px;height:32px;color:var(--green);background:var(--green-soft);border-radius:8px}.report-summary-label{color:var(--muted);font-size:11px;font-weight:600}.report-summary-tile strong{color:var(--text);font-family:var(--app-font);font-size:18px;font-weight:700;line-height:1.25;font-variant-numeric:tabular-nums}.report-summary-tile small{overflow:hidden;color:var(--muted);font-size:11px;text-overflow:ellipsis;white-space:nowrap}.report-summary-tile.tone-good strong{color:var(--green)}.report-summary-tile.tone-warn strong{color:var(--amber)}.report-summary-tile.tone-warn .report-summary-icon{color:var(--amber);background:var(--amber-soft)}.report-summary-tile.tone-bad strong{color:var(--red)}.report-summary-tile.tone-bad .report-summary-icon{color:var(--red);background:var(--red-soft)}.report-summary-skeleton{display:inline-block;width:70px;height:18px;vertical-align:middle;background:linear-gradient(90deg,var(--surface-soft),var(--line),var(--surface-soft));background-size:200% 100%;border-radius:5px;animation:report-skeleton 1.2s linear infinite}@keyframes report-skeleton{to{background-position:-200% 0}}.export-menu{position:relative}.export-menu>.button-primary{display:inline-flex;align-items:center;gap:6px}.export-menu-list{position:absolute;z-index:30;top:calc(100% + 6px);right:0;display:grid;gap:2px;width:290px;padding:6px;background:var(--surface);border:1px solid var(--line);border-radius:10px;box-shadow:0 12px 32px #16261f29}.export-menu-list button{display:flex;align-items:center;gap:11px;padding:9px 10px;color:var(--text);text-align:left;background:transparent;border:0;border-radius:7px;cursor:pointer}.export-menu-list button:hover,.export-menu-list button:focus-visible{background:var(--surface-soft);outline:none}.export-menu-list button>span:last-child{display:grid;gap:2px}.export-menu-list strong{font-size:12px}.export-menu-list small{color:var(--muted);font-size:11px}.export-menu-badge{display:inline-grid;place-items:center;flex:none;width:40px;height:28px;color:var(--text-2);background:var(--surface-soft);border:1px solid var(--line);border-radius:6px;font-size:11px;font-weight:800;letter-spacing:.04em}.export-menu-badge.is-excel{color:#fff;background:#1d6f42;border-color:#1d6f42}.export-menu-error{position:absolute;top:calc(100% + 6px);right:0;width:260px;margin:0;padding:8px 10px;color:var(--red);background:var(--red-soft);border-radius:8px;font-size:11px}.report-table-rich tbody tr:not(.report-day-row):nth-child(2n)>td{background:var(--surface-soft)}.report-table-rich tbody tr:not(.report-day-row):hover>td{background:var(--green-soft)}.report-table-sticky tbody tr:not(.report-day-row)>td:first-child,.report-table-sticky thead th:first-child{position:sticky;left:0;z-index:1;background:var(--surface)}.report-table-sticky thead th:first-child{z-index:3}.report-table-sticky tbody tr:not(.report-day-row):nth-child(2n)>td:first-child{background:var(--surface-soft)}.report-table-rich tbody tr:not(.report-day-row)>td:first-child{font-variant-numeric:tabular-nums;box-shadow:inset -1px 0 0 var(--line)}.report-table-rich tbody tr:not(.report-day-row)>td.report-cell-exceeded{background:var(--red-soft)}.report-table-rich tbody tr:not(.report-day-row)>td.report-cell-calibrating{background:var(--amber-soft)}.report-table-rich tbody tr:not(.report-day-row)>td.report-cell-error{background:#f6edf7}.report-table-rich tbody tr:not(.report-day-row)>td.report-cell-sparse{background:repeating-linear-gradient(135deg,rgba(120,135,126,.09) 0 6px,transparent 6px 12px),var(--surface)}.report-table-rich tbody tr:not(.report-day-row)>td.report-cell-exceeded.is-sparse{background:repeating-linear-gradient(135deg,rgba(199,54,42,.14) 0 6px,transparent 6px 12px),var(--red-soft)}.report-table-rich tbody tr.report-row-maintenance>td{background:#fff7e8}.report-day-row>td{height:30px;padding:0;background:var(--surface);border-bottom:0}.report-day-row>td>span{position:sticky;left:0;display:inline-flex;align-items:center;gap:8px;padding:10px 10px 4px;color:var(--green);font-size:11px;font-weight:800;letter-spacing:.03em;text-transform:uppercase}.report-day-row>td>span:after{content:"";width:40px;height:1px;background:var(--line)}.theme-dark .report-table-rich tbody tr>td.report-cell-error{background:#3e2c40}.theme-dark .report-table-rich tbody tr.report-row-maintenance>td{background:#ffc35c12}.report-visual-head{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;margin-bottom:10px}.report-visual-head strong{color:var(--text);font-size:12px}.report-visual-note{margin:8px 0 0;color:var(--muted);font-size:11px}.report-day-axis{position:relative;height:18px;margin-top:4px}.report-day-axis span{position:absolute;top:0;color:var(--muted);font-size:11px;transform:translate(-50%);white-space:nowrap;font-variant-numeric:tabular-nums}.exceed-visual{margin:4px 0 14px}.exceed-heatmap-box,.signal-timeline{padding:13px 14px;background:var(--surface-soft);border:1px solid var(--line);border-radius:10px}.exceed-heatmap{display:grid;grid-template-columns:30px minmax(0,1fr);gap:6px}.exceed-heatmap-hours{position:relative;height:192px}.exceed-heatmap-hours span{position:absolute;right:0;color:var(--muted);font-size:11px;line-height:1}.exceed-heatmap-grid{display:grid;grid-auto-flow:column;grid-template-rows:repeat(24,8px);gap:0 2px;height:192px}.exceed-heatmap-grid i,.heat-legend i{display:block;background:#78877e1a;border-radius:2px}.exceed-heatmap-grid i{margin-bottom:0;box-shadow:inset 0 -1px 0 var(--surface-soft)}.exceed-heatmap-grid i:hover{outline:1.5px solid var(--text);outline-offset:-1px}.exceed-heatmap-grid .lv1,.heat-legend .lv1{background:#f9cfc6}.exceed-heatmap-grid .lv2,.heat-legend .lv2{background:#ef9a89}.exceed-heatmap-grid .lv3,.heat-legend .lv3{background:#e0614d}.exceed-heatmap-grid .lv4,.heat-legend .lv4{background:#b8321f}.heat-legend{display:inline-flex;align-items:center;gap:3px;color:var(--muted);font-size:11px}.heat-legend i{width:12px;height:12px}.signal-timeline{margin-bottom:14px}.signal-legend{display:inline-flex;flex-wrap:wrap;gap:12px;color:var(--muted);font-size:11px}.signal-legend span{display:inline-flex;align-items:center;gap:5px}.signal-legend i{display:inline-block;width:14px;height:9px;border-radius:3px}.signal-timeline-row{display:grid;grid-template-columns:minmax(120px,190px) minmax(0,1fr) 56px;align-items:center;gap:12px;padding:5px 0}.signal-timeline-row.is-axis{padding:0}.signal-timeline-name{display:grid;min-width:0}.signal-timeline-name strong{overflow:hidden;color:var(--text);font-size:12px;text-overflow:ellipsis;white-space:nowrap}.signal-timeline-name small{color:var(--muted);font-size:11px}.signal-timeline-value{color:var(--text-2);font-size:12px;font-weight:700;text-align:right;font-variant-numeric:tabular-nums}.signal-timeline-track{position:relative;height:16px;background:#5fbf8f;border-radius:4px;overflow:hidden}.signal-timeline-track i{position:absolute;top:0;bottom:0;min-width:2px}.signal-timeline-track i:hover{filter:brightness(.85)}.signal-legend .tone-ok{background:#5fbf8f}.signal-timeline .tone-none{background:#d23f2f}.signal-timeline .tone-partial{background:#f0a43a}.signal-timeline .tone-full{background:repeating-linear-gradient(135deg,#f3d36b 0,#f3d36b 4px,#e8bf3f 4px,#e8bf3f 8px)}.theme-dark .signal-timeline-track,.theme-dark .signal-legend .tone-ok{background:#2f8f62}@media(max-width:1100px){.report-summary-strip{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:650px){.report-summary-strip{gap:8px}.report-summary-tile{padding:10px}.report-summary-icon{display:none}.report-summary-tile strong{font-size:16px}.signal-timeline-row{grid-template-columns:90px minmax(0,1fr) 46px;gap:8px}.report-day-axis span:nth-child(2n){display:none}.export-menu-list{width:min(290px,calc(100vw - 40px))}}@media print{.report-summary-strip,.export-menu{display:none}}.report-mobile-bar,.report-filter-summary{display:none}.font-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:10px}.font-option{display:grid;gap:6px;padding:13px 14px;color:var(--text);text-align:left;background:var(--surface);border:1px solid var(--line);border-radius:12px;cursor:pointer;transition:border-color .15s,box-shadow .15s,transform .15s}.font-option:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 16px #142d201a}.font-option.is-selected{border-color:var(--green);box-shadow:0 0 0 2px color-mix(in srgb,var(--green) 30%,transparent)}.font-option:disabled{cursor:wait;opacity:.7}.font-option-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.font-option-head strong{font-size:13px;font-weight:700}.font-option-head svg{color:var(--green)}.font-option-sample{color:var(--green);font-size:22px;font-weight:700;line-height:1.15;letter-spacing:-.01em}.font-option-text{color:var(--text-2);font-size:12px;line-height:1.4}.font-option small{color:var(--muted);font-size:11px}.admin-layout .font-grid{margin-top:2px}.font-option-badge{flex:none;padding:2px 8px;color:var(--green);background:var(--green-soft);border-radius:999px;font-family:var(--app-font);font-size:11px;font-weight:700}.font-option-badge.is-preview{color:var(--amber);background:var(--amber-soft)}.font-apply-bar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px 14px;margin-top:12px;padding:10px 12px;color:var(--text-2);background:var(--surface-soft);border:1px solid var(--line);border-radius:10px;font-size:12px}.font-apply-bar.is-pending{background:var(--amber-soft);border-color:color-mix(in srgb,var(--amber) 35%,transparent)}.font-apply-bar>div{display:flex;gap:8px;margin-left:auto}.font-apply-bar .button-primary{display:inline-flex;align-items:center;gap:6px}.admin-message.is-error{color:var(--red)}@media(max-width:650px){.font-apply-bar>div{width:100%}.font-apply-bar>div>button{flex:1;justify-content:center}}.alert-toolbar .alert-log-title{margin:0;white-space:nowrap}.bottom-nav{display:none}@media(max-width:650px){.bottom-nav{position:fixed;z-index:18;right:0;bottom:0;left:0;display:grid;padding:6px 6px calc(6px + env(safe-area-inset-bottom));background:color-mix(in srgb,var(--surface) 94%,transparent);border-top:1px solid var(--line);box-shadow:0 -6px 20px #11352a14;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.bottom-nav button{display:grid;justify-items:center;gap:3px;min-width:0;padding:5px 2px 4px;color:var(--muted);background:transparent;border:0;border-radius:12px;cursor:pointer;font:inherit;-webkit-tap-highlight-color:transparent;transition:color .15s,background .15s}.bottom-nav button:active{transform:scale(.96)}.bottom-nav-icon{position:relative;display:grid;place-items:center;width:52px;height:30px;border-radius:999px;transition:background .2s}.bottom-nav button.is-active{color:var(--green)}.bottom-nav button.is-active .bottom-nav-icon{background:var(--pick-bg, var(--green-soft))}.bottom-nav-icon b{position:absolute;top:-3px;right:6px;min-width:18px;height:18px;padding:0 5px;color:#fff;background:var(--red);border:2px solid var(--surface);border-radius:999px;font-size:10px;font-weight:800;line-height:14px;text-align:center}.bottom-nav-label{overflow:hidden;max-width:100%;font-size:11px;font-weight:600;text-overflow:clip;white-space:nowrap}.bottom-nav button.is-active .bottom-nav-label{font-weight:800}.page-content{padding-bottom:calc(84px + env(safe-area-inset-bottom))}.sidebar .nav-label,.sidebar .side-nav{display:none!important}}@media print{.bottom-nav{display:none!important}}.alert-summary.alert-summary-filter{width:100%;color:inherit;text-align:center;cursor:pointer;font:inherit;transition:border-color .15s,box-shadow .15s,background .15s,transform .15s}.alert-summary.alert-summary-filter:focus-visible{outline:2px solid var(--green);outline-offset:2px}.alert-summary.alert-summary-filter.is-active{--tile-tone: #2fa771;background:color-mix(in srgb,var(--tile-tone) 9%,var(--surface));border-color:color-mix(in srgb,var(--tile-tone) 45%,var(--line));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--tile-tone) 35%,transparent),0 4px 14px color-mix(in srgb,var(--tile-tone) 14%,transparent)}.alert-summary.alert-summary-filter.urgent.is-active{--tile-tone: var(--red)}.alert-summary.alert-summary-filter.watch.is-active{--tile-tone: #d98b12}.leaflet-container path.map-pulse{transform-box:fill-box;transform-origin:center;pointer-events:none;animation:map-pulse 2.6s ease-out infinite}.leaflet-container path.map-pulse.tone-alert{animation-duration:1.1s}.leaflet-container path.map-pulse.tone-warning{animation-duration:1.7s}.leaflet-container path.map-pulse.tone-offline{animation-duration:3.4s;opacity:.5}.leaflet-container path.map-dot{transform-box:fill-box;transform-origin:center;animation:map-dot-glow 2.6s ease-in-out infinite}.leaflet-container path.map-dot.tone-alert{animation-duration:1.1s}.leaflet-container path.map-dot.tone-warning{animation-duration:1.7s}.leaflet-container path.map-dot.tone-offline{animation:none}@keyframes map-pulse{0%{transform:scale(1);opacity:.7}70%{opacity:0}to{transform:scale(3);opacity:0}}@keyframes map-dot-glow{0%,to{filter:brightness(1) drop-shadow(0 0 0 transparent)}50%{filter:brightness(1.25) drop-shadow(0 0 5px currentColor)}}.leaflet-container path.map-dot.tone-good{color:#2f9a68}.leaflet-container path.map-dot.tone-warning{color:#d39a2c}.leaflet-container path.map-dot.tone-alert{color:#d0503f}@media(prefers-reduced-motion:reduce){.leaflet-container path.map-pulse,.leaflet-container path.map-dot{animation:none}}.leaflet-tooltip.map-label{max-width:150px;padding:1px 7px;color:#16261f;background:#ffffffeb;border:1px solid rgba(17,53,42,.14);border-radius:7px;box-shadow:0 1px 4px #11352a2e;font:700 11px/1.5 var(--app-font, system-ui);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.leaflet-tooltip.map-label:before{display:none}.leaflet-tooltip.map-label.tone-alert{color:#b23a2b;border-color:#d0503f66}.leaflet-tooltip.map-label.tone-offline{color:#6f7a73}@media(max-width:650px){.leaflet-tooltip.map-label{max-width:110px;font-size:10px}}.heading-stats{display:flex;flex:none;align-items:stretch;margin:0}.heading-stats>div{display:grid;align-content:center;justify-items:end;gap:2px;padding:2px 18px;border-left:1px solid var(--line)}.heading-stats>div:first-child{border-left:0}.heading-stats>div:last-child{padding-right:4px}.heading-stats dt{color:var(--muted);font-size:11px;font-weight:600;white-space:nowrap}.heading-stats dd{margin:0;color:var(--text);font-family:var(--app-font);font-size:20px;font-weight:800;line-height:1.1;font-variant-numeric:tabular-nums}.heading-stats .tone-good dd{color:var(--green)}.heading-stats .tone-bad dd{color:var(--red)}.heading-stats .tone-warn dd{color:var(--amber)}.heading-stats .tone-muted dd{color:var(--muted)}@media(max-width:1100px){.heading-stats>div{padding:2px 11px}.heading-stats dd{font-size:18px}}@media(max-width:640px){.heading-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));padding-top:10px;border-top:1px solid var(--line)}.heading-stats>div{grid-template-rows:1fr auto;align-content:stretch;justify-items:center;padding:0 4px;text-align:center}.heading-stats dt{align-self:end}.heading-stats>div:last-child{padding-right:4px}.heading-stats dt{font-size:11px;white-space:normal;line-height:1.25}.heading-stats dd{font-size:18px}}:root{--stack-gap: 8px}.page-content :where(.overview-hero,.kpi-grid,.dashboard-grid,.station-summary,.alert-summary-grid,.admin-overview,.telemetry-section,.report-filters,.report-card,.station-map-card,.overview-layout,.stations-top,.stations-list-card,.overview-kpis,.admin-control,.page-heading-compact,.report-summary-strip,.station-panel){margin-bottom:var(--stack-gap)}.page-content :where(.kpi-grid,.dashboard-grid,.station-summary,.alert-summary-grid,.admin-overview,.overview-layout,.stations-top,.overview-kpis,.admin-layout,.report-summary-strip){gap:var(--stack-gap)}.page-content .page-heading.page-heading-bar{margin-bottom:var(--stack-gap)}.report-tab-options{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px 14px;margin-top:12px;padding-top:12px;border-top:1px solid var(--line)}.report-tab-option{display:flex;align-items:center;flex-wrap:wrap;gap:8px 12px;min-width:0}.report-tab-option>span{color:var(--text-2);font-size:12px;font-weight:600}.report-tab-options>.button-primary{display:inline-flex;align-items:center;gap:6px}@media(max-width:650px){.report-tab-options{align-items:stretch;margin-top:10px;padding-top:10px}.report-tab-option{flex-direction:column;align-items:stretch;gap:6px;width:100%}.report-tab-option>.segmented-control{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.report-tab-option>.segmented-control button{justify-content:center}.report-tab-options>.button-primary{justify-content:center;width:100%}}.status-filter{display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:6px}.status-filter-item{--tone: var(--green);--tone-soft: var(--pick-bg, var(--green-soft));display:inline-flex;align-items:center;justify-content:center;gap:6px;min-width:0;height:32px;padding:0 13px 0 6px;color:var(--muted);background:var(--surface-soft);border:1px solid var(--line);border-radius:999px;cursor:pointer;font:inherit;font-size:12px;font-weight:600;white-space:nowrap;transition:background .18s,border-color .18s,color .18s}.status-filter-item.tone-calibrating{--tone: #d39a2c;--tone-soft: var(--amber-soft)}.status-filter-item.tone-error{--tone: #9b5aa5;--tone-soft: #f6edf7}.status-filter-item:hover{color:var(--text-2);border-color:color-mix(in srgb,var(--tone) 40%,var(--line))}.status-filter-item.is-selected{color:var(--text);background:var(--tone-soft);border-color:color-mix(in srgb,var(--tone) 45%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--tone) 30%,transparent);font-weight:700}.status-filter-item.tone-all.is-selected{color:var(--pick-text, var(--green))}.status-filter-code{display:inline-grid;flex:none;place-items:center;width:20px;height:20px;color:#fff;background:var(--tone);border-radius:50%;font-size:11px;font-style:normal;font-weight:800;line-height:1}.status-filter-item:not(.is-selected) .status-filter-code{opacity:.8}.theme-dark .status-filter-item.tone-error{--tone-soft: #3e2c40}@media(max-width:650px){.status-filter{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%}.status-filter-item{justify-content:flex-start;height:36px;padding-right:10px}}.report-summary-tile .marquee,.report-filter-summary .marquee,.signal-timeline-name .marquee,.history-metric-heading strong .marquee,.alert-info>span .marquee,.source-station-row .marquee,.camera-wall-tile-info .marquee,.hosted-events li>span .marquee,.tree-catalog-text small .marquee,.station-name small .marquee{display:block}@media(max-width:650px){.page-heading.report-heading{display:none}.report-control.report-filters{padding:10px 12px 12px}.report-control>.tab-bar{display:none}.report-mobile-bar{display:flex;gap:8px;margin-bottom:8px}.report-type-select{position:relative;display:flex;flex:1;align-items:center;min-width:0;color:var(--green)}.report-type-select>svg{position:absolute;pointer-events:none}.report-type-select>svg:first-of-type{left:12px}.report-type-select>svg:last-of-type{right:12px;color:var(--muted)}.report-type-select select{width:100%;height:42px;padding:0 36px 0 38px;color:var(--text);background:var(--green-soft);border:1px solid color-mix(in srgb,var(--green) 25%,transparent);border-radius:10px;font:inherit;font-size:13px;font-weight:700;-moz-appearance:none;appearance:none;-webkit-appearance:none}.report-mobile-icon{display:inline-grid;place-items:center;flex:none;width:42px;height:42px;padding:0}.report-filter-summary{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;padding:9px 12px;color:var(--text);text-align:left;background:var(--surface-soft);border:1px solid var(--line);border-radius:10px;cursor:pointer;font:inherit}.report-filter-summary>span:first-child{display:grid;gap:1px;min-width:0}.report-filter-summary strong{overflow:hidden;font-size:13px;text-overflow:ellipsis;white-space:nowrap}.report-filter-summary small{color:var(--muted);font-size:11px}.report-filter-toggle{display:inline-flex;flex:none;align-items:center;gap:3px;padding:5px 10px;color:var(--green);background:var(--surface);border:1px solid var(--line);border-radius:999px;font-size:12px;font-weight:700}.report-control.is-open .report-filter-toggle svg{transform:rotate(180deg)}.report-control>.report-filter-summary+.report-filter-fields{margin-top:12px;padding-top:0;border-top:0}.report-control.is-collapsed .report-filter-fields,.report-control.is-collapsed .report-metric-chips,.report-control.is-collapsed .report-search-hint{display:none}.theme-dark .report-type-select select{background:#173a2a}}.tv-mode.tv-custom-colors .tv-metric .metric-sparkline-axis{stroke:#8080804d}.tv-mode.tv-custom-colors .tv-metric-reading .metric-trend{color:inherit;background:#8080802e}.tv-mode.tv-custom-colors .tv-metrics .tv-metric.tone-warn .tv-metric-value{color:#ffc560}.tv-mode.tv-custom-colors .tv-metrics .tv-metric.tone-bad .tv-metric-value{color:#ff8b7d}.tv-mode.tv-light .tv-metrics .tv-metric.tone-warn .tv-metric-value{color:#a85f00}.tv-mode.tv-light .tv-metrics .tv-metric.tone-bad .tv-metric-value{color:#c4321f}.tv-mode.tv-light .tv-metric-badge{color:#11734a;background:#11734a1f}.tv-mode.tv-light .tv-metric-badge.tone-warn,.tv-mode.tv-light .tv-metric-badge.tone-invalid{color:#8a5300;background:#c8780024}.tv-mode.tv-light .tv-metric-badge.tone-bad{color:#b42318;background:#d23f2f24}.tv-mode.tv-light .tv-connection.is-online .status-badge{color:#11734a;background:#11734a1f;box-shadow:inset 0 0 0 1px #11734a4d}.tv-mode.tv-light .tv-connection.is-offline .status-badge{color:#b42318;background:#d23f2f1f;box-shadow:inset 0 0 0 1px #d23f2f4d}.tv-mode.tv-light .tv-metric .metric-sparkline-line{stroke:#1f8a5c}.tv-mode.tv-light .tv-metric .metric-sparkline-area{fill:#1f8a5c}.tv-mode.tv-light .tv-metric.tone-warn .metric-sparkline-line{stroke:#c77d00}.tv-mode.tv-light .tv-metric.tone-warn .metric-sparkline-area{fill:#c77d00}.tv-mode.tv-light .tv-metric.tone-bad .metric-sparkline-line{stroke:#d23f2f}.tv-mode.tv-light .tv-metric.tone-bad .metric-sparkline-area{fill:#d23f2f}.tv-mode.tv-light .tv-metrics .tv-metric .reading-bar{background:#0000001a}.tv-mode.tv-light .tv-metrics .tv-metric .reading-bar i{background:#1f8a5c}.tv-mode.tv-light .tv-metrics .tv-metric.tone-warn .reading-bar i{background:#c77d00}.tv-mode.tv-light .tv-metrics .tv-metric.tone-bad .reading-bar i{background:#d23f2f}.tv-theme-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.tv-theme-options button{display:grid;gap:6px;padding:6px;color:#d8eadf;background:#ffffff0f;border:1px solid rgba(255,255,255,.12);border-radius:10px;cursor:pointer;font-size:12px;font-weight:600;text-align:center}.tv-theme-options button b{display:block;padding:10px 4px;border:1px solid rgba(255,255,255,.14);border-radius:7px;font-size:16px;font-weight:800;font-variant-numeric:tabular-nums}.tv-theme-options button.active{border-color:#a8e0bf;box-shadow:0 0 0 2px #a8e0bf}.tv-theme-options button:focus-visible,.tv-tile-options button:focus-visible{outline:2px solid #a8e0bf;outline-offset:2px}.tv-color-pickers{display:flex;flex-wrap:wrap;gap:14px}.tv-color-pickers label{display:inline-flex;align-items:center;gap:8px;font-size:13px;cursor:pointer}.tv-color-pickers input{width:44px;height:32px;padding:0;background:none;border:1px solid rgba(255,255,255,.25);border-radius:6px;cursor:pointer}@media(max-width:520px){.tv-theme-options{grid-template-columns:repeat(2,minmax(0,1fr))}}.license-steps{display:grid;gap:6px;margin:4px 0 18px;padding-left:20px;color:var(--text-2);font-size:13px}.license-activation{display:grid;gap:12px}.license-machine{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:4px 12px;padding:14px 16px;background:var(--green-soft);border:1px solid color-mix(in srgb,var(--green) 30%,transparent);border-radius:12px}.license-machine span{grid-column:1 / -1;color:var(--muted);font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.license-machine strong{color:var(--green-dark);font-family:ui-monospace,Consolas,monospace;font-size:18px;font-weight:800;letter-spacing:.06em;-webkit-user-select:all;user-select:all;overflow-wrap:anywhere}.license-file{position:relative;display:flex;align-items:center;justify-content:center;gap:12px;min-height:52px;padding:10px 16px;color:var(--green-dark);background:var(--surface);border:2px dashed color-mix(in srgb,var(--green) 45%,var(--line));border-radius:12px;cursor:pointer;font-weight:700;transition:background .15s,border-color .15s}.license-file>i{display:grid;flex:none;place-items:center;width:36px;height:36px;color:var(--green);background:var(--green-soft);border-radius:10px}.license-file>span{display:grid;gap:2px;min-width:0}.license-file strong{font-size:13px}.license-file small{color:var(--muted);font-size:12px;font-weight:500}.license-file:hover{background:var(--green-soft);border-color:var(--green)}.license-file.is-busy{cursor:progress;opacity:.7}.license-file input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:inherit}.license-file:focus-within{outline:2px solid var(--green);outline-offset:2px}.license-admin{display:grid;gap:14px}.license-activation.is-wide{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch}.license-activation.is-wide .license-file{justify-content:flex-start}.license-activation.is-wide .license-message{grid-column:1 / -1}@media(max-width:760px){.license-activation.is-wide{grid-template-columns:minmax(0,1fr)}}.license-details{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;margin:0}.license-details>div{display:grid;align-content:start;gap:4px;padding:12px 14px;background:var(--surface-soft);border:1px solid var(--line);border-radius:10px}.license-details dt{color:var(--muted);font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.license-details dd{margin:0;color:var(--text);font-size:14px;font-weight:700;font-variant-numeric:tabular-nums}.license-details dd small{margin-left:6px;padding:1px 8px;color:var(--green-dark);background:var(--green-soft);border-radius:999px;font-size:11px;font-weight:700;white-space:nowrap}.license-details .is-soon dd small{color:var(--amber);background:var(--amber-soft)}.license-term{display:block;height:5px;margin-top:4px;overflow:hidden;background:color-mix(in srgb,var(--text) 8%,transparent);border-radius:999px}.license-term b{display:block;height:100%;background:var(--green);border-radius:inherit}.license-details .is-soon .license-term b{background:var(--amber)}.license-admin{gap:10px}.license-admin .report-card-toolbar{margin-bottom:2px}.license-admin .license-details{gap:8px}.license-admin .license-details>div{gap:2px;padding:8px 12px;border-radius:9px}.license-admin .license-details dt{font-size:11px}.license-admin .license-details dd{font-size:13px}.license-admin .license-details dd small{margin-left:4px;padding:0 7px;font-size:11px}.license-admin .license-term{height:4px;margin-top:3px}.license-admin .license-activation{gap:8px}.license-admin .license-machine{gap:0 10px;padding:8px 12px;border-radius:9px}.license-admin .license-machine span{font-size:11px}.license-admin .license-machine strong{font-size:14px;letter-spacing:.05em}.license-admin .license-machine .button-secondary{min-height:30px;padding:0 10px;font-size:12px}.license-admin .license-file{gap:10px;min-height:0;padding:8px 12px;border-width:1.5px;border-radius:9px}.license-admin .license-file>i{width:30px;height:30px;border-radius:8px}.license-admin .license-file>i svg{width:15px;height:15px}.license-admin .license-file strong{font-size:13px}.license-admin .license-file small{font-size:11px}.license-banner{display:flex;align-items:center;gap:10px;width:calc(100% - 28px);margin:10px 14px 0;padding:10px 14px;color:#6b4300;background:#fff4dc;border:1px solid #f0cf86;border-radius:10px;cursor:pointer;font:inherit;font-size:13px;font-weight:600;text-align:left}.license-banner svg{flex:none;color:#c98512}.theme-dark .license-banner{color:#ffd98a;background:#3d3220;border-color:#6b5426}.reset-confirm{display:grid;gap:14px;max-width:760px}.reset-lists{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.reset-lists>div{display:grid;gap:4px;padding:10px 12px;background:var(--surface-soft);border:1px solid var(--line);border-radius:10px;font-size:12px;line-height:1.5}.reset-lists>div:first-child{background:var(--red-soft);border-color:color-mix(in srgb,var(--red) 30%,transparent)}.reset-lists strong{font-size:11px;letter-spacing:.04em;text-transform:uppercase}.reset-lists>div:first-child strong{color:var(--red)}.reset-confirm .config-field input{font-family:ui-monospace,Consolas,monospace;letter-spacing:.04em}.reset-submit:not(#_){background:linear-gradient(180deg,#d9483a,#b8372a);border-color:#b8372a}.reset-submit:not(#_):disabled{opacity:.5}.reset-done{display:flex;align-items:center;gap:8px;margin:0;padding:10px 12px;color:var(--green-dark);background:var(--green-soft);border-radius:10px;font-size:13px}@media(max-width:760px){.reset-lists{grid-template-columns:minmax(0,1fr)}}.accrued-fee{display:inline-flex;flex:0 1 auto;align-items:center;gap:5px;max-width:460px;min-width:0;margin-left:auto;padding:1px 4px;color:var(--text-2);background:none;border:0;border-radius:6px;cursor:pointer;font:inherit;font-size:11px;font-weight:600;line-height:1.4}.accrued-fee>svg{flex:none;color:var(--green)}.accrued-fee .marquee{min-width:0}.accrued-fee:hover{color:var(--green);background:var(--green-soft)}.accrued-fee:focus-visible{outline:none;box-shadow:var(--glow-green)}@media(max-width:650px){.accrued-fee{display:none}}.fee-page,.fee-settings{display:grid;grid-template-columns:minmax(0,1fr);gap:8px;min-width:0}.fee-views{display:flex;gap:4px;padding:4px;overflow-x:auto;background:var(--surface);border:1px solid var(--line);border-radius:12px;scrollbar-width:none}.fee-views button{display:inline-flex;flex:none;align-items:center;gap:7px;padding:8px 14px;color:var(--text-2);background:transparent;border:0;border-radius:9px;cursor:pointer;font-family:inherit;font-size:13px;font-weight:600;line-height:1.2;white-space:nowrap}.fee-views button:hover{color:var(--text);background:var(--surface-soft)}.fee-views button.is-selected{color:var(--green);background:var(--green-soft);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--green) 28%,transparent)}.report-subtabs{margin:0 0 8px}.report-control>.tab-bar:has(+.report-subtabs){margin-bottom:6px}.report-subtabs+.report-filter-fields{padding-top:10px;border-top:1px solid var(--line)}.report-filter-fields.is-station-only{display:block}.report-filter-fields.is-station-only .config-field{display:flex;align-items:center;gap:10px;max-width:460px}.report-filter-fields.is-station-only .config-field>span{flex:none;margin:0;white-space:nowrap}.report-filter-fields.is-station-only .config-field>select{flex:1;min-width:0}.report-subtabs:empty{display:none}.fee-views.is-compact{display:inline-flex;max-width:100%;gap:2px;padding:3px;background:var(--surface-soft);border:1px solid var(--line);border-radius:10px}.fee-views.is-compact button{gap:6px;padding:5px 11px;border-radius:7px;font-size:12px}.fee-views.is-compact button.is-selected{background:var(--surface);box-shadow:0 1px 2px #0a281e14,inset 0 0 0 1px color-mix(in srgb,var(--green) 28%,transparent)}.fee-pill{display:inline-flex;align-items:center;gap:4px;padding:3px 9px;border-radius:999px;font-size:11px;font-weight:650;line-height:1.35;white-space:nowrap}.fee-pill.tone-good{color:var(--green);background:var(--green-soft)}.fee-pill.tone-warn{color:var(--amber);background:var(--amber-soft)}.fee-pill.tone-bad{color:var(--red);background:var(--red-soft)}.fee-pill.tone-info{color:#2a64c2;background:color-mix(in srgb,#2a64c2 12%,var(--surface))}.fee-pill.tone-muted{color:var(--muted);background:var(--surface-soft);box-shadow:inset 0 0 0 1px var(--line)}.fee-banner{display:flex;align-items:center;gap:10px;margin:0 0 12px;padding:10px 13px;color:var(--text);background:var(--surface-soft);border:1px solid var(--line);border-radius:10px;font-size:13px}.fee-banner>span{flex:1;min-width:0}.fee-banner>svg{flex:none;color:var(--green)}.fee-banner.tone-good{background:var(--green-soft);border-color:color-mix(in srgb,var(--green) 30%,var(--line))}.fee-banner.tone-warn{background:var(--amber-soft);border-color:color-mix(in srgb,var(--amber) 30%,var(--line))}.fee-banner.tone-warn>svg{color:var(--amber)}.fee-hint{display:flex;align-items:center;gap:6px;margin:0 0 12px;color:var(--text-2);font-size:12px}.fee-warnings{display:grid;gap:4px;margin:0 0 12px;padding:9px 12px;list-style:none;color:var(--amber);background:var(--amber-soft);border-radius:10px;font-size:12px}.fee-warnings li{display:flex;align-items:center;gap:6px}.fee-section-title{margin:16px 0 8px;color:var(--text);font-size:13px}.fee-section-title small{margin-left:6px;color:var(--muted);font-size:11px;font-weight:500}.fee-total-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px}.fee-total-strip>div{position:relative;display:grid;align-content:start;gap:3px;padding:14px 16px 13px;overflow:hidden;background:var(--surface);border:1px solid var(--line);border-radius:14px;box-shadow:0 1px 2px #0a281e0a}.fee-total-strip>div:before{content:"";position:absolute;inset:0 0 auto;height:3px;background:color-mix(in srgb,var(--green) 35%,var(--line))}.fee-total-strip span{color:var(--muted);font-size:11px;font-weight:700;letter-spacing:.03em;text-transform:uppercase}.fee-total-strip strong{color:var(--text);font-size:18px;font-variant-numeric:tabular-nums;line-height:1.25}.fee-total-strip strong em{color:var(--muted);font-size:12px;font-style:normal;font-weight:600}.fee-total-strip small{color:var(--muted);font-size:11px}.fee-total-strip .is-total{background:linear-gradient(135deg,var(--green-soft),color-mix(in srgb,var(--green-soft) 40%,var(--surface)));border-color:color-mix(in srgb,var(--green) 40%,var(--line))}.fee-total-strip .is-total:before{background:var(--green)}.fee-total-strip .is-total strong{color:var(--green);font-size:20px}.fee-steps-modal{width:min(100%,980px)}.fee-steps-modal .modal-heading h2{margin:4px 0 2px}.fee-steps{position:relative;display:grid;gap:0;margin:4px 0 0;padding:0;list-style:none;counter-reset:none}.fee-step{position:relative;display:grid;grid-template-columns:34px minmax(0,1fr);gap:12px;padding-bottom:14px}.fee-step:not(:last-child):before{content:"";position:absolute;top:34px;bottom:0;left:16px;width:2px;background:var(--line)}.fee-step-number{display:inline-grid;place-items:center;width:34px;height:34px;color:var(--green);background:var(--green-soft);border:1px solid color-mix(in srgb,var(--green) 30%,var(--line));border-radius:50%;font-size:13px;font-weight:800;font-variant-numeric:tabular-nums}.fee-step.step-total .fee-step-number{color:#fff;background:var(--green);border-color:var(--green)}.fee-step-body{display:grid;gap:6px;min-width:0;padding:7px 14px 11px;background:var(--surface-soft);border:1px solid var(--line);border-radius:12px}.fee-step.step-total .fee-step-body{background:var(--green-soft);border-color:color-mix(in srgb,var(--green) 30%,var(--line))}.fee-step-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:4px 12px}.fee-step-head strong{color:var(--text);font-size:13px}.fee-step-result{color:var(--green);font-size:14px;font-weight:800;font-variant-numeric:tabular-nums}.fee-step-formula{display:block;width:fit-content;max-width:100%;padding:4px 9px;color:var(--text);background:var(--surface);border:1px dashed var(--line);border-radius:7px;font-family:ui-monospace,Consolas,monospace;font-size:12px;white-space:normal}.fee-step-lines{display:grid;gap:2px;margin:0;padding-left:18px;color:var(--text-2);font-size:12px;line-height:1.5}.fee-step-lines li::marker{color:var(--muted)}.fee-step-ref{display:inline-flex;align-items:center;gap:5px;width:fit-content;padding:3px 9px;color:#2a64c2;background:color-mix(in srgb,#2a64c2 9%,var(--surface));border:0;border-radius:999px;cursor:pointer;font:inherit;font-size:11px;font-weight:650}.fee-step-ref:hover{background:color-mix(in srgb,#2a64c2 16%,var(--surface))}.fee-compare{display:flex;align-items:flex-start;gap:10px;margin-top:4px;padding:11px 14px;color:var(--text);background:var(--amber-soft);border:1px solid color-mix(in srgb,var(--amber) 30%,var(--line));border-radius:12px;font-size:13px}.fee-compare.is-same{background:var(--surface-soft);border-color:var(--line)}.fee-compare>svg{flex:none;margin-top:2px;color:var(--amber)}.fee-compare small{display:block;margin-top:3px;color:var(--text-2);font-size:12px}.fee-method-bar{display:flex;flex-wrap:wrap;align-items:center;gap:8px 18px;margin:0 0 10px}.fee-method-group{display:flex;align-items:center;gap:8px;min-width:0}.fee-method-group>span{color:var(--text-2);font-size:12px;font-weight:600;white-space:nowrap}.fee-method-group .segmented-control button{padding:5px 11px;font-size:12px;white-space:nowrap}.fee-form-note{margin:0 0 10px;color:var(--text-2);font-size:12px;line-height:1.45}.fee-pill-button{border:0;cursor:pointer;font-family:inherit}.fee-pill-button:hover{filter:brightness(.96)}.law-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;display:flex;justify-content:flex-end;background:#0a191252;animation:law-fade .15s ease-out}.law-panel{display:grid;grid-template-rows:auto auto minmax(0,1fr);width:min(640px,100%);height:100%;background:var(--surface);border-left:1px solid var(--line);box-shadow:-18px 0 40px #0a1e142e;animation:law-slide .2s ease-out}.law-panel-head{display:flex;align-items:center;gap:10px;padding:12px 16px;border-bottom:1px solid var(--line)}.law-panel-head>div{flex:1}.law-panel-head .section-kicker{display:inline-flex;align-items:center;gap:6px}.law-panel-body{min-height:0;overflow-y:auto;padding:14px 18px 24px}.law-panel .law-tabs{margin:10px 16px 0}@keyframes law-slide{0%{transform:translate(40px);opacity:0}to{transform:none;opacity:1}}@keyframes law-fade{0%{opacity:0}to{opacity:1}}.law-tabs{display:flex;gap:6px;overflow-x:auto;padding:4px;background:var(--surface-soft);border:1px solid var(--line);border-radius:12px;scrollbar-width:none}.law-tabs button{display:grid;flex:1 0 auto;gap:1px;padding:7px 14px;text-align:left;color:var(--text-2);background:transparent;border:0;border-radius:9px;cursor:pointer;font:inherit}.law-tabs button span{font-size:13px;font-weight:700}.law-tabs button small{color:var(--muted);font-size:11px}.law-tabs button.is-selected{color:var(--green);background:var(--surface);box-shadow:0 1px 3px #0a281e1a,inset 0 0 0 1px color-mix(in srgb,var(--green) 25%,transparent)}.law-page .law-tabs{margin-bottom:14px}.law-page .report-card-toolbar{flex-wrap:nowrap;align-items:flex-start}@media(max-width:760px){.law-page .report-card-toolbar{flex-wrap:wrap}}.law-view{display:grid;gap:12px}.law-head{display:grid;justify-items:start;gap:6px}.law-head h3{margin:0;color:var(--text);font-size:14px;line-height:1.4}.law-effect{display:flex;align-items:flex-start;gap:6px;margin:0;color:var(--text-2);font-size:12px}.law-effect svg{flex:none;margin-top:2px}.law-summary-card{display:grid;gap:6px;padding:12px 14px;background:var(--green-soft);border:1px solid color-mix(in srgb,var(--green) 25%,var(--line));border-radius:12px;font-size:13px;line-height:1.55}.law-summary-card p{margin:0}.law-articles{display:grid;gap:8px}.law-article{background:var(--surface);border:1px solid var(--line);border-radius:12px;scroll-margin-top:12px}.law-article.is-highlight{border-color:#2a64c2;box-shadow:0 0 0 3px color-mix(in srgb,#2a64c2 15%,transparent)}.law-article>summary{display:flex;align-items:center;gap:10px;padding:10px 14px;cursor:pointer;list-style:none}.law-article>summary::-webkit-details-marker{display:none}.law-article>summary strong{flex:1;color:var(--text);font-size:13px}.law-article>summary svg{flex:none;color:var(--muted);transition:transform .15s}.law-article[open]>summary{border-bottom:1px solid var(--line)}.law-article[open]>summary svg{transform:rotate(180deg)}.law-article-ref{flex:none;padding:2px 8px;color:#2a64c2;background:color-mix(in srgb,#2a64c2 10%,var(--surface));border-radius:6px;font-size:11px;font-weight:750;white-space:nowrap}.law-article-body{display:grid;gap:10px;padding:12px 14px 14px}.law-quote-label{color:var(--muted);font-size:11px;font-weight:750;letter-spacing:.04em;text-transform:uppercase}.law-quote-label.is-summary{color:var(--amber)}.law-quote,.law-summary{display:grid;gap:7px;font-size:13px;line-height:1.6}.law-quote{padding:2px 0 2px 14px;color:var(--text);border-left:3px solid color-mix(in srgb,#2a64c2 40%,var(--line));font-family:Times New Roman,Times,serif;font-size:14px}.law-quote p,.law-summary p{margin:0}.law-table{width:100%;border-collapse:collapse;font-size:12px}.law-table th,.law-table td{padding:5px 9px;border:1px solid var(--line)}.law-table th{color:var(--text-2);background:var(--surface-soft);font-size:11px;text-align:left}.law-table td.numeric{text-align:right;font-variant-numeric:tabular-nums}.law-applies{display:grid;gap:4px;padding:10px 12px;background:var(--surface-soft);border-radius:10px}.law-applies strong{display:inline-flex;align-items:center;gap:5px;color:var(--green);font-size:12px}.law-applies ul{display:grid;gap:3px;margin:0;padding-left:18px;color:var(--text-2);font-size:12px;line-height:1.5}.law-disclaimer{margin:4px 0 0;color:var(--muted);font-size:11px;font-style:italic}.fee-decree-setup{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;align-items:start;gap:10px;padding:10px 12px;background:color-mix(in srgb,#2a64c2 5%,var(--surface));border:1px solid color-mix(in srgb,#2a64c2 18%,var(--line));border-radius:10px}.fee-decree-setup .config-field>span{display:inline-flex;align-items:center;gap:5px}.fee-decree-setup .config-field small{color:var(--muted);font-size:11px;line-height:1.4}.fee-law-button{align-self:center;margin-top:8px}.fee-law-link{display:inline-flex!important;align-items:center;gap:5px;width:fit-content;padding:0!important;grid-column:1 / -1}@media(max-width:760px){.fee-decree-setup,.declaration-sides{grid-template-columns:minmax(0,1fr)}}.fee-source-cards{display:flex;flex-wrap:wrap;align-items:stretch;gap:8px}.fee-source-card{display:grid;flex:3 1 270px;align-content:start;min-width:0;background:var(--surface);border:1px solid var(--line);border-radius:10px;transition:border-color .15s,box-shadow .15s}.fee-source-card.is-selected{border-color:var(--green);box-shadow:0 0 0 2px color-mix(in srgb,var(--green) 16%,transparent)}.fee-source-card.is-unavailable{order:1;flex:2 1 190px;background:var(--surface-soft)}.fee-source-card.is-error{border-color:color-mix(in srgb,var(--red) 45%,var(--line))}.fee-source-main{display:grid;gap:5px;width:100%;padding:9px 12px;color:inherit;text-align:left;background:none;border:0;cursor:pointer;font:inherit}.fee-source-main:disabled{cursor:default}.fee-source-head{display:flex;align-items:center;gap:8px;min-width:0}.fee-source-head i{flex:none;width:14px;height:14px;border:2px solid var(--line);border-radius:50%}.is-selected .fee-source-head i{background:var(--green);border-color:var(--green);box-shadow:inset 0 0 0 2px var(--surface)}.fee-source-head small{margin-left:auto;overflow:hidden;color:var(--muted);font-size:11px;text-overflow:ellipsis;white-space:nowrap}.is-unavailable .fee-source-head strong{color:var(--muted)}.fee-source-figures{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.fee-source-figures small{display:block;color:var(--muted);font-size:11px}.fee-source-figures b{color:var(--text);font-size:14px;font-variant-numeric:tabular-nums}.fee-volume-scope{color:var(--green);font-style:normal;font-weight:700}.fee-source-notes{display:block;color:var(--text-2);font-size:11px;line-height:1.45;white-space:normal}.fee-source-notes>span+span:before{content:" · ";color:var(--muted)}.fee-quality{font-size:11px;white-space:normal}.fee-quality.tone-good{color:var(--green)}.fee-quality.tone-warn{color:var(--amber)}.fee-quality.tone-bad{color:var(--red)}.fee-quality.tone-muted{color:var(--muted)}.fee-volume-error{color:var(--red)!important;font-weight:700}.counter-ends{display:grid;gap:2px;padding:0 12px 9px;color:var(--text-2);font-size:11px;white-space:normal}.counter-ends .plain-link{display:inline-flex;align-items:center;gap:3px;padding:0;font-size:11px}.counter-file-modal{width:min(100%,760px);display:grid;gap:10px}.counter-file-text{max-height:60vh;margin:0;padding:10px 12px;overflow:auto;color:var(--text);background:var(--surface-soft);border:1px solid var(--line);border-radius:8px;font:12.5px/1.55 Consolas,Cascadia Mono,monospace;white-space:pre}.counter-file-text .is-counter{display:inline-block;min-width:100%;color:#7a4f00;background:#fff1c2;font-weight:700}.fee-flow-in{margin:10px 0 0;color:var(--text-2);font-size:12px}.fee-flow-in-warn{color:var(--amber)}.fee-page .fee-total-strip span{color:var(--text-2);font-size:11px;font-weight:650;letter-spacing:0;text-transform:none}.fee-page .fee-total-strip{gap:8px}.fee-page .fee-total-strip>div{gap:1px;padding:10px 14px 9px;border-radius:10px}.fee-page .fee-total-strip strong,.fee-page .fee-total-strip .is-total strong{font-size:16px}.fee-page .fee-total-strip small{color:var(--text-2);font-size:11px;line-height:1.4}.fee-page .fee-section-title{margin:14px 0 6px;font-size:13px}.fee-page .fee-section-title small{color:var(--text-2);font-size:11px}.fee-page .fee-source-head strong{font-size:13px}.fee-page .fee-source-figures small{color:var(--text-2);font-size:11px}.fee-page .fee-source-figures b{font-size:14px}.fee-page .report-card-toolbar>div:first-child{flex:1 1 240px}.fee-page .report-card-description{max-width:none}.fee-page .report-card-toolbar h2 .marquee,.fee-page .report-card-description .marquee{display:block}.fee-page .report-card-toolbar>.report-actions{flex:0 1 auto}.fee-page .report-actions{align-items:center;gap:6px}.fee-page .report-actions .button-secondary,.fee-page .report-actions .button-primary,.fee-page .fee-banner .button-secondary{min-height:32px;gap:6px;padding:0 11px;border-radius:8px;font-size:12px;font-weight:600}.fee-page .report-actions .button-primary{box-shadow:0 1px 2px #0a281e24}.fee-page .report-actions .button-primary:hover:not(:disabled){box-shadow:0 2px 6px #1f8a5c42}.fee-page .fee-banner{margin-bottom:10px;padding:6px 8px 6px 12px;font-size:12px}.fee-page .fee-flow-in{margin-top:8px}.fee-page .report-table td{padding-top:7px;padding-bottom:7px}.fee-page .fee-quality{font-size:11px;line-height:1.45}.fee-page .fee-quality.tone-muted{color:var(--text-2)}.fee-page .fee-source-card.is-unavailable .fee-source-figures small,.fee-page .fee-source-card.is-unavailable .fee-quality{color:var(--muted)}.fee-page .report-table thead th{color:var(--text-2);font-size:11px}.fee-page .report-table thead th small{color:var(--muted)}.fee-page .report-table td{font-size:12px}.fee-page .fee-parameters td small,.fee-page .fee-months td small,.fee-page .fee-346-table td small,.fee-page .fee-lq-compare td small{color:var(--text-2);font-size:11px}.fee-page .fee-flow-in{color:var(--text-2);font-size:12px}.fee-page .report-card-description{font-size:12px}.fee-page .report-table thead th{height:auto;padding-top:9px;padding-bottom:9px;vertical-align:middle}.fee-page .report-table thead th small{display:inline;margin:0 0 0 4px;font-size:11px;letter-spacing:0}.fee-page .report-table thead th small:before{content:"("}.fee-page .report-table thead th small:after{content:")"}.fee-page .report-table td{vertical-align:middle}.fee-unit{color:var(--muted);font-size:11px;font-weight:600;white-space:nowrap}.fee-detail{display:grid;min-width:0}.fee-parameters td small,.fee-months td small{display:block;color:var(--muted);font-size:11px;font-weight:500}.fee-over-limit{color:var(--red)!important}.fee-factor{display:inline-block;padding:1px 8px;color:var(--green);background:var(--green-soft);border-radius:999px;font-weight:700}.fee-months-panel{margin-top:12px}.fee-months-panel>summary{margin:4px 0 8px;color:var(--text);cursor:pointer;font-size:13px;font-weight:700}.fee-months-panel>summary small{margin-left:6px;color:var(--muted);font-size:11px;font-weight:500}.fee-months-panel .report-card-description{margin:6px 0 0}.fee-quarter-select{display:inline-flex;align-items:center;gap:4px}.fee-quarter-select .button-secondary{min-width:34px;padding-inline:8px}.fee-quarter-select .button-secondary:first-child svg{transform:rotate(180deg)}.fee-quarter-select select{min-width:124px;height:32px;padding:0 8px;color:var(--text);background:var(--surface);border:1px solid var(--line);border-radius:8px;font-family:inherit;font-size:12px;font-weight:600}.fee-quarter-select>strong{min-width:52px;text-align:center;font-variant-numeric:tabular-nums}.fee-declaration-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 16px;margin:0 0 12px}.fee-declaration-bar .fee-method-bar{margin:0}.fee-declaration-status{display:flex;flex-wrap:wrap;gap:6px;margin-left:auto}.fee-declaration-side .fee-hint{align-items:flex-start;margin:0;font-size:12px;line-height:1.45}.fee-declaration-side .fee-hint svg{flex:none;margin-top:2px}.fee-declaration-side .fee-form-note{margin:0;font-size:11px}.fee-declaration-layout{display:grid;grid-template-columns:300px minmax(0,1fr);align-items:start;gap:16px}.fee-declaration-side{position:sticky;top:12px;display:grid;gap:10px;min-width:0}.fee-declaration-side .fee-section-title{margin-top:0}.fee-outlets{display:grid;gap:8px}.fee-outlet{display:grid;gap:7px;padding:10px 12px;background:var(--surface);border:1px solid var(--line);border-radius:10px}.fee-outlet.is-unavailable{background:var(--surface-soft)}.fee-outlet-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.fee-outlet-head small{color:var(--muted);font-size:11px}.fee-outlet-include{display:inline-flex;align-items:center;gap:8px;min-width:0;cursor:pointer}.fee-outlet-include input{flex:none;width:16px;height:16px;margin:0;accent-color:var(--green);cursor:pointer}.fee-outlet-include input:disabled{cursor:default}.fee-outlet.is-excluded{background:var(--surface-soft);border-style:dashed}.fee-outlet.is-excluded .fee-outlet-head strong{color:var(--muted)}.fee-pill-loading{max-width:420px;overflow:hidden;text-overflow:ellipsis}.fee-pill-spinner{flex:none;width:10px;height:10px;border:2px solid color-mix(in srgb,var(--green) 30%,transparent);border-top-color:var(--green);border-radius:50%;animation:fee-spin .8s linear infinite}@keyframes fee-spin{to{transform:rotate(360deg)}}.fee-outlet-source{color:var(--text-2);font-size:12px}.fee-outlet-source select{width:100%}.fee-outlet-figures{display:flex;justify-content:space-between;gap:8px;color:var(--text-2);font-size:12px;font-variant-numeric:tabular-nums}.fee-sum{overflow:hidden;border:1px solid var(--line);border-radius:12px}.fee-sum>div{display:flex;align-items:baseline;justify-content:space-between;gap:10px;padding:9px 12px;font-variant-numeric:tabular-nums}.fee-sum>div+div{border-top:1px solid var(--line)}.fee-sum span{color:var(--muted);font-size:12px}.fee-sum .is-total{background:var(--green-soft)}.fee-sum .is-total span{color:var(--text);font-weight:700}.fee-sum .is-total strong{color:var(--green);font-size:16px}.declaration-paper{width:100%;max-width:21cm;margin:0 auto;padding:6% 11.9%;color:#111;background:#fff;border:1px solid var(--line);border-radius:6px;box-shadow:0 12px 32px #0a1e141a;font:14px/1.5 Times New Roman,Times,serif}.declaration-head{display:grid;gap:3px;margin-bottom:14px;text-align:center}.declaration-head p{margin:0}.declaration-form{display:grid;justify-self:end;margin-bottom:8px;text-align:right}.declaration-para{margin:4px 0!important;text-align:left}.declaration-para.is-bold,.declaration-paper .is-bold{font-weight:700}.declaration-paper .is-regular{font-weight:400}.declaration-paper .is-italic{font-style:italic}.declaration-paper th span,.declaration-para span{white-space:pre-line}.declaration-head .declaration-sides{grid-template-columns:minmax(0,36fr) minmax(0,64fr);gap:0}.declaration-head .declaration-sides>.declaration-side:last-child{white-space:nowrap}.declaration-mst{display:flex;align-items:stretch;margin:6px 0}.declaration-mst-label{display:inline-flex;flex:0 0 7%;align-items:center;justify-content:flex-start}.declaration-mst-label.is-boxed{justify-content:center;border:1px solid #111}.declaration-mst-group{display:flex;flex-grow:0;flex-shrink:0}.declaration-mst-group+.declaration-mst-group{margin-left:5.8%}.declaration-mst-group>span{display:grid;flex:1 1 0;place-items:center;min-width:0;height:26px;border:1px solid #111;margin-left:-1px}.declaration-mst-group>span:first-child{margin-left:0}.declaration-mst-label.is-boxed+.declaration-mst-group>span:first-child{margin-left:-1px}.declaration-form em{font-size:11px}.declaration-sides{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);align-items:start;gap:16px}.declaration-side{display:grid;justify-items:center;gap:1px;text-align:center}.declaration-side .is-bold{font-weight:700}.declaration-side .is-italic{font-style:italic;font-size:12px}.declaration-side .has-rule:after{content:"";display:block;width:110px;margin:3px auto 0;border-bottom:1px solid #111}.declaration-line{display:flex;flex-wrap:wrap;gap:4px 28px;margin:3px 0!important}.declaration-line b{font-weight:700}.declaration-pledge{text-indent:2em}.declaration-footnote{margin-top:14px!important;color:#111;font-size:12px}.declaration-head h2{white-space:pre-line;margin:16px 0 4px;color:#111;font-family:inherit;font-size:14px;font-weight:700;line-height:1.35;letter-spacing:.01em}.declaration-paper section h3{margin:16px 0 6px;color:#111;font-family:inherit;font-size:13px;font-weight:700;line-height:1.4}.declaration-para b{font-weight:700}.declaration-paper table{width:100%;margin:6px 0 8px;border-collapse:collapse;font-size:12px}.declaration-paper th,.declaration-paper td{padding:4px 6px;border:1px solid #555;vertical-align:middle}.declaration-paper thead th{text-align:center}.declaration-paper table.is-plain tfoot td{font-weight:400}.declaration-paper td.align-right{text-align:right;font-variant-numeric:tabular-nums}.declaration-paper td.align-center{text-align:center}.declaration-paper tfoot th,.declaration-paper tfoot td{font-weight:700}.declaration-paper tfoot th{text-align:left}.declaration-paper p{margin:6px 0}.declaration-subheading{font-weight:700}.declaration-note{color:#333;font-size:12px;font-style:italic}.declaration-sign{margin-top:20px}.declaration-signer{min-height:1.5em;margin-top:70px;font-weight:700}#declaration-print{display:none}@page declaration{size:A4;margin:0}@media print{html:has(body.print-declaration),body.print-declaration{background:#fff!important}body.print-declaration>:not(#declaration-print){display:none!important}body.print-declaration #declaration-print{display:block;page:declaration}#declaration-print .declaration-signer{margin-top:44px}#declaration-print .declaration-sign{margin-top:10px}#declaration-print .declaration-footnote{margin-top:8px!important}#declaration-print .declaration-head h2{margin:10px 0 2px}#declaration-print .declaration-paper section h3{margin:8px 0 3px}#declaration-print .declaration-paper table{margin:3px 0 4px}#declaration-print .declaration-paper th,#declaration-print .declaration-paper td{padding:2px 5px}#declaration-print>table{width:100%;border-collapse:collapse}#declaration-print>table>thead td.is-margin,#declaration-print>table>tfoot td.is-margin{height:20mm;padding:0}#declaration-print>table>tbody>tr>td.is-content{padding:0 25mm}#declaration-print .fee-declaration-paper{display:block}#declaration-print .declaration-paper{max-width:none;padding:0;border:0;border-radius:0;box-shadow:none;font-size:13pt;line-height:1.25}#declaration-print .declaration-head h2{font-size:14pt}#declaration-print .declaration-paper section h3{font-size:13pt}#declaration-print .declaration-paper table,#declaration-print .declaration-side .is-italic{font-size:12pt}#declaration-print .declaration-footnote{font-size:11pt}#declaration-print .is-keep-next{break-after:avoid}#declaration-print .declaration-paper table:not(.is-long),#declaration-print .declaration-sign{break-inside:avoid}}.fee-tracking-summary{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 10px}.fee-tracking td{vertical-align:top}.fee-tracking td:first-child{min-width:220px}.fee-tracking td:first-child small{display:block;margin-top:3px;color:var(--muted);font-size:11px;white-space:normal}.fee-tracking-cell{min-width:160px}.fee-tracking-cell>strong{display:block;margin-top:6px;font-variant-numeric:tabular-nums}.fee-tracking-cell>small{display:block;margin-top:2px;color:var(--muted);font-size:11px}.fee-tracking-cell.tone-bad{background:color-mix(in srgb,var(--red-soft) 55%,transparent)}.fee-tracking-cell.tone-warn{background:color-mix(in srgb,var(--amber-soft) 50%,transparent)}.fee-tracking-actions{display:flex;gap:12px;margin-top:6px}.fee-tracking-actions .plain-link{padding:0;font-size:12px}.fee-kind{display:inline-block;margin-right:4px;padding:0 7px;border-radius:999px;font-size:11px;font-weight:700}.fee-kind.kind-water{color:#2a64c2;background:color-mix(in srgb,#2a64c2 12%,var(--surface))}.fee-kind.kind-air{color:#7a5aa8;background:color-mix(in srgb,#7a5aa8 12%,var(--surface))}.fee-period-modal{width:min(100%,640px);display:grid;gap:12px}.fee-period-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px}.meter-modal{width:min(100%,620px);display:grid;gap:12px}.meter-photo-modal{width:min(100%,900px);display:grid;gap:12px}.meter-photo-full{display:block;max-width:100%;max-height:min(70vh,900px);margin:0 auto;object-fit:contain;background:var(--surface-soft);border:1px solid var(--line);border-radius:10px}.meter-reminder{display:flex;align-items:center;gap:8px;margin:0 0 12px;padding:10px 13px;color:var(--amber);background:var(--amber-soft);border-radius:10px;font-size:13px}.meter-photo-area{display:grid;justify-items:center;gap:6px}.meter-photo-area img{display:block;max-width:100%;max-height:320px;border-radius:10px;border:1px solid var(--line)}.meter-photo-pick{display:grid;justify-items:center;gap:4px;width:100%;padding:26px 12px;color:var(--green);background:var(--surface-soft);border:1.5px dashed color-mix(in srgb,var(--green) 45%,var(--line));border-radius:12px;cursor:pointer;font:inherit}.meter-photo-pick span{font-weight:700}.meter-photo-pick small{color:var(--muted)}.meter-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px}.fee-rate-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:14px}.fee-rate-card{display:grid;align-content:start;gap:10px;padding:14px 16px;border:1px solid var(--line);border-radius:12px}.fee-rate-card h3{display:flex;align-items:center;gap:6px;margin:0 0 2px;color:var(--green);font-size:13px}.fee-rate-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.fee-rate-card .config-field span small,.fee-rate-field span small{color:var(--muted);font-weight:500}.fee-tiers{display:grid;gap:8px;margin:0;padding:8px 10px 10px;border:1px dashed var(--line);border-radius:10px}.fee-tiers legend{padding:0 4px;color:var(--muted);font-size:11px;font-weight:700}.fee-reduction{align-items:flex-start}.fee-reduction small{display:block;margin-top:2px;color:var(--muted);font-size:11px}.fee-fold-list{display:grid;grid-template-columns:minmax(0,1fr);gap:8px}.fee-fold{background:var(--surface);border:1px solid var(--line);border-radius:12px;transition:border-color .15s,box-shadow .15s}.fee-fold[open]{border-color:color-mix(in srgb,var(--green) 35%,var(--line));box-shadow:0 4px 14px #0a281e0f}.fee-fold>summary{display:flex;align-items:center;gap:10px;padding:11px 14px;cursor:pointer;list-style:none;border-radius:12px}.fee-fold>summary::-webkit-details-marker{display:none}.fee-fold>summary:hover{background:var(--surface-soft)}.fee-fold[open]>summary{border-bottom:1px solid var(--line);border-radius:12px 12px 0 0}.fee-fold-title{display:grid;flex:1;gap:2px;min-width:0}.fee-fold-title strong{display:inline-flex;align-items:center;gap:6px;color:var(--text);font-size:13px}.fee-fold-title small{overflow:hidden;color:var(--muted);font-size:12px;text-overflow:ellipsis;white-space:nowrap}.fee-fold-chevron{display:inline-flex;flex:none;color:var(--muted);transition:transform .15s}.fee-fold[open] .fee-fold-chevron{transform:rotate(180deg)}.fee-fold-body{padding:12px 14px 14px}.fee-fold-body>.fee-rate-card,.fee-fold-body>.fee-station{padding:0;border:0}.fee-fold-body>.fee-rate-card{grid-template-columns:repeat(3,minmax(0,1fr));max-width:960px;column-gap:12px}.fee-fold-body>.fee-rate-card>.config-field:first-child{grid-column:1}.fee-fold-body>.fee-rate-card>.fee-tiers,.fee-fold-body>.fee-rate-card>.fee-rate-list,.fee-fold-body>.fee-rate-card>.fee-reduction{grid-column:1 / -1}.fee-fold-body .fee-tiers,.fee-fold-body .fee-rate-list{grid-template-columns:repeat(3,minmax(0,1fr))}.fee-fold-body>.fee-payer-grid{max-width:1100px}.fee-fold-body>.fee-station header{justify-content:flex-start}.fee-fold-body>.fee-payer-grid{padding:0}@media(max-width:640px){.fee-fold-body>.fee-rate-card,.fee-fold-body .fee-tiers,.fee-fold-body .fee-rate-list{grid-template-columns:minmax(0,1fr)}.fee-fold>summary{flex-wrap:wrap;row-gap:6px;padding:10px 12px}.fee-fold-title{flex:1 1 calc(100% - 26px)}.fee-fold-title small{display:-webkit-box;white-space:normal;-webkit-line-clamp:2;-webkit-box-orient:vertical}.fee-fold-chevron{order:1;align-self:flex-start}.fee-fold>summary>.fee-pill{order:2}.fee-fold-body{padding:12px}}.fee-fill{margin:14px 0 6px}.fee-fill+.plain-link{display:block;width:fit-content;padding:0}.fee-payer-list,.fee-station-list{display:grid;gap:10px}.fee-payer{border:1px solid var(--line);border-radius:12px}.fee-payer>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;cursor:pointer;list-style:none}.fee-payer>summary::-webkit-details-marker{display:none}.fee-payer>summary strong{display:block;color:var(--text)}.fee-payer>summary small{color:var(--muted);font-size:11px}.fee-payer[open]>summary{border-bottom:1px solid var(--line)}.fee-payer-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px;padding:12px 14px 14px}.fee-payer-grid .is-wide{grid-column:span 2}.fee-station{display:grid;gap:10px;padding:12px 14px;border:1px solid var(--line);border-radius:12px}.fee-station header{display:flex;align-items:end;justify-content:space-between;gap:12px;flex-wrap:wrap}.fee-station header strong{display:block;color:var(--text)}.fee-station header small{color:var(--muted);font-size:11px}.fee-station header .config-field{min-width:180px}.fee-metric-checks{display:grid;gap:6px;margin:0;padding:0;border:0;min-width:0}.fee-metric-checks legend{margin-bottom:6px;padding:0;color:var(--muted);font-size:11px;font-weight:700}.fee-metric-checks small{color:var(--muted);font-size:11px}.fee-station-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:10px}.fee-normal{display:grid;gap:10px;margin:0;padding:10px 14px 12px;border:1px solid var(--line);border-radius:10px;min-width:0}.fee-normal legend{padding:0 4px;color:var(--muted);font-size:11px;font-weight:700}.fee-normal .report-checkbox{align-items:flex-start;min-height:0}.fee-normal .report-checkbox input[type=checkbox]{flex:0 0 auto;margin-top:1px}.fee-normal-switch span{font-weight:600}.fee-normal .report-checkbox small{display:block;margin-top:2px;color:var(--muted);font-size:11px;font-weight:400}.fee-normal-note{color:var(--muted);font-size:11px}.fee-normal-note.is-warn{color:var(--amber)}.fee-normal-label{color:var(--muted);font-size:11px;font-weight:700}.fee-basis{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px}.fee-basis-switch{display:inline-flex;padding:2px;background:var(--surface-soft);border:1px solid var(--line);border-radius:8px}.fee-basis-switch label{padding:5px 16px;color:var(--muted);border-radius:6px;font-size:12px;font-weight:600;cursor:pointer}.fee-basis-switch label.is-selected{color:#fff;background:var(--green)}.fee-basis-switch label:has(input:focus-visible){box-shadow:var(--glow-green)}.fee-basis-formula{color:var(--muted);font-family:ui-monospace,Consolas,monospace;font-size:11px}.fee-formula-caption{display:block;margin:-4px 0 10px;color:var(--muted);font-size:11px}.fee-normal-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.fee-normal-moisture{display:grid;gap:8px;padding-top:10px;border-top:1px dashed var(--line)}.fee-normal-notes{display:grid;gap:2px;margin:0;padding:0;list-style:none;color:var(--muted);font-size:11px}.fee-normal-notes li:before{content:"• "}.fee-normal-notes .is-warn{color:var(--amber)}@media(max-width:720px){.fee-normal-grid{grid-template-columns:minmax(0,1fr)}}.fee-param-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:10px}.fee-param{display:grid;grid-template-columns:minmax(0,1fr) 100px;align-items:end;gap:6px}.fee-lq-compare{margin-top:4px}.fee-page .fee-lq-compare td small{display:inline;margin-left:8px}.fee-lq-compare tbody tr.is-selected>td{background:var(--green-soft)}.fee-346-table{width:100%;table-layout:auto}.fee-346-table td{white-space:normal}.fee-346-table thead th,.fee-346-table td:first-child,.fee-346-table td.numeric{white-space:nowrap}.fee-param-grid:has(>.is-water){grid-template-columns:repeat(auto-fill,minmax(380px,1fr))}.fee-param.is-water{grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);align-items:start}.fee-hi-fallback{display:grid;gap:4px;min-width:0}.fee-hi-auto{align-self:end;padding-bottom:9px;color:var(--muted);font-size:11px}.unit-input{position:relative;display:block;min-width:0}.unit-input input{padding-right:var(--unit-width, 9px);text-align:right;font-variant-numeric:tabular-nums}.unit-input-suffix{position:absolute;top:50%;right:9px;transform:translateY(-50%);color:var(--muted);font-size:11px;font-weight:600;pointer-events:none;white-space:nowrap}.unit-input input:disabled+.unit-input-suffix{opacity:.5}.meter-value-check{color:var(--muted);font-size:11px;font-weight:400}.meter-value-check strong{color:var(--text)}.meter-value-check.is-warn,.meter-value-check.is-warn strong{color:var(--amber, #b26a00)}.fee-reminder-toggle{align-items:flex-start;margin-top:12px}.fee-reminder-toggle small{display:block;max-width:760px;margin-top:2px;color:var(--muted);font-size:11px;font-weight:400}.fee-phone-note{display:flex;align-items:center;gap:6px;margin:2px 4px;color:var(--muted);font-size:12px}.fee-station-search{display:flex;align-items:center;gap:10px;margin-bottom:10px}.fee-station-search .search-field{flex:0 1 380px;width:auto;background:var(--surface);border-color:var(--line)}.fee-station-actions{display:flex;align-items:center;justify-content:flex-end;gap:12px;flex-wrap:wrap;padding-top:10px;border-top:1px dashed var(--line)}.fee-station-actions .admin-message{margin:0;font-size:12px}.fee-station-actions .admin-message.is-ok{color:var(--green)}.fee-station-actions small{color:var(--muted);font-size:11px}.fee-settings-actions{display:flex;align-items:center;justify-content:flex-end;gap:12px}.fee-settings-actions .admin-message{margin:0}@media(max-width:1100px){.fee-declaration-layout{grid-template-columns:minmax(0,1fr)}.fee-declaration-side{position:static}}@media(max-width:900px){.fee-total-strip{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.fee-views{flex-wrap:wrap;overflow:visible}.fee-views button{flex:1 1 auto;justify-content:center;padding:8px 10px;font-size:12px}.fee-tracking{min-width:0}.fee-tracking thead{display:none}.fee-tracking,.fee-tracking tbody{display:block}.fee-tracking tr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;padding:10px 0;border-bottom:1px solid var(--line)}.fee-tracking td{display:block;padding:8px 10px;border:0}.fee-tracking td:first-child{grid-column:1 / -1;min-width:0;padding:0 2px 2px}.fee-tracking-cell{min-width:0;border:1px solid var(--line)!important;border-radius:10px}.fee-tracking-cell:before{content:attr(data-label);display:block;margin-bottom:5px;color:var(--muted);font-size:11px;font-weight:800;letter-spacing:.06em}.fee-tracking-cell .fee-pill{white-space:normal}.fee-banner{flex-wrap:wrap}.declaration-paper{padding:20px 16px 28px;font-size:12px}.declaration-paper table{font-size:11px}.declaration-form{justify-self:center}.fee-payer-grid .is-wide{grid-column:auto}.fee-rate-list{grid-template-columns:minmax(0,1fr)}}@media(max-width:640px){.stations-list-card .list-toolbar{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px;align-items:stretch}.stations-list-card .list-toolbar>div:first-child,.stations-list-card .list-toolbar .station-search,.stations-list-card .list-toolbar .segmented-control{grid-column:1 / -1}.stations-list-card .list-toolbar .station-status-filter{min-width:0}.stations-list-card .list-toolbar .station-status-filter select{width:100%}.stations-list-card .list-toolbar .segmented-control{display:grid;grid-template-columns:1fr 1fr}.stations-list-card .list-toolbar .segmented-control button{justify-content:center}.alert-info .marquee,.alert-info .marquee-inner{overflow:visible;white-space:normal;animation:none!important;transform:none!important}}.reading-grid .reading-tile .reading-value{flex-direction:column;flex-wrap:nowrap;align-items:center;justify-content:center;gap:1px;min-height:0;text-align:center}.reading-grid .reading-tile .reading-value strong{max-width:100%;font-size:clamp(16px,calc((100cqi - 16px) / (var(--value-chars, 4) * .62)),30px)}.reading-grid .reading-tile .reading-value small{min-height:1.3em;line-height:1.3}.group-station .reading-grid .reading-tile .reading-value strong{font-size:clamp(15px,calc((100cqi - 16px) / (var(--value-chars, 4) * .62)),22px)}.station-panel .kpi-tile.kpi-tile-icon>:not(.kpi-icon){justify-self:center;text-align:center}.station-panel .kpi-tile>strong{justify-content:center}.heading-stats>div{justify-items:center;text-align:center}.alert-strip{position:fixed;z-index:19;right:10px;bottom:calc(78px + env(safe-area-inset-bottom));left:10px;display:flex;align-items:center;gap:8px;padding:8px 8px 8px 12px;color:#8f2219;background:#fff1ee;border:1px solid #f2a59a;border-radius:12px;box-shadow:0 8px 24px #781e142e;font-size:12px;animation:alert-strip-in .25s ease-out}.alert-strip>span{flex:1;min-width:0}.alert-strip .plain-link{padding:4px 6px;font-weight:700}.alert-strip .button-primary{min-height:32px;padding:0 10px;font-size:12px;white-space:nowrap}.theme-dark .alert-strip{color:#ffd0c9;background:#3f2320;border-color:#8a3a30}@keyframes alert-strip-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.alert-strip{animation:none}}@media(max-width:650px){.page-heading-bar .heading-stats{padding-top:8px}.page-heading-bar .heading-stats dd{font-size:16px}.page-heading-bar .heading-stats dt{font-size:11px}}.reading-grid .reading-tile{position:relative;display:flex;flex-direction:column;gap:2px;min-height:0;padding:10px 12px 11px;overflow:hidden}.reading-grid .reading-tile>header{position:relative;z-index:1;flex:none}.reading-grid .reading-tile>.reading-value{position:relative;z-index:1;flex:1 1 auto;min-height:0;padding:2px 0}.reading-grid .reading-tile>footer{position:relative;z-index:1;flex:none;min-height:18px}.reading-grid .reading-tile>.metric-sparkline{flex:none;width:100%;height:16px;margin:0;opacity:.75}.reading-grid .reading-tile>.reading-value{padding-top:18px}.reading-grid .reading-tile>.reading-value strong{font-size:clamp(15px,calc((100cqi - 16px) / (var(--value-chars, 4) * .62)),24px)}.reading-grid .reading-tile>.reading-value small{min-height:0;font-size:11px;line-height:1.25}.reading-grid .reading-tile>.reading-bar,.reading-grid .reading-tile>.reading-bar.is-range{position:absolute;z-index:1;right:0;bottom:0;left:0;height:3px;margin:0;overflow:visible;border-radius:0;box-shadow:none}.reading-grid .reading-tile>.reading-bar i{border-radius:0 2px 2px 0}.reading-grid .reading-tile>.reading-bar.is-range i{top:-2px;width:10px;height:7px;border:1.5px solid var(--surface, #fff);border-radius:4px;box-shadow:0 1px 3px #0a281e59;transform:none}.reading-grid .reading-tile>.reading-bar.is-empty{background:transparent}@media(max-width:650px){.reading-grid .reading-tile{padding:9px 10px 10px}.reading-grid .reading-tile>.reading-value{padding-top:2px}}@media(min-width:651px){.stations-list-card .list-toolbar>div:first-child{flex:none}.stations-list-card .list-toolbar>div:first-child h2{white-space:nowrap}}.stations-list-card .list-toolbar>div:first-child{display:flex;align-items:center}.stations-list-kicker{display:inline-flex;align-items:center;gap:8px;margin:0;white-space:nowrap}.stations-list-kicker .count-pill{letter-spacing:0}.map-fullscreen-button{flex:none;display:inline-flex;align-items:center;gap:6px;white-space:nowrap}.station-map-card.is-expanded,.station-map-card:fullscreen{position:fixed;z-index:60;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;gap:10px;width:100%;max-width:none;height:100%;margin:0;padding:14px 18px calc(14px + env(safe-area-inset-bottom));background:var(--page);border:0;border-radius:0;box-shadow:none}.station-map-card.is-expanded .station-map,.station-map-card:fullscreen .station-map{flex:1 1 auto;height:auto;min-height:0}.station-map-card.is-expanded>.report-card-description{display:none}.map-live-counts{display:flex;flex:none;gap:0;margin:0 0 0 auto}.map-live-counts>div{display:grid;justify-items:center;gap:1px;padding:0 14px;border-left:1px solid var(--line)}.map-live-counts>div:first-child{border-left:0}.map-live-counts dt{color:var(--muted);font-size:11px;font-weight:600;white-space:nowrap}.map-live-counts dd{margin:0;color:var(--text);font-size:18px;font-weight:800;line-height:1.1;font-variant-numeric:tabular-nums}.map-live-counts .tone-good dd{color:var(--green)}.map-live-counts .tone-bad dd{color:var(--red)}.map-live-counts .tone-warn dd{color:var(--amber)}.map-live-counts .tone-muted dd{color:var(--muted)}@media(max-width:650px){.station-map-card.is-expanded,.station-map-card:fullscreen{padding:10px 10px calc(10px + env(safe-area-inset-bottom))}.station-map-card.is-expanded .list-toolbar>div:first-child,.station-map-card.is-expanded .map-legend-inline{display:none}.map-live-counts{margin:0}.map-live-counts>div{padding:0 8px}.map-live-counts dd{font-size:14px}}@media(max-width:650px){.station-list-compact td.station-list-connection,.station-list-compact td.station-list-connection .station-error{text-align:left}.station-list-compact td.station-list-connection .station-error{width:auto;max-width:none;margin-left:36px}}@media(max-width:650px){.station-map-card.is-expanded .list-toolbar{flex-wrap:nowrap;align-items:center;gap:6px}.station-map-card.is-expanded .map-live-counts{flex:1 1 auto;min-width:0;justify-content:space-between}.station-map-card.is-expanded .map-live-counts>div{padding:0 4px}.station-map-card.is-expanded .map-live-counts dt{font-size:10px}.station-map-card.is-expanded .map-fullscreen-label{display:none}.station-map-card.is-expanded .map-fullscreen-button{padding:0 10px}}.tv-metrics-frame{flex:1;display:flex;min-height:0;container-type:size}.tv-mode .tv-metrics-frame>.tv-metrics{flex:1;height:100%;align-content:center;grid-template-rows:repeat(var(--tv-rows, 2),min(calc((100cqh - (var(--tv-rows, 2) - 1) * 1.6vh) / var(--tv-rows, 2)),calc((100cqw - (var(--tv-columns, 4) - 1) * 1.2vw) / var(--tv-columns, 4))))}.tv-mode .tv-metrics .tv-metric{gap:.8vh;padding-bottom:2.4vh}.tv-mode .tv-metrics .tv-metric>.tv-metric-reading{flex:1 1 auto;justify-content:center;min-height:0;margin:0;padding-top:calc(var(--tv-spark, 9cqi) + .8vh)}.tv-mode .tv-metrics .tv-metric>.metric-sparkline{flex:none;height:var(--tv-spark, 9cqi);min-height:0;max-height:none}.tv-mode .tv-metrics .tv-metric>footer{margin-top:0}.tv-mode .tv-metrics .tv-metric>.tv-metric-gauge,.tv-mode .tv-metrics .tv-metric>.tv-metric-gauge.is-range{position:absolute;right:0;bottom:0;left:0;height:6px;margin:0;overflow:visible;border-radius:0;box-shadow:none}.tv-mode .tv-metrics .tv-metric>.tv-metric-gauge i{border-radius:0 3px 3px 0}.tv-mode .tv-metrics .tv-metric>.tv-metric-gauge.is-range i{top:-3px;width:14px;height:12px;border-radius:4px;transform:none}@media(max-width:900px){.tv-metrics-frame{display:block;container-type:normal}.tv-mode .tv-metrics-frame>.tv-metrics{height:auto;grid-template-rows:none}.tv-mode .tv-metrics .tv-metric{min-height:220px}}.reading-grid .reading-tile>header>span:first-child{font-size:14px}@media(max-width:650px){.reading-grid .reading-tile>header>span:first-child{font-size:13px}}.tv-metric-name-unit{color:#9fbcac;font-size:.78em;font-weight:600}.tv-mode.tv-custom-colors .tv-metric-name-unit{color:inherit;opacity:.7}.tv-mode.tv-light .tv-metric-name-unit{color:#4b5e54}.tv-mode .tv-metric-caption{align-items:center}.tv-mode .tv-metric-caption .metric-trend{margin-left:auto;padding:.15em .5em;background:#ffffff12;color:#9fbcac;border-radius:999px;font-size:1em;font-weight:600}.tv-mode .tv-metric-caption .metric-trend.is-toward-limit{background:#f0b95624;color:#f0b956}.tv-mode.tv-custom-colors .tv-metric-caption .metric-trend{color:inherit;background:#8080802e}.reading-grid .reading-tile:before{content:"";position:absolute;z-index:2;top:0;right:0;left:0;height:4px;background:#c9d6ce}.reading-grid .reading-tile.tone-good:before{background:linear-gradient(90deg,#2fa771,#6fd3a3)}.reading-grid .reading-tile.tone-warn:before{background:linear-gradient(90deg,#e09a1b,#ffc560)}.reading-grid .reading-tile.tone-bad:before{background:linear-gradient(90deg,#d23f2f,#ff8b7d)}.reading-grid .reading-tile.tone-invalid:before{background:#8f7bd6}.reading-grid .reading-tile{padding-top:14px}.reading-grid .reading-tile.tone-good{background:linear-gradient(180deg,#fff,#fbfdfc 55%,#edf8f2);border-color:#d6ebdf}.reading-grid .reading-tile.tone-none{background:linear-gradient(180deg,#fff,#f5f8f6)}.reading-grid .reading-tile.tone-invalid{background:linear-gradient(180deg,#fff,#f6f3fe)}.reading-grid .reading-tile.tone-bad{background:linear-gradient(180deg,#fff9f8,#fdebe7)}.theme-dark .reading-grid .reading-tile.tone-good{background:linear-gradient(180deg,#1d2c24,#1b3127);border-color:#2a4436}.theme-dark .reading-grid .reading-tile.tone-none{background:linear-gradient(180deg,#1d2c24,#1a2721)}.theme-dark .reading-grid .reading-tile.tone-invalid{background:linear-gradient(180deg,#1d2c24,#24223a)}.theme-dark .reading-grid .reading-tile.tone-bad{background:linear-gradient(180deg,#3d2b28,#33241f)}.theme-dark .reading-grid .reading-tile:before{background:#3a4d43}.station-panel .kpi-tile.kpi-tile-icon{grid-template-columns:44px minmax(0,1fr);column-gap:14px;row-gap:3px;padding:12px 18px;align-items:center}.station-panel .kpi-tile .kpi-icon{width:44px;height:44px;border-radius:12px}.station-panel .kpi-tile .kpi-icon svg{width:22px;height:22px}.station-panel .kpi-tile.kpi-tile-icon>.kpi-icon{grid-row:1 / span 3;align-self:center}.station-panel .kpi-tile.kpi-tile-icon>span{color:var(--text-2);font-size:11px;font-weight:700;letter-spacing:.04em}.station-panel .kpi-tile>strong{font-size:18px}.station-panel .kpi-tile>small{color:var(--text-2);font-size:12px}.theme-dark .station-panel .kpi-tile.kpi-tile-icon>span,.theme-dark .station-panel .kpi-tile>small{color:var(--text-2)}@media(max-width:650px){.station-panel .kpi-tile.kpi-tile-icon{grid-template-columns:minmax(0,1fr);padding:10px 12px}.station-panel .kpi-tile.kpi-tile-icon>span{font-size:11px}.station-panel .kpi-tile>strong{font-size:16px}.station-panel .kpi-tile>small{font-size:11px}}.station-panel .kpi-tile.kpi-tile-icon{grid-template-columns:36px minmax(0,1fr);column-gap:12px;row-gap:2px;padding:9px 16px}.station-panel .kpi-tile .kpi-icon{width:36px;height:36px;border-radius:10px}.station-panel .kpi-tile .kpi-icon svg{width:18px;height:18px}.station-panel .kpi-tile.kpi-tile-icon>span{font-size:11px;letter-spacing:.05em}.station-panel .kpi-tile>strong{min-height:0;font-size:17px;line-height:1.2}.station-panel .kpi-tile>strong .status-badge,.station-panel .kpi-tile>strong .status-badge.good,.station-panel .kpi-tile>strong .status-badge.bad{font-size:13px}.station-panel .kpi-tile>small{font-size:11px}@media(max-width:650px){.station-panel .kpi-tile.kpi-tile-icon{padding:9px 10px}.station-panel .kpi-tile>strong{font-size:14px}.station-panel .kpi-tile>small{font-size:11px}}@media(max-width:650px){.station-panel .kpi-tile.kpi-tile-icon{grid-template-columns:minmax(0,1fr)}.station-panel .kpi-tile.kpi-tile-icon>.kpi-icon{display:none}.station-panel .kpi-tile.kpi-tile-icon>:not(.kpi-icon){grid-column:1;grid-row:auto}}@media(max-width:650px){.station-list td.station-list-connection>.station-list-time{min-width:0;white-space:normal}}.reading-grid .reading-tile,.report-summary-strip>*,.alert-summary{border-radius:10px}.reading-grid .reading-tile:not(.tone-bad):not(.tone-warn){box-shadow:none}.reading-grid .reading-tile{border-color:var(--line)}.reading-grid .reading-tile.tone-good{border-color:#d9ebe0}@media(min-width:651px){.reading-grid,.group-station .reading-grid{grid-template-columns:repeat(var(--tile-cols, 4),minmax(0,1fr));gap:10px}}.heading-note{margin-left:6px;color:var(--muted);font-size:12px;font-weight:500}.overview-alerts .alert-info .marquee,.overview-alerts .alert-info .marquee-inner{overflow:visible;white-space:normal;animation:none!important;transform:none!important}.overview-alerts .alert-info>span{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2}.station-list tr.is-stale .station-list-time strong,.theme-dark .station-list tr.is-stale .station-list-time strong{color:var(--text)}.station-list-compact td.station-list-connection .station-error{color:var(--amber)}.theme-dark .station-list-compact td.station-list-connection .station-error{color:#ffc35c}.page-heading-bar{padding-top:14px;padding-bottom:14px}.theme-dark .count-pill{color:#a8e0bf;background:#23382d}.theme-dark .top-avatar{color:#d7efe1;background:#24392e;box-shadow:none}.theme-dark .user-role{color:#9fe0bb!important;background:#1f3a2c}.theme-dark .user-role.role-operator{color:#ffc35c!important;background:#3d2d14}.theme-dark .user-role.role-viewer{color:var(--text-2)!important;background:#22332a}@media(max-width:650px){.heading-note{display:block;margin:2px 0 0}}.theme-dark .mobile-menu{color:var(--text);background:#1d2c24;border-color:var(--line);box-shadow:none}@media(max-width:650px){.trend-panel>.card-heading{flex-wrap:wrap;gap:8px}.trend-panel>.card-heading>div:first-child{flex:1 1 100%}.trend-panel>.card-heading h2{display:block}.trend-panel>.card-heading .segmented-control{flex:1 1 100%;display:grid;grid-template-columns:repeat(3,1fr)}}@media(min-width:651px){.group-station .reading-grid{grid-template-columns:repeat(auto-fill,minmax(176px,1fr));gap:8px}}.group-station .reading-grid .reading-tile{gap:1px;padding:9px 10px;border-radius:9px}.group-station .reading-grid .reading-tile:before{height:3px}.group-station .reading-grid .reading-tile>header{min-height:18px}.group-station .reading-grid .reading-tile>header>span:first-child{font-size:12px}.group-station .reading-grid .reading-tile>header .metric-status{padding:1px 6px;font-size:11px}.group-station .reading-grid .reading-tile>.reading-value{padding-top:14px}.group-station .reading-grid .reading-tile .reading-value strong{font-size:clamp(14px,calc((100cqi - 12px) / (var(--value-chars, 4) * .62)),18px)}.group-station .reading-grid .reading-tile>.metric-sparkline{height:12px}.group-station .reading-grid .reading-tile>footer{min-height:16px;font-size:11px}.group-station .reading-grid .reading-tile>footer .metric-trend{padding:0 5px;font-size:11px}.group-station .reading-grid .reading-tile>.reading-bar{height:2px}@media(max-width:650px){.group-station .reading-grid .reading-tile>.reading-value{padding-top:2px}}.group-station .reading-grid .reading-tile{aspect-ratio:1 / 1;min-height:0}@media(min-width:651px){.group-station .reading-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}}@media(min-width:651px){.group-station .reading-grid{grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:6px}}@media(max-width:650px){.group-station .reading-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}}.group-station .reading-grid .reading-tile{gap:0;padding:7px;border-radius:8px}.group-station .reading-grid .reading-tile>header{gap:3px;min-height:16px}.group-station .reading-grid .reading-tile>header>span:first-child{font-size:11px}.group-station .reading-grid .reading-tile>header .metric-status{padding:0 4px;font-size:10px;line-height:1.5}.group-station .reading-grid .reading-tile>.metric-sparkline{display:none}.group-station .reading-grid .reading-tile>.reading-value{padding-top:0}.group-station .reading-grid .reading-tile .reading-value strong{font-size:clamp(13px,calc((100cqi - 8px) / (var(--value-chars, 4) * .62)),17px)}.group-station .reading-grid .reading-tile>.reading-value small{font-size:10px}.group-station .reading-grid .reading-tile>footer{gap:3px;min-height:14px;font-size:10px}.group-station .reading-grid .reading-tile>footer .metric-trend{padding:0 4px;font-size:10px}.group-station .reading-grid .reading-tile>footer .metric-trend{display:none}.group-station .reading-grid .reading-tile>footer .reading-limit{flex:1 1 auto;text-align:center}.group-station .reading-grid .reading-tile>footer .reading-limit .marquee-inner{animation:none!important;transform:none!important}.group-station .reading-grid .reading-tile>footer .reading-limit .marquee{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.group-station .reading-grid .reading-tile>header>span:first-child{font-size:13px;font-weight:700}.group-station .reading-grid .reading-tile .reading-value strong{font-size:clamp(15px,calc((100cqi - 8px) / (var(--value-chars, 4) * .6)),22px)}.group-station .reading-grid .reading-tile>.reading-value small{font-size:11px}.group-station .reading-grid .reading-tile>footer{font-size:11px}.metric-status .badge-short{display:none}.group-station .reading-grid .metric-status .badge-short{display:inline}.group-station .reading-grid .metric-status:has(.badge-short) .badge-full{display:none}.group-station .reading-grid .reading-tile>header>span:first-child{min-width:0}.reading-name-unit{color:var(--muted);font-size:.86em;font-weight:500}.reading-tile.tone-bad .reading-name-unit{color:inherit;opacity:.75}.group-station .reading-grid .reading-tile>header>span:first-child{flex:1 1 auto;overflow:hidden}.group-station .reading-grid .reading-tile>header>span:first-child .marquee{display:block}.group-station .reading-grid .reading-tile.tone-good>header>.metric-status{display:none}.group-station .reading-grid .reading-tile>header .marquee-inner{animation:none!important;transform:none!important}.group-station .reading-grid .reading-tile>header>span:first-child .marquee{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.history-chart-line{stroke-width:1.8;filter:none}.history-chart-line.is-over{stroke:var(--red)}.line-chart-over-zone{fill:var(--red);fill-opacity:.06}.line-chart-threshold{stroke:var(--red);stroke-width:1;stroke-dasharray:4 4;opacity:.7}.line-chart-threshold-label{right:0;padding:0 4px;background:transparent;color:var(--red);font-size:11px;font-weight:700}.theme-dark .line-chart-threshold-label{background:transparent}.history-gridline{stroke:var(--line);stroke-dasharray:none;opacity:.8}.line-chart-band.is-gap{fill:#78847d14}.line-chart-dot{width:5px;height:5px;border-width:1.5px}.line-chart-dot.exceeded{background:var(--red);border-color:var(--red)}.line-chart-axis>span{font-variant-numeric:tabular-nums}.line-chart-summary{display:flex;flex-wrap:wrap;gap:2px 14px;margin:0 0 8px;color:var(--muted);font-size:12px}.line-chart-summary b{color:var(--text);font-weight:700;font-variant-numeric:tabular-nums}.line-chart-summary .is-exceeded,.line-chart-summary .is-exceeded b{color:var(--red)}.line-chart-summary .is-ok{color:var(--green)}.line-chart-far-limit{color:var(--muted);font-style:italic}.report-chart-grid .history-metric-card{box-shadow:none}@media(min-width:900px){.overview-layout:has(>.overview-aside:empty) .overview-main>.overview-panel .reading-grid{grid-template-columns:repeat(var(--tile-cols-wide, 6),minmax(0,240px))}.overview-layout:has(>.overview-aside:empty) .overview-main .trend-chart .line-chart-plot{height:200px}}@container (max-width: 230px){.reading-tile .metric-status .badge-short{display:inline}.reading-tile .metric-status:has(.badge-short) .badge-full{display:none}.reading-tile header>.metric-status.normal{display:none}}.reading-chip-name{color:var(--text-2);font-weight:600}.reading-chip small{color:var(--text-2);opacity:.85}.station-list tr.is-stale .reading-chips{opacity:.8}.station-list-connection .station-list-time{display:block;white-space:nowrap}.station-list-connection .station-list-time strong,.station-list-connection .station-list-time small{display:inline}.station-list-connection .station-list-time small{color:var(--muted)}.alert-info>small{display:block;min-width:0}.alert-info>small .marquee{display:block}@media(max-width:640px){.alert-info .marquee,.alert-info .marquee-inner{white-space:nowrap}.alert-info .marquee{overflow:hidden}.alert-info .marquee-inner{animation:revert!important;transform:revert!important}}.report-card>.report-card-toolbar .section-kicker{display:none}.station-switch{padding-top:9px;padding-bottom:9px}@media(max-width:650px){.admin-control .tab-bar{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}.admin-control .tab-bar::-webkit-scrollbar{display:none}.admin-control .tab-bar>*{flex:none;white-space:nowrap}.alerts-full-list .alert-row-side{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px}.alerts-full-list .alert-row-side .alert-actions{margin-left:auto}.trend-panel .trend-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:650px){.admin-control .demo-mode-badge{display:none}}@media(min-width:651px){.station-list-compact td.station-list-connection .station-error{width:230px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}@media(max-width:650px){:root:not(.theme-dark){--page: #eef2f0}.app,.main-area{background:var(--page)}.page-content{padding:6px 12px calc(104px + env(safe-area-inset-bottom))}.page-content .card{border:0;border-radius:18px;box-shadow:0 1px 2px #10281e0a,0 6px 18px #10281e0f}.page-content .card+.card,.overview-layout,.overview-main{gap:12px}.theme-dark .page-content .card{box-shadow:0 6px 18px #0000004d}.page-heading-bar,.station-hero{border-left:0!important}.topbar{height:54px;padding:0 12px;background:color-mix(in srgb,var(--page) 88%,transparent);border-bottom:0;box-shadow:none;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.topbar .breadcrumbs,.topbar .breadcrumbs *{font-size:18px;font-weight:800}.topbar .breadcrumbs svg{display:none}.topbar-tools{gap:6px;padding-left:0;border-left:0}.topbar-tools .icon-button,.topbar-tools .notification-button,.mobile-menu{width:38px;height:38px;border:0;border-radius:50%;background:var(--surface);box-shadow:0 2px 8px #10281e14}.topbar-tools .top-avatar{width:38px;height:38px;border:0;box-shadow:0 2px 8px #10281e14}.topbar .last-sync{width:12px;height:12px;padding:0;border:0;background:transparent;box-shadow:none}.topbar-divider,.topbar-actions>.divider{display:none}.bottom-nav{right:12px;bottom:calc(10px + env(safe-area-inset-bottom));left:12px;padding:6px;border:0;border-radius:24px;background:color-mix(in srgb,var(--surface) 86%,transparent);box-shadow:0 10px 30px #10281e29,0 1px #fff9 inset}.bottom-nav button{padding:4px 2px;border-radius:18px}.bottom-nav-icon{width:46px;height:28px}.bottom-nav-label{font-size:11px}.theme-dark .bottom-nav{box-shadow:0 10px 30px #00000073}.app-station-chips{display:flex;gap:8px;margin:0 -12px 10px;padding:2px 12px 4px;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;scroll-snap-type:x proximity}.app-station-chips::-webkit-scrollbar{display:none}.app-station-chip{flex:none;display:inline-flex;align-items:center;gap:7px;height:36px;padding:0 14px;color:var(--text-2);background:var(--surface);border:0;border-radius:999px;box-shadow:0 2px 8px #10281e12;font:inherit;font-size:13px;font-weight:600;white-space:nowrap;scroll-snap-align:start;cursor:pointer}.app-station-chip i{width:8px;height:8px;border-radius:50%;background:#9aa69f}.app-station-chip.tone-good i{background:#2fa771}.app-station-chip.tone-bad i{background:var(--red)}.app-station-chip.active{color:#fff;background:var(--green-dark, #176b47);box-shadow:0 4px 12px #176b474d}.app-station-chip.active i{box-shadow:0 0 0 2px #fffc}.station-hero .page-heading-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;width:100%}.station-hero .page-heading-actions .button-group{display:contents}.station-hero .page-heading-actions button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;height:60px;padding:6px 4px;border:0;border-radius:14px;font-size:12px;font-weight:700;box-shadow:none}.station-hero .page-heading-actions .button-secondary{color:var(--text-2);background:var(--surface-soft)}.station-hero .page-heading-actions button svg{width:20px;height:20px}.station-hero .page-heading-actions .tv-button,.station-hero .overview-view-toggle{display:none}.station-panel .overview-kpis{display:flex!important;gap:8px;padding:10px 12px 12px;overflow-x:auto;scrollbar-width:none;border-top:0!important}.station-panel .overview-kpis::-webkit-scrollbar{display:none}.station-panel .overview-kpis .kpi-tile.kpi-tile-icon{flex:0 0 138px;padding:10px 12px!important;border:0!important;border-radius:14px;background:var(--surface-soft)}.reading-grid{gap:10px}.reading-grid .reading-tile{border:0;border-radius:16px;box-shadow:0 1px 2px #10281e0a,0 4px 12px #10281e0f}.reading-grid .reading-tile:before{border-radius:16px 16px 0 0}.stations-list-card{padding:12px!important}.station-list tbody tr:not(.station-group-row){margin-bottom:10px;padding:12px!important;background:var(--surface);border:0!important;border-radius:16px;box-shadow:0 1px 2px #10281e0a,0 4px 12px #10281e0f!important}.station-list .station-group-row th{padding:8px 2px 6px;background:transparent}.station-list td.station-list-readings{padding-left:0!important}.station-list .reading-chips{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.station-list .reading-chip{display:grid;grid-template-columns:auto 1fr;align-items:baseline;column-gap:3px;margin:0;padding:6px 8px;background:var(--surface-soft);border-radius:10px;overflow:hidden}.station-list .reading-chip-name{grid-column:1 / -1;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.station-list .reading-chip strong{font-size:15px}.station-list .reading-chip small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.station-list td.station-list-connection>.station-list-time{padding-left:0}.station-list td.station-list-connection>.station-error{margin-left:0}.alerts-full-list .alert-row{margin-bottom:10px;padding:12px 12px 12px 14px;background:var(--surface);border:0!important;border-left:4px solid #9aa69f!important;border-radius:16px;box-shadow:0 1px 2px #10281e0a,0 4px 12px #10281e0f}.alerts-full-list .alert-row.alert-high{border-left-color:var(--red)!important}.alerts-full-list .alert-row.alert-medium{border-left-color:#e09a1b!important}.alerts-full-list .alert-row.alert-low{border-left-color:#2fa771!important}.alerts-full-list .alert-indicator{width:34px;height:34px;border-radius:12px}}@media(max-width:650px){.station-panel .overview-kpis .kpi-tile.kpi-tile-icon{display:flex!important;flex-direction:column;align-items:flex-start;justify-content:center;gap:2px;grid-row:auto!important;grid-template-rows:none!important;text-align:left;min-width:0}.station-panel .overview-kpis .kpi-tile.kpi-tile-icon>*{max-width:100%;justify-self:auto!important;text-align:left}.station-panel .overview-kpis .kpi-tile.kpi-tile-icon>span{font-size:10px;letter-spacing:.04em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.station-panel .overview-kpis .kpi-tile>strong{justify-content:flex-start;font-size:16px}.station-panel .overview-kpis .kpi-tile>small{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.station-panel .overview-kpis .kpi-tile .marquee,.station-panel .overview-kpis .kpi-tile .marquee-inner{display:inline;white-space:nowrap;animation:none!important;transform:none!important}}@media(min-width:651px){.reading-grid,.group-station .reading-grid,.overview-layout:has(>.overview-aside:empty) .overview-main>.overview-panel .reading-grid{grid-template-columns:repeat(auto-fill,136px)!important;justify-content:start;gap:10px!important}.reading-grid .reading-tile,.group-station .reading-grid .reading-tile{width:136px;height:132px;min-height:0;aspect-ratio:auto;padding:10px 11px;border-radius:12px}.reading-grid .reading-tile>header>span:first-child,.group-station .reading-grid .reading-tile>header>span:first-child{font-size:13px}.reading-grid .reading-tile .reading-value strong,.group-station .reading-grid .reading-tile .reading-value strong{font-size:clamp(15px,calc((100cqi - 10px) / (var(--value-chars, 4) * .6)),24px)}.reading-grid .reading-tile>.reading-value{padding-top:0}.reading-grid .reading-tile>.metric-sparkline{height:14px}.reading-grid .reading-tile>footer{min-height:16px;font-size:11px}.reading-grid .reading-tile>footer .metric-trend{padding:0 5px;font-size:11px}.reading-grid .reading-tile.tone-good>header>.metric-status{display:none}}@media(min-width:651px){.reading-grid,.group-station .reading-grid,.overview-layout:has(>.overview-aside:empty) .overview-main>.overview-panel .reading-grid{grid-template-columns:repeat(auto-fill,126px)!important;gap:9px!important}.reading-grid .reading-tile,.group-station .reading-grid .reading-tile{width:126px;height:128px;padding:9px 10px}.reading-grid .reading-tile .reading-value strong,.group-station .reading-grid .reading-tile .reading-value strong{font-size:clamp(15px,calc((100cqi - 8px) / (var(--value-chars, 4) * .6)),23px)}}.reading-tile footer .reading-limit{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600}.topbar-logo{display:none}@media(max-width:650px){.topbar-logo{display:inline-flex;flex:none;margin-left:2px}.topbar-logo .brand{padding:0;gap:0}.topbar-logo .brand-mark{width:30px;height:30px;border-radius:9px;box-shadow:0 2px 8px #10281e1f}.topbar-logo .brand-mark svg{width:18px;height:18px}.topbar-tools{gap:5px}.topbar-tools .icon-button,.topbar-tools .notification-button,.mobile-menu,.topbar-tools .top-avatar{width:34px;height:34px}.app-station-picker{position:relative;display:inline-flex;align-items:center;gap:7px;max-width:100%;height:34px;margin:0 0 10px;padding:0 12px;color:var(--text);background:var(--surface);border-radius:999px;box-shadow:0 2px 8px #10281e14;font-size:14px;font-weight:700}.app-station-picker>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-station-picker>i{flex:none;width:8px;height:8px;border-radius:50%;background:#9aa69f}.app-station-picker.tone-good>i{background:#2fa771}.app-station-picker.tone-bad>i{background:var(--red)}.app-station-picker>svg{flex:none;color:var(--muted)}.app-station-picker>select{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;opacity:0;font-size:16px;cursor:pointer}.station-panel .overview-kpis{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;overflow:visible;padding:10px 12px 12px}.station-panel .overview-kpis .kpi-tile.kpi-tile-icon{flex:none;width:auto;min-width:0;padding:9px 10px!important}.station-panel .overview-kpis .kpi-tile.kpi-tile-icon>span{font-size:10px}.station-panel .overview-kpis .kpi-tile>strong{font-size:15px;min-height:0}.station-panel .overview-kpis .kpi-tile>strong .status-badge,.station-panel .overview-kpis .kpi-tile>strong .status-badge.good,.station-panel .overview-kpis .kpi-tile>strong .status-badge.bad{font-size:13px}.station-panel .overview-kpis .kpi-tile>small{font-size:10.5px}}.tv-metric>header>.tv-metric-name{flex:1 1 auto;min-width:0;text-overflow:clip}.tv-metric>header>.tv-metric-name .marquee{display:block}@media(min-width:651px){.reading-grid,.group-station .reading-grid,.overview-layout:has(>.overview-aside:empty) .overview-main>.overview-panel .reading-grid{grid-template-columns:repeat(auto-fill,minmax(130px,1fr))!important;gap:10px!important}.reading-grid .reading-tile,.group-station .reading-grid .reading-tile{width:auto;height:auto;aspect-ratio:1 / .94;min-height:128px;padding:10px 11px}.reading-grid .reading-tile>header>span:first-child,.group-station .reading-grid .reading-tile>header>span:first-child{font-size:14px}.reading-grid .reading-tile .reading-value strong,.group-station .reading-grid .reading-tile .reading-value strong{font-size:clamp(16px,calc((100cqi - 10px) / (var(--value-chars, 4) * .6)),26px)}.reading-grid .reading-tile>.metric-sparkline{height:16px}.reading-grid .reading-tile>footer,.reading-grid .reading-tile>footer .metric-trend{font-size:12px}}@media(max-width:650px){.topbar .mobile-menu{display:none}.app-station-picker{border:0;font:inherit;font-size:14px;font-weight:700;cursor:pointer}.app-sheet-backdrop{position:fixed;z-index:70;top:0;right:0;bottom:0;left:0;display:flex;align-items:flex-end;background:#0a191261;animation:app-fade .18s ease-out}.app-sheet{display:flex;flex-direction:column;width:100%;max-height:82vh;padding:6px 14px calc(14px + env(safe-area-inset-bottom));background:var(--surface);border-radius:22px 22px 0 0;box-shadow:0 -10px 40px #0003;animation:app-sheet-up .24s cubic-bezier(.2,.8,.2,1)}.app-sheet-grip{align-self:center;width:40px;height:4px;margin:4px 0 8px;background:var(--line);border-radius:999px}.app-sheet>header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.app-sheet>header h2{margin:0;font-size:17px}.app-sheet-search{width:100%;margin-bottom:8px}.app-sheet-search input{font-size:16px}.app-sheet-list{overflow-y:auto;margin:0 -14px;padding:0 14px}.app-sheet-group{margin:10px 2px 4px;color:var(--muted);font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.app-sheet-station{display:grid;grid-template-columns:10px minmax(0,1fr) auto;align-items:center;gap:10px;width:100%;margin-bottom:6px;padding:10px 12px;color:var(--text);background:var(--surface-soft);border:1px solid transparent;border-radius:14px;font:inherit;text-align:left;cursor:pointer}.app-sheet-station.active{border-color:var(--green);background:var(--green-soft)}.app-sheet-station>i{width:9px;height:9px;border-radius:50%;background:#9aa69f}.app-sheet-station.tone-good>i{background:#2fa771}.app-sheet-station.tone-bad>i{background:var(--red)}.app-sheet-station>span{display:grid;min-width:0}.app-sheet-station strong{overflow:hidden;font-size:14px;text-overflow:ellipsis;white-space:nowrap}.app-sheet-station small{color:var(--muted);font-size:11px}.app-sheet-station em{color:var(--muted);font-size:11px;font-style:normal;font-weight:600;white-space:nowrap}.app-sheet-station.tone-good em{color:var(--green)}.app-sheet-station.tone-bad em{color:var(--red)}.app-sheet-empty{padding:20px 0;color:var(--muted);text-align:center}@keyframes app-sheet-up{0%{transform:translateY(100%)}to{transform:none}}@keyframes app-fade{0%{opacity:0}to{opacity:1}}.station-hero .page-heading-actions{display:flex!important;flex-wrap:nowrap;gap:6px;width:100%}.station-hero .page-heading-actions button{flex:1 1 0;flex-direction:row;gap:5px;min-width:0;height:34px;padding:0 8px;border-radius:10px;font-size:12px;white-space:nowrap}.station-hero .page-heading-actions button svg{width:15px;height:15px;flex:none}.station-list tbody tr:not(.station-group-row){margin-bottom:8px;padding:10px 10px 9px!important;border-radius:14px}.station-list .station-name strong{font-size:14px}.station-list .station-name small{font-size:11px}.station-list .station-symbol{width:28px;height:28px}.station-list .reading-chips{gap:5px}.station-list .reading-chip{padding:5px 7px;border-radius:9px}.station-list .reading-chip-name{font-size:10px;font-weight:600}.station-list .reading-chip strong{font-size:13px}.station-list .reading-chip small{font-size:10px}.station-list .status-badge{padding:2px 8px;font-size:11px}.station-list .station-list-time strong,.station-list .station-list-time small,.station-list .station-error{font-size:11px}}@media(min-width:651px){.overview-main>.overview-panel .reading-grid,.overview-layout:has(>.overview-aside:empty) .overview-main>.overview-panel .reading-grid{grid-template-columns:repeat(auto-fill,136px)!important}}.station-name>span,.station-name>span>strong,.station-name>span>small,.app-sheet-station>span>strong,.app-sheet-station>span>small,.station-switch-name,.station-switch-name>strong{min-width:0;overflow:hidden}.station-name>span>strong,.station-name>span>small{display:block;white-space:nowrap}.station-name>span>strong .marquee,.station-name>span>small .marquee,.app-sheet-station .marquee{display:block}.station-list-compact .station-list-name{max-width:260px}.station-pagination{margin-top:10px}@media(max-width:650px){.station-list-compact .station-list-name{max-width:none}.station-pagination{justify-content:center}.station-pagination>span{width:100%;text-align:center}}@media(min-width:651px){.reading-grid,.group-station .reading-grid,.overview-main>.overview-panel .reading-grid,.overview-layout:has(>.overview-aside:empty) .overview-main>.overview-panel .reading-grid{grid-template-columns:repeat(auto-fill,136px)!important;justify-content:space-between;gap:10px!important}.reading-grid .reading-tile,.group-station .reading-grid .reading-tile{width:136px;height:128px;min-height:0;aspect-ratio:auto;padding:9px 10px}.reading-grid .reading-tile>header>span:first-child,.group-station .reading-grid .reading-tile>header>span:first-child{font-size:13px}.reading-grid .reading-tile .reading-value strong,.group-station .reading-grid .reading-tile .reading-value strong{font-size:clamp(15px,calc((100cqi - 8px) / (var(--value-chars, 4) * .6)),24px)}.reading-grid .reading-tile>.metric-sparkline{height:14px}.reading-grid .reading-tile>footer,.reading-grid .reading-tile>footer .metric-trend{font-size:11px}}.station-name-line{display:flex!important;align-items:center;gap:7px;min-width:0}.station-name-line>.marquee{flex:1 1 auto;min-width:0}.station-dot{flex:none;width:8px;height:8px;border-radius:50%;background:#9aa69f}.station-dot.tone-good{background:#2fa771;box-shadow:0 0 0 3px #2fa77129}.station-dot.tone-bad{background:var(--red);box-shadow:0 0 0 3px #d23f2f29}.station-dot.tone-off{background:#9aa69f}.topbar-home-brand{display:none}@media(max-width:650px){.topbar-home-brand{display:inline-flex;min-width:0}.topbar-home-brand .brand{gap:8px;padding:0}.topbar-home-brand .brand-mark{width:32px;height:32px;border-radius:10px}.topbar-home-brand .brand-mark svg{width:19px;height:19px}.topbar-home-brand .brand-wordmark{color:var(--text);font-size:18px;letter-spacing:.08em}.topbar-home-brand .brand span,.breadcrumbs.is-home{display:none}.app-sheet-search{height:46px;padding:0 14px;border-radius:14px}.app-sheet-search svg{width:18px;height:18px}.app-sheet-search input{height:100%;font-size:16px}.app-sheet-backdrop.is-typing{align-items:stretch}.app-sheet-backdrop.is-typing .app-sheet{max-height:none;height:100%;border-radius:0;padding-top:calc(10px + env(safe-area-inset-top));animation:none}.app-sheet-backdrop.is-typing .app-sheet-grip{display:none}.app-sheet-list{flex:1 1 auto;min-height:0}}@media(min-width:651px){.reading-grid,.group-station .reading-grid,.overview-main>.overview-panel .reading-grid,.overview-layout:has(>.overview-aside:empty) .overview-main>.overview-panel .reading-grid{grid-template-columns:repeat(auto-fill,136px)!important;justify-content:var(--tile-justify, start)!important}.readings-panel{margin-bottom:10px}}@media(max-width:650px){.app-sheet .app-sheet-search{height:48px!important;min-height:48px;padding:0 14px!important;border:1.5px solid var(--line)!important;border-radius:14px!important;background:var(--surface-soft)}.app-sheet .app-sheet-search input{height:100%!important;font-size:16px!important}}@media(min-width:900px){.reading-grid,.group-station .reading-grid,.overview-main>.overview-panel .reading-grid{grid-template-columns:repeat(auto-fill,136px)!important;justify-content:start!important;gap:10px!important}.tiles-layout{grid-template-columns:var(--main-width, minmax(0, 1fr)) minmax(340px,1fr)!important}.tiles-layout:has(>.overview-aside:empty){grid-template-columns:minmax(0,1fr)!important}.tiles-layout .readings-panel{margin-bottom:0}}@media(min-width:651px){.alert-summary{padding-top:12px!important;padding-bottom:12px!important}.alert-summary strong{font-size:22px;line-height:1.15}}@media(max-width:650px){.status-filter{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.status-filter .status-filter-item{min-width:0;justify-content:center;gap:4px;height:34px;padding:0 6px;font-size:12px}.status-filter .status-filter-code{width:18px;height:18px;font-size:10px}}@media(max-width:650px){.status-filter{grid-template-columns:repeat(2,minmax(0,1fr))!important}.status-filter .status-filter-item{justify-content:flex-start;padding:0 10px;font-size:13px;overflow:hidden;white-space:nowrap}}@media(max-width:650px){.app-station-picker{gap:8px;height:40px;padding:0 5px}.app-station-picker-icon{position:relative;display:grid;place-items:center;flex:none;width:30px;height:30px;color:#fff;background:linear-gradient(145deg,#2fa771,#176b47);border-radius:50%}.app-station-picker-icon>i{position:absolute;right:-1px;bottom:-1px;width:10px;height:10px;border:2px solid var(--surface);border-radius:50%;background:#9aa69f}.app-station-picker.tone-good .app-station-picker-icon>i{background:#2fa771}.app-station-picker.tone-bad .app-station-picker-icon>i{background:var(--red)}.app-station-picker>i{display:none}.app-station-picker-caret{display:grid;place-items:center;flex:none;width:26px;height:26px;margin-left:2px;color:var(--text-2);background:var(--surface-soft);border-radius:50%;font-style:normal}}@media(min-width:651px){.overview-layout:has(>.overview-aside:empty) .overview-main>.overview-panel .reading-grid,.tiles-layout .overview-main>.overview-panel .reading-grid,.page-content .reading-grid{grid-template-columns:repeat(auto-fill,136px)!important;justify-content:start!important;gap:10px!important}}.topbar-station-slot{display:none}@media(max-width:650px){.topbar-station-slot{display:flex;flex:1 1 auto;min-width:0}.topbar-station-slot .app-station-picker{margin:0;max-width:100%;box-shadow:0 2px 8px #10281e14}.topbar-left:has(.topbar-station-slot){flex:1 1 auto;min-width:0}.topbar-home-brand{display:none!important}}.overview-no-alerts{display:flex;align-items:center;gap:8px;margin:4px 0 2px;padding:12px 14px;color:var(--green);background:var(--green-soft);border-radius:10px;font-size:13px;font-weight:600}.overview-alerts .alert-info .marquee{display:block;overflow:hidden;white-space:nowrap}.overview-alerts .alert-info .marquee-inner{white-space:nowrap;animation:revert!important;transform:revert!important}.overview-alerts .alert-info>span{display:block;-webkit-line-clamp:unset}.station-weather{display:inline-flex;align-items:center;gap:9px;min-width:0;margin-right:6px;padding:4px 12px 4px 5px;color:var(--text);background:var(--surface-soft);border:1px solid var(--line);border-radius:999px;cursor:default}.station-weather-icon{display:grid;place-items:center;flex:none;width:34px;height:34px;color:#fff;border-radius:50%;background:linear-gradient(145deg,#7aa6c8,#4b7aa3)}.station-weather.is-sun .station-weather-icon{background:linear-gradient(145deg,#ffcf5a,#f29a1c)}.station-weather.is-cloud-sun .station-weather-icon{background:linear-gradient(145deg,#ffd66e,#8fb2cf)}.station-weather.is-moon .station-weather-icon,.station-weather.is-cloud-moon .station-weather-icon{background:linear-gradient(145deg,#5b6c99,#2f3c63)}.station-weather.is-rain .station-weather-icon{background:linear-gradient(145deg,#5aa6e0,#2b6fb3)}.station-weather.is-storm .station-weather-icon{background:linear-gradient(145deg,#7a6fc0,#3e3580)}.station-weather.is-fog .station-weather-icon,.station-weather.is-cloud .station-weather-icon{background:linear-gradient(145deg,#a9b7c3,#6f8291)}.station-weather-main{display:grid;line-height:1.15}.station-weather-main strong{font-size:15px;font-weight:800;font-variant-numeric:tabular-nums}.station-weather-main small{color:var(--muted);font-size:11px;white-space:nowrap}.station-weather-more{display:flex;flex-wrap:wrap;align-items:center;gap:2px 10px;padding-left:9px;border-left:1px solid var(--line);color:var(--text-2);font-size:11px;white-space:nowrap}.station-weather-more>span{display:inline-flex;align-items:center;gap:3px}.station-weather-more em{flex-basis:100%;color:var(--muted);font-size:10px;font-style:normal}.station-weather.is-compact{gap:6px;margin:0;padding:3px 10px 3px 3px}.station-weather.is-compact .station-weather-icon{width:28px;height:28px}@media(max-width:650px){.station-hero .page-heading-actions .station-weather{flex:none;order:-1;width:auto;height:auto}}.page-heading-actions>.station-weather{flex:none}@media(max-width:650px){.station-panel{position:relative}.station-hero .page-heading-actions>.station-weather{position:absolute;z-index:2;top:14px;right:12px;order:0}.station-hero .page-heading-actions>.station-weather .station-weather-main small{display:none}.station-hero h1,.station-hero h2{padding-right:96px}}.station-weather-more{display:grid!important;grid-auto-flow:column;grid-template-rows:auto auto;justify-content:start;gap:1px 10px}.station-weather-more em{grid-row:2;grid-column:1 / span 3;flex-basis:auto}.weather-admin{display:grid;gap:12px;max-width:620px}.weather-admin .config-switch{display:inline-flex;align-items:center;gap:8px;font-weight:600}.weather-admin-row{display:flex;gap:8px}.weather-admin-row input{flex:1}@media(min-width:651px){.overview-layout:has(>.overview-aside:empty) .overview-main>.overview-panel .reading-grid,.tiles-layout .overview-main>.overview-panel .reading-grid,.page-content .reading-grid{gap:6px!important}}.station-weather{display:none!important}.station-hero-meta{overflow:visible!important}.station-weather-mini{position:relative;display:inline-grid;place-items:center;flex:none;width:22px;height:22px;color:#fff;border-radius:50%;background:linear-gradient(145deg,#a9b7c3,#6f8291);cursor:help;outline:none;vertical-align:middle}.station-weather-mini>svg{width:13px;height:13px}.station-weather-mini.is-sun{background:linear-gradient(145deg,#ffcf5a,#f29a1c)}.station-weather-mini.is-cloud-sun{background:linear-gradient(145deg,#ffd66e,#8fb2cf)}.station-weather-mini.is-moon,.station-weather-mini.is-cloud-moon{background:linear-gradient(145deg,#5b6c99,#2f3c63)}.station-weather-mini.is-rain{background:linear-gradient(145deg,#5aa6e0,#2b6fb3)}.station-weather-mini.is-storm{background:linear-gradient(145deg,#7a6fc0,#3e3580)}.station-weather-pop{position:absolute;z-index:30;top:calc(100% + 8px);left:50%;display:none;gap:3px;width:max-content;max-width:260px;padding:10px 12px;color:var(--text);background:var(--surface);border:1px solid var(--line);border-radius:12px;box-shadow:0 10px 30px #10281e2e;font-size:12px;font-weight:500;line-height:1.4;text-align:left;transform:translate(-50%);cursor:default}.station-weather-mini:hover .station-weather-pop,.station-weather-mini:focus .station-weather-pop,.station-weather-mini:focus-within .station-weather-pop{display:grid}.station-weather-pop strong{display:inline-flex;align-items:center;gap:5px;font-size:14px;font-weight:800}.station-weather-pop em{margin-top:2px;color:var(--muted);font-size:10.5px;font-style:normal}.station-weather-hours{display:flex;gap:10px;margin-top:4px;padding-top:6px;border-top:1px solid var(--line)}.station-weather-hours>span{display:grid;justify-items:center;gap:1px}.station-weather-hours small{color:var(--muted);font-size:10px}.station-weather-hours b{font-size:11px}@media(max-width:650px){.station-weather-pop{left:auto;right:-40px;transform:none}}@media(min-width:651px){.page-content .reading-grid,.page-content .group-station .reading-grid,.page-content .overview-main>.overview-panel .reading-grid{grid-template-columns:repeat(auto-fill,136px)!important;justify-content:start!important;gap:6px!important}}@media(min-width:900px){.tiles-layout{grid-template-columns:var(--main-width, minmax(0, 1fr)) minmax(280px,1fr)!important}}@media(min-width:900px){.tiles-layout.readings-wide{grid-template-columns:minmax(0,1fr) minmax(300px,30%)!important}.tiles-layout.readings-wide>.overview-main{display:contents}.tiles-layout.readings-wide .readings-panel{grid-column:1 / -1}.tiles-layout.readings-wide>.overview-main>:not(.readings-panel){grid-column:1}.tiles-layout.readings-wide>.overview-aside{grid-column:2}}@media(min-width:651px){.page-content .overview-panel .reading-grid,.page-content .overview-main>.overview-panel .reading-grid,.page-content .tiles-layout .overview-main>.overview-panel .reading-grid,.page-content .group-station .reading-grid{grid-template-columns:repeat(auto-fill,136px)!important;justify-content:start!important;gap:6px!important}}.station-weather-mini{width:auto;height:auto;padding:0 2px;background:none!important;color:inherit}.station-weather-mini>.weather-glyph{display:block}.weather-glyph .wg-rays rect{fill:#f7b52c}.weather-glyph .wg-sun circle{fill:url(#none);fill:#ffc93c;stroke:#f29a1c;stroke-width:1.2}.weather-glyph .wg-rays{transform-origin:16px 16px;animation:wg-spin 12s linear infinite}.weather-glyph.is-sun-cloud .wg-rays{transform-box:fill-box}.weather-glyph .wg-cloud{fill:#eef3f8;stroke:#8fa3b8;stroke-width:1.4;animation:wg-drift 4s ease-in-out infinite}.weather-glyph.is-rain .wg-cloud{fill:#dbe6f1;stroke:#6f8aa6}.weather-glyph .wg-drops line{stroke:#2f86d6;stroke-width:2;stroke-linecap:round;animation:wg-fall 1s linear infinite}.weather-glyph .wg-wind path{fill:none;stroke:#4fa3c8;stroke-width:2.2;stroke-linecap:round;stroke-dasharray:30;animation:wg-blow 2.4s ease-in-out infinite}@keyframes wg-spin{to{transform:rotate(360deg)}}@keyframes wg-drift{0%,to{transform:translate(0)}50%{transform:translate(1.2px)}}@keyframes wg-fall{0%{opacity:0;transform:translateY(-3px)}30%{opacity:1}to{opacity:0;transform:translateY(3px)}}@keyframes wg-blow{0%{stroke-dashoffset:30;opacity:.4}50%{stroke-dashoffset:0;opacity:1}to{stroke-dashoffset:-30;opacity:.4}}@media(prefers-reduced-motion:reduce){.weather-glyph *{animation:none!important}}.theme-dark .weather-glyph .wg-cloud{fill:#3a4d5e;stroke:#9db2c6}.station-weather-pop strong .weather-glyph{flex:none}.station-panel,.station-panel .station-hero,.station-panel .page-heading-bar{overflow:visible!important}.station-weather-mini{margin:-4px 0}.weather-glyph .wg-cloud{fill:#fff;stroke:#5f7d99;stroke-width:1.8;filter:drop-shadow(0 1px 1.5px rgba(40,70,100,.25))}.weather-glyph.is-rain .wg-cloud{fill:#cfe0f0;stroke:#3f6a92}.weather-glyph .wg-sun circle{fill:#ffbf1f;stroke:#f08a00;stroke-width:1.4}.weather-glyph .wg-rays rect{fill:orange}.weather-glyph .wg-drops line{stroke:#1f7ae0;stroke-width:2.4}.weather-glyph .wg-wind path{stroke:#2b8fc0;stroke-width:2.6}.station-weather-mini>svg.weather-glyph{width:28px;height:28px}.station-weather-pop strong>svg.weather-glyph{width:26px;height:26px}.station-weather-hours svg.weather-glyph{width:20px;height:20px}.station-weather-mini.is-open .station-weather-pop{display:grid}.station-weather-pop.is-floating{position:fixed;display:grid;width:260px;max-width:260px;transform:none}.station-hero-meta .station-weather-mini>svg.weather-glyph,.station-weather-mini>svg.weather-glyph{width:28px!important;height:28px!important}.station-weather-pop strong>svg.weather-glyph{width:26px!important;height:26px!important}.station-weather-hours svg.weather-glyph{width:20px!important;height:20px!important}@media(min-width:651px){.page-content .overview-panel .reading-grid,.page-content .overview-main>.overview-panel .reading-grid,.page-content .tiles-layout .overview-main>.overview-panel .reading-grid,.page-content .group-station .reading-grid,.page-content .reading-grid{grid-template-columns:repeat(auto-fill,var(--tile-w, 136px))!important;gap:var(--tile-gap, 6px)!important}.page-content .reading-grid .reading-tile,.page-content .group-station .reading-grid .reading-tile{width:var(--tile-w, 136px)!important}}@media(min-width:651px){.page-content .overview-panel .reading-grid,.page-content .group-station .reading-grid{margin-right:-14px}}@media(min-width:651px){.page-content .overview-panel .reading-grid,.page-content .group-station .reading-grid{margin-left:-8px}.page-content .readings-panel>.card-heading{margin-left:-8px}}.station-hero .station-hero-meta{display:flex!important;flex-wrap:nowrap!important;align-items:center;gap:10px;min-width:0;max-width:100%;white-space:nowrap}.station-hero .station-hero-meta>.station-hero-tag,.station-hero .station-hero-meta>.station-weather-mini{flex:none}.station-hero .station-hero-meta>span:not(.station-hero-tag):not(.station-weather-mini){display:inline-flex;align-items:center;gap:4px;flex:0 1 auto;min-width:48px;overflow:hidden}.station-hero .station-hero-meta>span>svg{flex:none}.station-hero .station-hero-meta>span .marquee{display:block;min-width:0;overflow:hidden}.station-hero .station-hero-meta>.accrued-fee{flex:0 1 auto;min-width:0;margin-left:auto;overflow:hidden}.station-hero .page-heading-copy,.station-hero>div:first-child{min-width:0}@media(max-width:650px){.station-hero .station-hero-meta{gap:8px;font-size:12px}.station-hero .station-hero-meta>.station-weather-mini>svg.weather-glyph{width:24px!important;height:24px!important}}@media(max-width:650px){.station-panel{position:relative}.station-hero .station-hero-meta>.station-weather-mini{position:absolute;z-index:3;top:18px;right:16px}.station-hero .station-hero-meta>.station-weather-mini>svg.weather-glyph{width:30px!important;height:30px!important}.station-hero .station-hero-meta{position:static}.station-hero h1,.station-hero h2{padding-right:44px}.station-hero .station-hero-meta>span:not(.station-hero-tag):not(.station-weather-mini){min-width:0}}.station-hero h1,.station-hero h2{display:flex;align-items:center;min-width:0;white-space:nowrap}.station-hero h1>.marquee,.station-hero h2>.marquee{display:block;min-width:0;overflow:hidden}.line-chart-plot{margin-left:30px}.line-chart-axis>span{left:-30px;width:26px;font-size:10.5px}.line-chart-labels,.line-chart-legend{margin-left:30px}.trend-panel .trend-chart,.history-metric-card .line-chart{margin-left:-6px}@media(max-width:650px){.line-chart-plot{margin-left:26px}.line-chart-axis>span{left:-26px;width:22px;font-size:10px}.line-chart-labels,.line-chart-legend{margin-left:26px}.trend-panel .trend-chart,.history-metric-card .line-chart{margin-left:-4px;margin-right:-4px}}@media(max-width:650px){.station-list .station-symbol{display:none!important}.station-list .station-name{gap:0}.station-list td:nth-child(2),.station-list td.station-list-readings,.station-list td.station-list-connection>.station-list-time,.station-list td.station-list-connection>.station-error{padding-left:0!important;margin-left:0!important}}.weather-glyph .wg-moon path{fill:#f4d77a;stroke:#d9b54a;stroke-width:.8}.weather-glyph .wg-star{fill:#f4d77a;animation:wg-twinkle 2.4s ease-in-out infinite}@keyframes wg-twinkle{50%{opacity:.25}}@media(prefers-reduced-motion:reduce){.weather-glyph .wg-star{animation:none}}[data-palette=ocean]{--green: #1f6fb8;--green-dark: #17578f;--forest: #0f2c45;--forest-deep: #0b2238;--forest-pill: #1a4266;--forest-glow: #4fb3f0;--forest-text: #a9c3d8;--forest-muted: #7f9cb5;--brand-top: #133552;--brand-pill-top: #23557f;--brand-light: #5cc2f2;--brand-mid: #2a8bd0;--brand-deep: #1a5f99;--brand-tint: #e6f1fb;--brand-tint-2: #d8e9f8;--chart-area: #2a8bd0}[data-palette=teal]{--green: #0f8a87;--green-dark: #0b6b69;--forest: #0e3434;--forest-deep: #0a2828;--forest-pill: #184a49;--forest-glow: #3fd6cf;--forest-text: #a6c9c7;--forest-muted: #7aa3a0;--brand-top: #123d3d;--brand-pill-top: #215c5a;--brand-light: #5fe0d6;--brand-mid: #1fa8a2;--brand-deep: #0f7470;--brand-tint: #e2f5f4;--brand-tint-2: #d3eeec;--chart-area: #1fa8a2}[data-palette=indigo]{--green: #4a55c9;--green-dark: #3a43a3;--forest: #1c1f4a;--forest-deep: #15173a;--forest-pill: #2c3170;--forest-glow: #8a95ff;--forest-text: #b4b8e0;--forest-muted: #8a8fbd;--brand-top: #222659;--brand-pill-top: #383e8a;--brand-light: #8f9cff;--brand-mid: #5865e0;--brand-deep: #3a43a3;--brand-tint: #eceefd;--brand-tint-2: #e0e3fb;--chart-area: #5865e0}[data-palette=graphite]{--green: #3f6478;--green-dark: #2f4d5d;--forest: #1f2529;--forest-deep: #171b1e;--forest-pill: #2f373d;--forest-glow: #7fc4e0;--forest-text: #b5bec4;--forest-muted: #8a959c;--brand-top: #262d32;--brand-pill-top: #3a444b;--brand-light: #9fb4c2;--brand-mid: #56707f;--brand-deep: #36495a;--brand-tint: #eef2f4;--brand-tint-2: #e2e8ec;--chart-area: #56707f}[data-palette] .theme-dark{--chart-area: var(--forest-glow)}[data-palette] .brand-mark,[data-palette] .sidebar .brand-mark{background:linear-gradient(150deg,var(--brand-light) 0%,var(--brand-mid) 48%,var(--brand-deep) 100%)}[data-palette] .brand strong em{color:var(--green)}[data-palette] .sidebar .brand strong em,[data-palette] .login-visual .brand strong em,[data-palette] .tv-header .brand strong em{color:var(--brand-light)}[data-palette] .sidebar{background:linear-gradient(180deg,var(--brand-top) 0%,var(--forest) 45%,var(--forest-deep) 100%);border-right-color:var(--forest-deep)}[data-palette] .sidebar .workspace-avatar,[data-palette] .sidebar .profile-avatar{color:var(--brand-light);background:color-mix(in srgb,var(--forest-glow) 16%,transparent)}[data-palette] .sidebar .nav-label,[data-palette] .sidebar .system-card-top{color:var(--forest-muted)}[data-palette] .sidebar .nav-button>svg{color:var(--forest-muted)}[data-palette] .sidebar .nav-button:hover:not(.active)>svg{color:var(--forest-text)}[data-palette] .sidebar .nav-indicator{background:linear-gradient(180deg,var(--brand-pill-top) 0%,var(--forest-pill) 100%)}[data-palette] .sidebar .nav-indicator:before{box-shadow:0 0 4px color-mix(in srgb,var(--forest-glow) 40%,transparent)}[data-palette] .sidebar .system-meter i{background:linear-gradient(90deg,var(--brand-mid),var(--forest-glow));box-shadow:0 0 8px color-mix(in srgb,var(--forest-glow) 50%,transparent)}[data-palette] .sidebar .profile-link{color:var(--brand-light)}[data-palette] .theme-dark .sidebar{background:linear-gradient(180deg,color-mix(in srgb,var(--forest) 80%,#000),color-mix(in srgb,var(--forest-deep) 85%,#000),color-mix(in srgb,var(--forest-deep) 70%,#000));border-right-color:color-mix(in srgb,var(--forest-deep) 60%,#000)}[data-palette] .theme-dark .sidebar .nav-indicator{background:linear-gradient(180deg,var(--forest-pill) 0%,color-mix(in srgb,var(--forest-pill) 75%,#000) 100%)}[data-palette] .button-primary,[data-palette] .login-submit{background:linear-gradient(180deg,var(--brand-mid),var(--green-dark));border-color:var(--green-dark)}[data-palette] .button-primary:hover:not(:disabled){box-shadow:inset 0 1px #ffffff40,inset 0 -2px #00000024,0 8px 18px color-mix(in srgb,var(--green) 30%,transparent)}[data-palette] .plain-link{color:var(--green-dark)}[data-palette] .theme-dark .plain-link{color:var(--forest-glow)}[data-palette] .nav-button:hover{background:var(--brand-tint)}[data-palette] .station-switch.active{background:var(--brand-tint);border-color:var(--brand-tint-2)}[data-palette] .station-hero-meta .station-hero-tag{background:var(--brand-tint)}[data-palette] .theme-dark .station-hero-meta .station-hero-tag{color:var(--forest-glow);background:color-mix(in srgb,var(--forest-glow) 14%,transparent)}[data-palette] .tab-bar-indicator{background:linear-gradient(180deg,var(--brand-tint),var(--brand-tint-2));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--green) 16%,transparent),0 2px 8px color-mix(in srgb,var(--green) 12%,transparent)}[data-palette] .theme-dark .tab-bar-item.is-selected{color:var(--forest-glow)}[data-palette] .theme-dark .tab-bar-indicator{background:linear-gradient(180deg,var(--forest-pill),color-mix(in srgb,var(--forest-pill) 80%,#000));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--forest-glow) 20%,transparent),0 2px 8px #0000004d}[data-palette] .theme-dark .tab-bar-indicator:after{background:var(--forest-glow)}[data-palette] .history-chart-line{filter:drop-shadow(0 3px 4px color-mix(in srgb,var(--green) 22%,transparent))}[data-palette] .theme-dark .history-chart-line{stroke:var(--forest-glow)}[data-palette] .login-visual{background:var(--forest)}[data-palette] .login-visual:before{background:radial-gradient(ellipse at 76% 68%,color-mix(in srgb,var(--brand-mid) 34%,transparent),transparent 38%),radial-gradient(ellipse at 0% 100%,color-mix(in srgb,var(--forest-deep) 76%,transparent),transparent 52%),linear-gradient(142deg,var(--forest-pill),var(--forest) 58%,var(--forest-deep))}@media(max-width:650px){[data-palette] .login-panel:before{background:linear-gradient(90deg,var(--green-dark),var(--brand-light))}}.palette-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:12px}.palette-option{display:grid;gap:10px;padding:12px;color:var(--text);text-align:left;background:var(--surface);border:1px solid var(--line);border-radius:12px;cursor:pointer;transition:border-color .15s,box-shadow .15s,transform .15s}.palette-option:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 16px #142d201a}.palette-option.is-selected{border-color:var(--green);box-shadow:0 0 0 2px color-mix(in srgb,var(--green) 30%,transparent)}.palette-option:disabled{cursor:wait;opacity:.7}.palette-preview{display:grid;grid-template-columns:34% 1fr;height:74px;overflow:hidden;border-radius:8px;border:1px solid var(--line)}.palette-preview-side{display:grid;align-content:start;gap:6px;padding:8px}.palette-preview-side i{display:block;width:18px;height:18px;border-radius:6px}.palette-preview-side b{display:block;height:5px;border-radius:3px;background:#ffffff47}.palette-preview-main{display:grid;align-content:start;gap:7px;padding:10px;background:var(--surface-soft)}.palette-preview-main b{display:block;height:6px;border-radius:3px;background:var(--line)}.palette-preview-main span{display:block;width:46px;height:14px;border-radius:5px}.palette-option strong{display:flex;align-items:center;justify-content:space-between;font-size:14px;font-weight:700}.palette-option strong svg{color:var(--green)}.palette-option small{color:var(--muted);font-size:13px}.config-warning{display:inline-grid;place-items:center;flex:none;width:22px;height:22px;color:#b86e00;background:#fff1dc;border-radius:50%;cursor:help;outline:none}.config-warning:focus-visible{box-shadow:0 0 0 2px #e09a1b}.theme-dark .config-warning{color:#ffc35c;background:#3d2d14}.station-list-connection .config-warning{margin-left:6px;vertical-align:middle}.topbar .last-sync{gap:7px}.topbar .last-sync .last-sync-clock{display:inline-flex;align-items:center;padding-left:8px;border-left:1px solid var(--line)}.topbar .last-sync .last-sync-clock>*{border:0!important;background:none!important;box-shadow:none!important;padding:0!important;height:auto!important;min-height:0!important}.topbar .last-sync .last-sync-clock svg{display:none}.topbar .last-sync .last-sync-clock .live-clock-date,.topbar .last-sync .last-sync-clock [class*=date]{display:none}@media(max-width:650px){.topbar .last-sync .last-sync-clock{display:none}}.sidebar-collapse{display:none}@media(min-width:651px){.sidebar-collapse{display:inline-flex;align-items:center;gap:6px;margin:0 0 8px;padding:6px 10px;color:inherit;background:#ffffff0f;border:0;border-radius:10px;font:inherit;font-size:12px;opacity:.8;cursor:pointer}.sidebar-collapse svg{transform:rotate(180deg);transition:transform .2s}.sidebar-collapse:hover{opacity:1}.app.sidebar-collapsed .sidebar{width:72px!important;min-width:72px!important;padding-left:10px!important;padding-right:10px!important}.app.sidebar-collapsed .sidebar .brand>div:not(.brand-mark),.app.sidebar-collapsed .sidebar .nav-label,.app.sidebar-collapsed .sidebar .side-nav .nav-button>span,.app.sidebar-collapsed .sidebar .sidebar-copyright,.app.sidebar-collapsed .sidebar .sidebar-collapse>span,.app.sidebar-collapsed .sidebar .site-tree,.app.sidebar-collapsed .sidebar .site-tree-summary{display:none!important}.app.sidebar-collapsed .sidebar .brand{justify-content:center}.app.sidebar-collapsed .sidebar .side-nav .nav-button{justify-content:center;padding-left:0;padding-right:0}.app.sidebar-collapsed .sidebar .side-nav .nav-button>b{position:absolute;top:2px;right:6px;min-width:16px;padding:1px 4px;font-size:10px}.app.sidebar-collapsed .sidebar .side-nav .nav-button{position:relative}.app.sidebar-collapsed .sidebar .catalog-rail-button{display:inline-grid!important}.app.sidebar-collapsed .sidebar .sidebar-collapse{justify-content:center;width:100%;padding:8px 0}.app.sidebar-collapsed .sidebar .sidebar-collapse svg{transform:none}}[data-layout=app]{--page: #eef1f4}[data-layout=app] .app,[data-layout=app] .main-area{background:var(--page)}[data-layout=app] .sidebar{color:var(--text);background:#fff!important;background-image:none!important;border-right:1px solid #e3e8ec;box-shadow:none!important}[data-layout=app] .sidebar .brand-wordmark{color:var(--text)}[data-layout=app] .sidebar .brand span,[data-layout=app] .sidebar .nav-label{color:var(--muted)}[data-layout=app] .sidebar .side-nav{background:transparent!important;border:0!important;box-shadow:none!important;padding:0}[data-layout=app] .sidebar .nav-indicator{display:none}[data-layout=app] .sidebar .nav-button{height:42px;margin-bottom:4px;color:var(--text-2);background:transparent;border-radius:12px;font-weight:600}[data-layout=app] .sidebar .nav-button svg{color:var(--muted)}[data-layout=app] .sidebar .nav-button:hover{background:#f2f5f7}[data-layout=app] .sidebar .nav-button.active{color:var(--green-dark, #176b47);background:var(--green-soft, #e4f5ec)}[data-layout=app] .sidebar .nav-button.active svg{color:var(--green, #1f8a5c)}[data-layout=app] .sidebar .catalog-rail-button,[data-layout=app] .sidebar .site-tree-summary{color:var(--text);background:#f4f7f9!important;border:1px solid #e3e8ec!important;box-shadow:none!important}[data-layout=app] .sidebar .sidebar-copyright{color:var(--muted)}[data-layout=app] .sidebar .sidebar-collapse{background:#f2f5f7;color:var(--text-2)}[data-layout=app] .topbar{background:color-mix(in srgb,var(--page) 90%,transparent)!important;border-bottom:0!important;box-shadow:none!important}[data-layout=app] .topbar .crumb-chip,[data-layout=app] .topbar .last-sync{background:#fff;border:0;box-shadow:0 1px 2px #14283c0d,0 2px 8px #14283c0d}[data-layout=app] .topbar-tools{border-left:0}[data-layout=app] .topbar-tools .icon-button,[data-layout=app] .topbar-tools .notification-button{background:#fff;border:0;border-radius:50%;box-shadow:0 1px 2px #14283c0d,0 2px 8px #14283c0f}[data-layout=app] .page-content .card{border:0!important;border-radius:16px;box-shadow:0 1px 2px #14283c0a,0 4px 16px #14283c0f}[data-layout=app] .page-heading-bar,[data-layout=app] .station-hero{border-left:0!important}[data-layout=app] .station-panel:before,[data-layout=app] .page-heading-bar:before{display:none!important}[data-layout=app] .reading-grid .reading-tile{border:1px solid #edf1f4;border-radius:14px}[data-layout=app] .segmented-control{background:#f2f5f7;border:0}[data-layout=app] .theme-dark{--page: #0f1915}[data-layout=app] .theme-dark .sidebar{background:#16221c!important;border-right-color:#23332b}[data-layout=app] .theme-dark .sidebar .nav-button:hover{background:#1d2c24}[data-layout=app] .theme-dark .sidebar .nav-button.active{background:#1b3a2b;color:#9fe0bb}[data-layout=app] .theme-dark .sidebar .catalog-rail-button,[data-layout=app] .theme-dark .sidebar .site-tree-summary{background:#1b2a23!important;border-color:#26362e!important}[data-layout=app] .theme-dark .topbar .crumb-chip,[data-layout=app] .theme-dark .topbar .last-sync,[data-layout=app] .theme-dark .topbar-tools .notification-button{background:#17241e}[data-layout=app] .theme-dark .reading-grid .reading-tile{border-color:#23332b}.layout-preview.is-app .palette-preview-side{border-right:1px solid #e3e8ec}.layout-preview.is-app .palette-preview-side b{background:#e6ebef}@media(min-width:651px){.app.sidebar-collapsed .sidebar{flex:0 0 72px!important;width:72px!important;align-items:center}.app.sidebar-collapsed .sidebar .tree-catalog,.app.sidebar-collapsed .sidebar [class*=tree-catalog]{display:none!important}.app.sidebar-collapsed .sidebar .side-nav{width:52px}.app.sidebar-collapsed .sidebar .catalog-rail-button{width:44px;height:44px}}.station-hero .station-hero-meta>.config-warning{display:inline-grid!important;flex:none!important;min-width:0!important;width:22px;overflow:visible!important}[data-layout=app] .sidebar [class*=tree-catalog],[data-layout=app] .sidebar [class*=tree-catalog] *{color:var(--text)}[data-layout=app] .sidebar [class*=tree-catalog] small,[data-layout=app] .sidebar [class*=tree-catalog] span:not(:first-child){color:var(--muted)}[data-layout=app] .sidebar [class*=tree-catalog]{background:#f4f7f9!important;border:1px solid #e3e8ec!important;box-shadow:none!important}[data-layout=app] .sidebar .tree-row{color:var(--text-2)}[data-layout=app] .sidebar .tree-row:hover{background:#f2f5f7}@media(min-width:651px){.app.sidebar-collapsed .sidebar .catalog-rail-button{position:relative;margin:10px auto 6px;overflow:visible}.app.sidebar-collapsed .sidebar .catalog-rail-button>i{top:-6px;right:-6px}}[data-layout=app] .sidebar .site-tree{background:transparent!important;border:0!important;box-shadow:none!important}[data-layout~=rail]{--page: #eef3f9;--rail: var(--green-dark, #176b47)}[data-layout~=rail][data-palette]{--rail: var(--forest, #0f2c45)}[data-layout~=rail] .app,[data-layout~=rail] .main-area{background:var(--page)}@media(min-width:651px){[data-layout~=rail] .sidebar{flex:0 0 76px!important;width:76px!important;min-width:76px!important;align-items:center;padding:16px 10px 12px!important;color:#fff;background:var(--rail)!important;background-image:linear-gradient(180deg,color-mix(in srgb,var(--rail) 88%,#fff) 0%,var(--rail) 40%,color-mix(in srgb,var(--rail) 85%,#000) 100%)!important;border:0!important;border-radius:0 20px 20px 0;box-shadow:4px 0 24px #0f28502e!important}[data-layout~=rail] .sidebar .brand{justify-content:center;padding:0}[data-layout~=rail] .sidebar .brand>div:not(.brand-mark),[data-layout~=rail] .sidebar .nav-label,[data-layout~=rail] .sidebar .side-nav .nav-button>span,[data-layout~=rail] .sidebar .sidebar-copyright,[data-layout~=rail] .sidebar .sidebar-collapse,[data-layout~=rail] .sidebar .site-tree,[data-layout~=rail] .sidebar [class*=tree-catalog]{display:none!important}[data-layout~=rail] .sidebar .brand-mark{width:44px;height:44px;border-radius:14px;background:#ffffff29!important;box-shadow:none}[data-layout~=rail] .sidebar .catalog-rail-button{display:inline-grid!important;place-items:center;position:relative;width:48px;height:48px;margin:14px auto 10px;color:#fff;background:#ffffff1f!important;border:0!important;border-radius:14px;box-shadow:none!important;overflow:visible}[data-layout~=rail] .sidebar .catalog-rail-button>i{top:-5px;right:-5px}[data-layout~=rail] .sidebar .side-nav{width:56px;padding:0;background:transparent!important;border:0!important;box-shadow:none!important}[data-layout~=rail] .sidebar .nav-indicator{display:none}[data-layout~=rail] .sidebar .side-nav .nav-button{position:relative;justify-content:center;width:56px;height:52px;margin-bottom:6px;padding:0;color:#ffffffc7;background:transparent;border-radius:14px}[data-layout~=rail] .sidebar .side-nav .nav-button svg{width:22px;height:22px;color:inherit}[data-layout~=rail] .sidebar .side-nav .nav-button:hover{color:#fff;background:#ffffff1f}[data-layout~=rail] .sidebar .side-nav .nav-button.active{color:var(--rail);background:#fff;box-shadow:0 6px 16px #0000002e}[data-layout~=rail] .sidebar .side-nav .nav-button>b{position:absolute;top:4px;right:4px;min-width:16px;padding:1px 4px;font-size:10px}}[data-layout~=rail] .topbar{background:color-mix(in srgb,var(--page) 92%,transparent)!important;border-bottom:0!important;box-shadow:none!important}[data-layout~=rail] .topbar .crumb-chip,[data-layout~=rail] .topbar .last-sync,[data-layout~=rail] .topbar-tools .notification-button{background:#fff;border:0;border-radius:12px;box-shadow:0 2px 10px #0f285012}[data-layout~=rail] .topbar-tools{border-left:0}[data-layout~=rail] .page-content .card{border:0!important;border-radius:14px;box-shadow:0 2px 4px #0f28500a,0 8px 24px #0f285012}[data-layout~=rail] .page-heading-bar,[data-layout~=rail] .station-hero{border-left:0!important}[data-layout~=rail] .station-panel:before{background:linear-gradient(90deg,var(--rail),color-mix(in srgb,var(--rail) 40%,#fff))!important}[data-layout~=rail] .page-content .card-heading h2,[data-layout~=rail] .page-content .list-toolbar h2{color:color-mix(in srgb,var(--rail) 80%,#000)}[data-layout~=rail] .page-content .card-heading h2 svg{color:var(--rail)}[data-layout~=rail] .station-panel .kpi-tile .kpi-icon{border-radius:12px}[data-layout~=rail] .reading-grid .reading-tile{border:1px solid #e6edf5;border-radius:12px;box-shadow:0 2px 8px #0f28500d}[data-layout~=rail] .segmented-control{background:#eef3f9;border:0}[data-layout~=rail] .theme-dark{--page: #0e1620}[data-layout~=rail] .theme-dark .topbar .crumb-chip,[data-layout~=rail] .theme-dark .topbar .last-sync,[data-layout~=rail] .theme-dark .topbar-tools .notification-button{background:#16212c}[data-layout~=rail] .theme-dark .reading-grid .reading-tile{border-color:#22303e}[data-layout~=rail] .theme-dark .page-content .card-heading h2{color:var(--text)}.layout-preview.is-rail .palette-preview-side{width:22%;border-radius:0 8px 8px 0}[data-layout~=rail],[data-layout~=rail][data-palette]{--rail: var(--green, #1f8a5c)}[data-layout~=rail]{--chart-area: var(--rail)}[data-layout~=rail] .button-primary{color:#fff;background:var(--rail)!important;border-color:var(--rail)!important;border-radius:10px;box-shadow:0 6px 14px color-mix(in srgb,var(--rail) 30%,transparent)}[data-layout~=rail] .button-secondary{border-radius:10px;border-color:#dbe4ef;background:#fff}[data-layout~=rail] .segmented-control{padding:3px;border-radius:10px}[data-layout~=rail] .segmented-control button.selected{color:#fff!important;background:var(--rail)!important;border-color:var(--rail)!important;border-radius:8px;box-shadow:none}[data-layout~=rail] .tab-bar-item.is-selected{color:#fff!important;background:var(--rail)!important;border-radius:10px}[data-layout~=rail] .trend-metric-chips button.selected{color:#fff;background:var(--rail);border-color:var(--rail)}[data-layout~=rail] .history-chart-line,[data-layout~=rail] .metric-sparkline-line{stroke:var(--rail)}[data-layout~=rail] .history-chart-line.is-over{stroke:var(--red)}[data-layout~=rail] .reading-grid .reading-tile.tone-good:before{background:linear-gradient(90deg,var(--rail),color-mix(in srgb,var(--rail) 45%,#fff))}[data-layout~=rail] .count-pill{color:var(--rail);background:color-mix(in srgb,var(--rail) 10%,#fff)}[data-layout=app] .button-primary,[data-layout=app] .button-secondary,[data-layout=app] .plain-link.button{border-radius:999px!important}[data-layout=app] .button-primary{background:var(--green)!important;border-color:var(--green)!important;box-shadow:none}[data-layout=app] .segmented-control{padding:3px;border-radius:999px}[data-layout=app] .segmented-control button{border-radius:999px!important}[data-layout=app] .segmented-control button.selected{color:var(--green-dark)!important;background:#fff!important;box-shadow:0 1px 4px #14283c1f}[data-layout=app] .tab-bar-item{border-radius:999px!important}[data-layout=app] .tab-bar-item.is-selected{color:var(--green-dark)!important;background:var(--green-soft)!important}[data-layout=app] .search-field,[data-layout=app] .station-status-filter select{border-radius:999px!important}.top-nav{display:none}@media(min-width:651px){[data-layout=topnav] .sidebar:not(.catalog-flyout-open){display:none!important}[data-layout=topnav] .sidebar.catalog-flyout-open{position:fixed!important;z-index:80;top:0;left:0;display:flex!important;width:300px!important;height:100vh;box-shadow:10px 0 40px #00000040}[data-layout=topnav] .sidebar.catalog-flyout-open .side-nav,[data-layout=topnav] .sidebar.catalog-flyout-open .nav-label{display:none}[data-layout=topnav] .topbar{height:60px;padding:0 22px;background:#fff!important;border-bottom:1px solid var(--line)!important;box-shadow:0 2px 10px #10281e0a!important}[data-layout=topnav] .topbar .breadcrumbs{display:none}[data-layout=topnav] .top-nav{display:flex;align-items:stretch;gap:2px;height:60px;min-width:0}[data-layout=topnav] .top-nav-brand{display:inline-flex;align-items:center;gap:8px;margin-right:16px}[data-layout=topnav] .top-nav-brand .brand{padding:0}[data-layout=topnav] .top-nav-brand .brand-mark{width:32px;height:32px;border-radius:10px}[data-layout=topnav] .top-nav-brand strong{font-size:15px;font-weight:800;letter-spacing:.1em}[data-layout=topnav] .top-nav-item,[data-layout=topnav] .top-nav-catalog{position:relative;display:inline-flex;align-items:center;gap:7px;padding:0 14px;color:var(--text-2);background:none;border:0;font:inherit;font-size:14px;font-weight:600;white-space:nowrap;cursor:pointer}[data-layout=topnav] .top-nav-item:hover,[data-layout=topnav] .top-nav-catalog:hover{color:var(--text);background:var(--surface-soft)}[data-layout=topnav] .top-nav-item.is-active{color:var(--green-dark)}[data-layout=topnav] .top-nav-item.is-active:after{content:"";position:absolute;right:12px;bottom:0;left:12px;height:3px;background:var(--green);border-radius:3px 3px 0 0}[data-layout=topnav] .top-nav-item>b,[data-layout=topnav] .top-nav-catalog>i{min-width:18px;padding:1px 5px;color:#fff;background:var(--red);border-radius:999px;font-size:10px;font-style:normal;text-align:center}[data-layout=topnav] .top-nav-catalog{margin-right:6px;padding:0 12px;border-right:1px solid var(--line)}[data-layout=topnav] .page-content{max-width:none}[data-layout=topnav] .page-content .card{border-radius:12px}[data-layout=topnav] .tab-bar-item.is-selected{color:var(--green-dark)!important;background:none!important;box-shadow:inset 0 -2px 0 var(--green);border-radius:0}[data-layout=topnav] .segmented-control button.selected{color:var(--green-dark)!important;background:#fff!important;box-shadow:inset 0 -2px 0 var(--green)}[data-layout=topnav] .theme-dark .topbar{background:#17241e!important}}[data-layout=control] .theme-dark{--page: #0a111c;--surface: #111a28;--surface-soft: #162132;--text: #e8f0fa;--text-2: #b7c5d8;--muted: #8191a8;--line: #1f2c3f;--green: #38d9a9;--green-dark: #2bbd91;--green-soft: #12302a;--chart-area: #38d9a9;--ctl: #38d9a9}[data-layout=control] .app.theme-dark,[data-layout=control] .theme-dark .main-area{background:radial-gradient(1200px 600px at 70% -10%,#13233a,#0a111c 60%) fixed}@media(min-width:651px){[data-layout=control] .theme-dark .sidebar{flex:0 0 76px!important;width:76px!important;min-width:76px!important;align-items:center;padding:16px 10px 12px!important;background:#0d1624!important;background-image:none!important;border-right:1px solid #1a2638!important;box-shadow:none!important}[data-layout=control] .theme-dark .sidebar .brand>div:not(.brand-mark),[data-layout=control] .theme-dark .sidebar .nav-label,[data-layout=control] .theme-dark .sidebar .side-nav .nav-button>span,[data-layout=control] .theme-dark .sidebar .sidebar-copyright,[data-layout=control] .theme-dark .sidebar .sidebar-collapse,[data-layout=control] .theme-dark .sidebar .site-tree,[data-layout=control] .theme-dark .sidebar [class*=tree-catalog]{display:none!important}[data-layout=control] .theme-dark .sidebar .catalog-rail-button{display:inline-grid!important;place-items:center;position:relative;width:48px;height:48px;margin:14px auto 10px;color:var(--text-2);background:#141f30!important;border:1px solid #1f2c3f!important;border-radius:12px;overflow:visible}[data-layout=control] .theme-dark .sidebar .side-nav{width:56px;padding:0;background:transparent!important;border:0!important;box-shadow:none!important}[data-layout=control] .theme-dark .sidebar .nav-indicator{display:none}[data-layout=control] .theme-dark .sidebar .side-nav .nav-button{position:relative;justify-content:center;width:56px;height:50px;margin-bottom:6px;padding:0;color:#7f8ea3;background:transparent;border-radius:12px}[data-layout=control] .theme-dark .sidebar .side-nav .nav-button svg{width:22px;height:22px}[data-layout=control] .theme-dark .sidebar .side-nav .nav-button.active{color:var(--ctl);background:#38d9a91a;box-shadow:inset 3px 0 0 var(--ctl),0 0 18px #38d9a91f}[data-layout=control] .theme-dark .sidebar .side-nav .nav-button>b{position:absolute;top:4px;right:4px;min-width:16px;padding:1px 4px;font-size:10px}}[data-layout=control] .theme-dark .topbar{background:#0a111cb3!important;border-bottom:1px solid #1a2638!important;box-shadow:none!important}[data-layout=control] .theme-dark .page-content .card{background:linear-gradient(180deg,#121c2b,#0f1826);border:1px solid #1d2a3d!important;border-radius:12px;box-shadow:0 10px 30px #00000059}[data-layout=control] .theme-dark .page-heading-bar,[data-layout=control] .theme-dark .station-hero{border-left:0!important}[data-layout=control] .theme-dark .station-panel:before{background:linear-gradient(90deg,var(--ctl),#3aa0ff)!important;box-shadow:0 0 12px #38d9a980}[data-layout=control] .theme-dark .reading-grid .reading-tile{background:#0f1928!important;border:1px solid #1f2c3f!important}[data-layout=control] .theme-dark .reading-grid .reading-tile .reading-value strong{color:#f2f7ff;text-shadow:0 0 14px rgba(56,217,169,.25)}[data-layout=control] .theme-dark .reading-grid .reading-tile.tone-good:before{background:var(--ctl);box-shadow:0 0 10px var(--ctl)}[data-layout=control] .theme-dark .reading-grid .reading-tile.tone-bad{background:linear-gradient(180deg,#2a1518,#1a1014)!important;border-color:#5a2a2a!important}[data-layout=control] .theme-dark .reading-grid .reading-tile.tone-bad .reading-value strong{color:#ff7b6b;text-shadow:0 0 14px rgba(255,123,107,.45)}[data-layout=control] .theme-dark .history-chart-line,[data-layout=control] .theme-dark .metric-sparkline-line{stroke:var(--ctl);filter:drop-shadow(0 0 4px rgba(56,217,169,.6))}[data-layout=control] .theme-dark .history-chart-line.is-over{stroke:#ff6b5b;filter:drop-shadow(0 0 4px rgba(255,107,91,.6))}[data-layout=control] .theme-dark .history-gridline{stroke:#1d2a3d}[data-layout=control] .theme-dark .button-primary{color:#06261d;background:var(--ctl)!important;border-color:var(--ctl)!important;box-shadow:0 0 16px #38d9a959}[data-layout=control] .theme-dark .button-secondary{color:var(--text-2);background:transparent;border-color:#2a3a52}[data-layout=control] .theme-dark .button-secondary:hover{border-color:var(--ctl);color:var(--ctl);box-shadow:0 0 10px #38d9a933}[data-layout=control] .theme-dark .segmented-control{background:#0d1624;border:1px solid #1f2c3f}[data-layout=control] .theme-dark .segmented-control button.selected,[data-layout=control] .theme-dark .tab-bar-item.is-selected,[data-layout=control] .theme-dark .trend-metric-chips button.selected{color:var(--ctl)!important;background:#38d9a91a!important;border-color:#38d9a980!important;box-shadow:0 0 10px #38d9a926}[data-layout=control] .theme-dark .count-pill{color:var(--ctl);background:#38d9a91a}[data-layout=control] .theme-dark .kpi-tile .kpi-icon{box-shadow:0 0 14px #38d9a91f}.layout-preview.is-control .palette-preview-side{width:22%}.layout-preview.is-topnav .palette-preview-side{display:none}.layout-preview.is-topnav .palette-preview-main{border-top:6px solid #1f8a5c}[data-layout=control] .theme-dark input,[data-layout=control] .theme-dark select,[data-layout=control] .theme-dark textarea,[data-layout=control] .theme-dark .search-field{color:var(--text);background:#0d1624!important;border-color:#22324a!important}[data-layout=control] .theme-dark .dashboard-empty,[data-layout=control] .theme-dark .skeleton{background:#0d1624!important;border-color:#1f2c3f!important}[data-layout=control] .theme-dark .page-heading-bar:before,[data-layout=control] .theme-dark .report-heading-icon,[data-layout=control] .theme-dark .station-hero-icon{background:linear-gradient(145deg,#38d9a9,#2b8fd6)!important}[data-layout=control] .theme-dark .kpi-tile,[data-layout=control] .theme-dark .report-summary-strip>*{background:transparent}[data-layout~=studio]{--page: #f4f6fa;--surface: #ffffff;--surface-soft: #f7f9fc;--text: #101828;--text-2: #344054;--muted: #667085;--line: #e6eaf0;--ink: #0f172a;--ink-2: #1e293b;--accent: var(--green, #1f8a5c);--accent-soft: color-mix(in srgb, var(--accent) 10%, #fff);--rail: var(--ink);--sh-1: 0 1px 2px rgba(16, 24, 40, .05);--sh-2: 0 1px 3px rgba(16, 24, 40, .06), 0 8px 24px rgba(16, 24, 40, .06);--r-sm: 10px;--r-md: 14px;--r-lg: 18px}[data-layout~=studio] .app,[data-layout~=studio] .main-area{background:var(--page)}@media(min-width:651px){[data-layout~=studio] .sidebar{flex:0 0 88px!important;width:88px!important;min-width:88px!important;background:var(--ink)!important;background-image:radial-gradient(120px 260px at 50% 0%,color-mix(in srgb,var(--accent) 35%,transparent),transparent 70%)!important;border-radius:0!important;box-shadow:none!important}[data-layout~=studio] .sidebar .brand-mark{width:44px;height:44px;border-radius:14px;background:linear-gradient(145deg,color-mix(in srgb,var(--accent) 80%,#fff),var(--accent))!important;box-shadow:0 8px 20px color-mix(in srgb,var(--accent) 40%,transparent)}[data-layout~=studio] .sidebar .catalog-rail-button{width:56px;height:44px;color:#cbd5e1;background:#ffffff0f!important;border:1px solid rgba(255,255,255,.08)!important;border-radius:12px}[data-layout~=studio] .sidebar .side-nav{width:72px}[data-layout~=studio] .sidebar .side-nav .nav-button{display:grid!important;place-items:center;align-content:center;gap:3px;width:72px;height:62px;color:#94a3b8;border-radius:14px}[data-layout~=studio] .sidebar .side-nav .nav-button>span{display:block!important;display:-webkit-box!important;-webkit-box-orient:vertical;-webkit-line-clamp:2;max-width:70px;overflow:hidden;font-size:10.5px;font-weight:600;line-height:1.15;text-align:center;white-space:normal}[data-layout~=studio] .sidebar .side-nav .nav-button{height:auto!important;min-height:62px;padding:8px 2px!important}[data-layout~=studio] .sidebar .side-nav .nav-button:hover{color:#e2e8f0;background:#ffffff0f}[data-layout~=studio] .sidebar .side-nav .nav-button.active{color:#fff;background:linear-gradient(160deg,color-mix(in srgb,var(--accent) 85%,#fff),var(--accent));box-shadow:0 8px 22px color-mix(in srgb,var(--accent) 45%,transparent)}[data-layout~=studio] .sidebar .side-nav .nav-button>b{top:4px;right:8px}}[data-layout~=studio] .topbar{height:64px;background:color-mix(in srgb,var(--page) 88%,transparent)!important;border-bottom:1px solid transparent!important;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}[data-layout~=studio] .topbar .crumb-chip,[data-layout~=studio] .topbar .last-sync,[data-layout~=studio] .topbar-tools .notification-button{background:#fff;border:1px solid var(--line)!important;border-radius:12px;box-shadow:var(--sh-1)}[data-layout~=studio] .topbar .crumb-page{font-size:17px;font-weight:800;letter-spacing:-.01em}[data-layout~=studio] .page-content .page-heading-bar:not(.station-hero),[data-layout~=studio] .page-content .admin-control{background:transparent!important;border:0!important;box-shadow:none!important;padding-left:2px!important;padding-right:2px!important}[data-layout~=studio] .page-content .page-heading-bar:not(.station-hero):before,[data-layout~=studio] .page-content .admin-control:before,[data-layout~=studio] .page-content .admin-control .admin-heading:before{display:none!important}[data-layout~=studio] .page-content section.card.admin-control{overflow:visible;padding:0!important;background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important}[data-layout~=studio] .page-content .admin-control .admin-heading.page-heading{padding:4px 2px 14px!important;background:transparent!important;border:0!important;box-shadow:none!important}[data-layout~=studio] .page-content .admin-control .admin-heading h1{font-size:24px!important}[data-layout~=studio] .page-content .admin-control .tab-bar{width:max-content;max-width:100%;margin:0!important}[data-layout~=studio] .page-content .admin-control .demo-mode-badge{background:#fff;border:1px solid var(--line);border-radius:999px;box-shadow:var(--sh-1)}[data-layout~=studio] .page-heading-bar h1,[data-layout~=studio] .admin-control h1{font-size:24px;font-weight:800;letter-spacing:-.02em;color:var(--text)}[data-layout~=studio] .report-heading-icon,[data-layout~=studio] .station-hero-icon{color:#fff!important;background:linear-gradient(145deg,color-mix(in srgb,var(--accent) 80%,#fff),var(--accent))!important;border-radius:12px;box-shadow:0 6px 16px color-mix(in srgb,var(--accent) 35%,transparent)}[data-layout~=studio] .tab-bar,[data-layout~=studio] .segmented-control,[data-layout~=studio] .report-tabs{gap:2px;padding:4px!important;background:#eaeef4!important;border:0!important;border-radius:12px!important;box-shadow:inset 0 1px 2px #1018280f}[data-layout~=studio] .tab-bar-item,[data-layout~=studio] .segmented-control button{color:var(--muted)!important;background:transparent!important;border:0!important;border-radius:9px!important;font-weight:600;box-shadow:none!important}[data-layout~=studio] .tab-bar-item:hover,[data-layout~=studio] .segmented-control button:hover{color:var(--text)!important}[data-layout~=studio] .tab-bar-item.is-selected,[data-layout~=studio] .segmented-control button.selected{color:var(--text)!important;background:#fff!important;box-shadow:0 1px 3px #1018281f,0 1px 2px #1018280f!important}[data-layout~=studio] .tab-bar-item.is-selected svg,[data-layout~=studio] .segmented-control button.selected svg{color:var(--accent)}[data-layout~=studio] .page-content .card{background:#fff;border:1px solid var(--line)!important;border-radius:var(--r-lg);box-shadow:var(--sh-2)}[data-layout~=studio] .page-content .card-heading h2,[data-layout~=studio] .page-content .list-toolbar h2,[data-layout~=studio] .admin-card h2{color:var(--text)!important;font-size:16px;font-weight:800;letter-spacing:-.01em}[data-layout~=studio] .section-kicker{color:var(--accent);letter-spacing:.08em}[data-layout~=studio] .station-panel:before{height:0!important}[data-layout~=studio] .advanced-nav button,[data-layout~=studio] .advanced-nav [role=tab]{background:#fff!important;border:1px solid var(--line)!important;border-radius:var(--r-md)!important;box-shadow:var(--sh-1)!important}[data-layout~=studio] .advanced-nav [aria-selected=true]{border-color:var(--accent)!important;box-shadow:0 0 0 3px var(--accent-soft),var(--sh-1)!important}[data-layout~=studio] .button-primary,[data-layout~=studio] .login-submit{min-height:38px;color:#fff;background:linear-gradient(180deg,color-mix(in srgb,var(--accent) 88%,#fff),var(--accent))!important;border:1px solid color-mix(in srgb,var(--accent) 85%,#000)!important;border-radius:var(--r-sm)!important;box-shadow:0 1px 2px #1018281a,inset 0 1px #fff3!important;font-weight:700}[data-layout~=studio] .button-primary:hover{filter:brightness(1.05)}[data-layout~=studio] .button-secondary{min-height:36px;color:var(--text-2);background:#fff!important;border:1px solid #d0d5dd!important;border-radius:var(--r-sm)!important;box-shadow:var(--sh-1)!important;font-weight:600}[data-layout~=studio] .button-secondary:hover{background:var(--surface-soft)!important}[data-layout~=studio] .button-group{gap:0;border-radius:var(--r-sm);box-shadow:var(--sh-1)}[data-layout~=studio] .plain-link{color:var(--accent);font-weight:700}[data-layout~=studio] .config-field input,[data-layout~=studio] .config-field select,[data-layout~=studio] .config-field textarea,[data-layout~=studio] .station-status-filter select,[data-layout~=studio] .table-select,[data-layout~=studio] .search-field,[data-layout~=studio] .report-filters input,[data-layout~=studio] .report-filters select{min-height:40px;color:var(--text);background:#fff!important;border:1px solid #d0d5dd!important;border-radius:var(--r-sm)!important;box-shadow:var(--sh-1)!important}[data-layout~=studio] .config-field input:focus,[data-layout~=studio] .config-field select:focus,[data-layout~=studio] .search-field:focus-within,[data-layout~=studio] .station-status-filter select:focus,[data-layout~=studio] .report-filters input:focus,[data-layout~=studio] .report-filters select:focus{border-color:var(--accent)!important;box-shadow:0 0 0 4px var(--accent-soft)!important;outline:none}[data-layout~=studio] .config-field>span:first-child,[data-layout~=studio] .report-filters label>span{color:var(--text-2);font-size:13px;font-weight:600}[data-layout~=studio] .report-table,[data-layout~=studio] .station-table{border-collapse:separate;border-spacing:0}[data-layout~=studio] .report-table th,[data-layout~=studio] .station-table th{padding-top:11px;padding-bottom:11px;color:var(--muted);background:var(--surface-soft);border-bottom:1px solid var(--line);font-size:11px;font-weight:700;letter-spacing:.06em}[data-layout~=studio] .report-table td,[data-layout~=studio] .station-table td{border-bottom:1px solid #eef1f5}[data-layout~=studio] .report-table tbody tr:hover td,[data-layout~=studio] .station-table tbody tr:hover td{background:#f9fafb}[data-layout~=studio] .status-badge,[data-layout~=studio] .alert-level,[data-layout~=studio] .alert-handling,[data-layout~=studio] .config-status,[data-layout~=studio] .count-pill{border-radius:999px!important}[data-layout~=studio] .count-pill{color:var(--accent);background:var(--accent-soft);font-weight:700}[data-layout~=studio] .station-panel{overflow:visible}[data-layout~=studio] .station-panel .overview-kpis{gap:10px!important;padding:12px;background:var(--surface-soft);border-top:1px solid var(--line);border-radius:0 0 var(--r-lg) var(--r-lg)}[data-layout~=studio] .station-panel .overview-kpis .kpi-tile{background:#fff!important;border:1px solid var(--line)!important;border-radius:var(--r-md);box-shadow:var(--sh-1)}[data-layout~=studio] .station-panel .kpi-tile .kpi-icon{border-radius:12px}[data-layout~=studio] .reading-grid .reading-tile{background:#fff!important;border:1px solid var(--line)!important;border-radius:var(--r-md);box-shadow:var(--sh-1)}[data-layout~=studio] .reading-grid .reading-tile.tone-good:before{background:var(--accent)}[data-layout~=studio] .reading-grid .reading-tile.tone-bad{background:linear-gradient(180deg,#fff,#fff4f2)!important;border-color:#fecdca!important}[data-layout~=studio] .trend-metric-chips button{border-radius:999px}[data-layout~=studio] .trend-metric-chips button.selected{color:#fff;background:var(--ink-2);border-color:var(--ink-2)}[data-layout~=studio] .trend-stats>div{background:var(--surface-soft);border:1px solid var(--line);border-radius:var(--r-sm)}[data-layout~=studio] .station-switch{border-radius:var(--r-md)}[data-layout~=studio] .station-switch.active{background:var(--accent-soft);border-color:color-mix(in srgb,var(--accent) 40%,#fff);box-shadow:inset 3px 0 0 var(--accent)}[data-layout~=studio]{--chart-area: var(--accent)}[data-layout~=studio] .history-chart-line,[data-layout~=studio] .metric-sparkline-line{stroke:var(--accent);stroke-width:2}[data-layout~=studio] .history-chart-line.is-over{stroke:var(--red)}[data-layout~=studio] .history-gridline{stroke:#eef1f5}[data-layout~=studio] .alert-summary{background:#fff!important;border:1px solid var(--line)!important;border-radius:var(--r-md)!important;box-shadow:var(--sh-1)!important}[data-layout~=studio] .alerts-full-list .alert-row{border-radius:var(--r-md)}[data-layout~=studio] .alerts-full-list .alert-row:hover{background:var(--surface-soft)}[data-layout~=studio] .alert-indicator{border-radius:12px!important}[data-layout~=studio] .modal,[data-layout~=studio] [role=dialog].card,[data-layout~=studio] .modal-card{border:1px solid var(--line);border-radius:var(--r-lg)!important;box-shadow:0 24px 64px #10182838!important}[data-layout~=studio] .theme-dark{--page: #0b1220;--surface: #111827;--surface-soft: #151e2e;--text: #f2f4f7;--text-2: #cdd5df;--muted: #8b97a8;--line: #1f2a3a}[data-layout~=studio] .theme-dark .page-content .card,[data-layout~=studio] .theme-dark .reading-grid .reading-tile,[data-layout~=studio] .theme-dark .station-panel .overview-kpis .kpi-tile,[data-layout~=studio] .theme-dark .alert-summary,[data-layout~=studio] .theme-dark .advanced-nav button{background:#111827!important}[data-layout~=studio] .theme-dark .tab-bar,[data-layout~=studio] .theme-dark .segmented-control{background:#1a2334!important}[data-layout~=studio] .theme-dark .tab-bar-item.is-selected,[data-layout~=studio] .theme-dark .segmented-control button.selected{color:#fff!important;background:#273349!important}[data-layout~=studio] .theme-dark .config-field input,[data-layout~=studio] .theme-dark .config-field select,[data-layout~=studio] .theme-dark .search-field,[data-layout~=studio] .theme-dark .station-status-filter select,[data-layout~=studio] .theme-dark .button-secondary{color:var(--text);background:#0f1726!important;border-color:#2a3649!important}[data-layout~=studio] .theme-dark .topbar .crumb-chip,[data-layout~=studio] .theme-dark .topbar .last-sync,[data-layout~=studio] .theme-dark .topbar-tools .notification-button{background:#111827;border-color:#1f2a3a!important}.layout-preview.is-studio .palette-preview-side{width:24%}.bento-grid{display:grid;grid-template-columns:repeat(var(--bento-cols, 12),minmax(0,1fr));gap:12px;align-items:stretch;margin-top:12px}.bento-card{position:relative;display:flex;flex-direction:column;min-width:0;padding:12px 14px 14px;background:var(--surface, #fff);border:1px solid var(--line, #e3e8ee);border-radius:16px;box-shadow:0 1px 2px #1018280a}.bento-head{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:28px;margin-bottom:10px}.bento-head h2{display:flex;align-items:center;gap:8px;min-width:0;margin:0;color:var(--text, #101828);font-size:14px;font-weight:800;letter-spacing:-.01em;white-space:nowrap}.bento-head h2>.marquee,.bento-head h2>span:not(.count-pill){min-width:0;overflow:hidden}.bento-head-icon{display:inline-grid;flex:0 0 26px;place-items:center;width:26px;height:26px;color:var(--green, #1f8a5c);background:color-mix(in srgb,var(--green, #1f8a5c) 12%,transparent);border-radius:8px;font-style:normal}.bento-head-extra{display:flex;flex:0 0 auto;align-items:center;gap:8px}.bento-head-note{color:var(--muted, #667085);font-size:11.5px}.bento-body{display:flex;flex:1 1 auto;flex-direction:column;min-height:0}.bento-card.is-scroll .bento-body{flex:1 1 0;height:0;min-height:150px;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin}.bento-empty{display:flex;align-items:center;gap:6px;margin:auto 0;color:var(--muted, #667085);font-size:13px}.bento-hero .station-hero{border-bottom:0!important}.bento-w-readings .reading-grid{margin:0!important}.bento-w-readings .bento-head .reading-time{margin:0}.bento-card.bento-w-trend{padding:0;overflow:hidden}.bento-w-trend .trend-panel{flex:1 1 auto;margin:0!important;background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important}.bento-ring{position:relative;display:grid;flex:1 1 auto;place-items:center;align-content:center;gap:6px;min-height:120px;text-align:center}.bento-ring svg{width:min(118px,100%);height:auto;transform:rotate(-90deg)}.bento-ring circle{fill:none;stroke-width:9}.bento-ring-track{stroke:color-mix(in srgb,var(--muted, #667085) 16%,transparent)}.bento-ring-value{stroke:var(--green, #1f8a5c);stroke-linecap:round;transition:stroke-dasharray .6s ease}.bento-ring.tone-warn .bento-ring-value{stroke:var(--amber, #d98a0b)}.bento-ring.tone-bad .bento-ring-value{stroke:var(--red, #d64545)}.bento-ring-text{position:absolute;top:50%;left:50%;display:grid;transform:translate(-50%,calc(-50% - 12px))}.bento-ring-text strong{color:var(--text, #101828);font-size:24px;font-weight:800;line-height:1;font-variant-numeric:tabular-nums}.bento-ring.tone-bad .bento-ring-text strong{color:var(--red, #d64545)}.bento-ring.tone-warn .bento-ring-text strong{color:var(--amber, #b7740a)}.bento-ring-text span{margin-top:2px;color:var(--muted, #667085);font-size:11px}.bento-ring>small{color:var(--muted, #667085);font-size:12px;white-space:nowrap}.bento-summary{display:grid;flex:1 1 auto;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.bento-stat{display:grid;grid-template-columns:30px minmax(0,1fr);grid-template-rows:auto auto auto;column-gap:10px;align-content:center;min-width:0;padding:9px 10px;background:var(--surface-soft, #f7f9fc);border:1px solid var(--line, #e6eaf0);border-radius:12px}.bento-stat>i{display:grid;grid-row:1 / 4;place-items:center;width:30px;height:30px;color:var(--green, #1f8a5c);background:color-mix(in srgb,var(--green, #1f8a5c) 12%,transparent);border-radius:9px;font-style:normal}.bento-stat.tone-bad>i{color:var(--red, #d64545);background:color-mix(in srgb,var(--red, #d64545) 12%,transparent)}.bento-stat.tone-warn>i{color:var(--amber, #b7740a);background:color-mix(in srgb,var(--amber, #d98a0b) 14%,transparent)}.bento-stat.tone-none>i{color:var(--muted, #667085);background:color-mix(in srgb,var(--muted, #667085) 12%,transparent)}.bento-stat>span{min-width:0;overflow:hidden;color:var(--muted, #667085);font-size:11.5px;font-weight:600;white-space:nowrap}.bento-stat>strong{min-width:0;overflow:hidden;color:var(--text, #101828);font-size:17px;font-weight:800;line-height:1.3;white-space:nowrap;font-variant-numeric:tabular-nums}.bento-stat.tone-bad>strong{color:var(--red, #d64545)}.bento-stat>strong .status-badge{font-size:12px}.bento-stat>small{min-width:0;overflow:hidden;color:var(--muted, #667085);font-size:11px;white-space:nowrap}.bento-band{display:flex;flex:1 1 auto;flex-direction:column;justify-content:center;gap:8px}.bento-band-cells{display:grid;grid-template-columns:repeat(24,minmax(0,1fr));gap:3px;height:44px}.bento-band-cells i{border-radius:5px;background:color-mix(in srgb,var(--muted, #667085) 14%,transparent);transition:transform .15s ease}.bento-band-cells i:hover{transform:scaleY(1.12)}.bento-band-cells i.is-good,.bento-band-legend i.is-good{background:color-mix(in srgb,var(--green, #1f8a5c) 78%,#fff)}.bento-band-cells i.is-bad,.bento-band-legend i.is-bad{background:var(--red, #d64545)}.bento-band-cells i.is-none,.bento-band-legend i.is-none{background:repeating-linear-gradient(135deg,color-mix(in srgb,var(--muted, #667085) 22%,transparent) 0 3px,transparent 3px 6px);border:1px solid color-mix(in srgb,var(--muted, #667085) 22%,transparent)}.bento-band-cells i.is-loading{animation:bento-pulse 1.2s ease-in-out infinite}@keyframes bento-pulse{50%{opacity:.45}}.bento-band-axis{position:relative;height:14px;margin:0 6px;color:var(--muted, #667085);font-size:10.5px;font-variant-numeric:tabular-nums}.bento-band-axis span{position:absolute;transform:translate(-50%);white-space:nowrap}.bento-band-legend{display:flex;flex-wrap:wrap;align-items:center;gap:4px 14px;color:var(--muted, #667085);font-size:11.5px}.bento-band-legend span{display:inline-flex;align-items:center;gap:5px}.bento-band-legend i{display:inline-block;width:10px;height:10px;border-radius:3px}.bento-band-legend b{margin-left:auto;color:var(--text-2, #344054);font-weight:700}.bento-forecast{display:grid;gap:4px;margin:0;padding:0;list-style:none}.bento-forecast li{display:grid;grid-template-columns:minmax(56px,82px) 64px minmax(0,1fr);align-items:center;gap:8px;min-height:34px;padding:4px 10px;border-radius:10px;background:var(--surface-soft, #f7f9fc);font-size:12.5px}.bento-forecast-name{min-width:0;overflow:hidden;color:var(--text, #101828);font-weight:700;white-space:nowrap}.bento-forecast-day{color:var(--muted, #667085);font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap}.bento-forecast-day.is-up{color:var(--amber, #b7740a)}.bento-forecast-day.is-down{color:var(--blue, #2f6fb7)}.bento-forecast-note{min-width:0;overflow:hidden;color:var(--muted, #667085);white-space:nowrap}.bento-forecast li.is-soon{background:color-mix(in srgb,var(--amber, #d98a0b) 12%,var(--surface, #fff));box-shadow:inset 3px 0 0 var(--amber, #d98a0b)}.bento-forecast li.is-soon .bento-forecast-note{color:var(--amber, #a8670a);font-weight:700}.bento-forecast li.is-over{background:color-mix(in srgb,var(--red, #d64545) 9%,var(--surface, #fff));box-shadow:inset 3px 0 0 var(--red, #d64545)}.bento-forecast li.is-over .bento-forecast-note{color:var(--red, #d64545);font-weight:700}.bento-forecast li.is-steady .bento-forecast-note{color:var(--green, #1f8a5c)}.bento-timeline{position:relative;display:grid;gap:2px;margin:0;padding:0 0 0 4px;list-style:none}.bento-timeline:before{content:"";position:absolute;top:12px;bottom:12px;left:16px;width:2px;background:var(--line, #e6eaf0)}.bento-timeline li{position:relative;display:grid;grid-template-columns:26px minmax(0,1fr);align-items:start;gap:10px;padding:5px 4px}.bento-timeline li>i{position:relative;z-index:1;display:grid;place-items:center;width:26px;height:26px;color:var(--muted, #667085);background:var(--surface, #fff);border:2px solid var(--line, #e6eaf0);border-radius:50%;font-style:normal}.bento-timeline li.tone-bad>i{color:var(--red, #d64545);border-color:color-mix(in srgb,var(--red, #d64545) 40%,#fff)}.bento-timeline li.tone-warn>i{color:var(--amber, #b7740a);border-color:color-mix(in srgb,var(--amber, #d98a0b) 40%,#fff)}.bento-timeline li.tone-good>i{color:var(--green, #1f8a5c);border-color:color-mix(in srgb,var(--green, #1f8a5c) 40%,#fff)}.bento-timeline li.tone-info>i{color:var(--blue, #2f6fb7);border-color:color-mix(in srgb,var(--blue, #2f6fb7) 40%,#fff)}.bento-timeline li>div{display:grid;min-width:0}.bento-timeline strong{min-width:0;overflow:hidden;color:var(--text, #101828);font-size:12.5px;font-weight:700;white-space:nowrap}.bento-timeline small{min-width:0;overflow:hidden;color:var(--muted, #667085);font-size:11.5px;white-space:nowrap}.bento-camera{display:grid;flex:1 1 auto;grid-template-rows:minmax(150px,1fr) auto;gap:8px}.bento-camera-poster{display:grid;place-items:center;align-content:center;gap:4px;width:100%;color:#fff;background:radial-gradient(circle at 50% 40%,#334155,#0f172a);border:0;border-radius:12px;cursor:pointer}.bento-camera-poster:hover .bento-camera-play{transform:scale(1.08)}.bento-camera-play{display:grid;place-items:center;width:48px;height:48px;padding-left:4px;color:#0f172a;background:#fff;border-radius:50%;box-shadow:0 8px 24px #00000059;font-size:18px;transition:transform .15s ease}.bento-camera-poster strong{margin-top:6px;font-size:13px}.bento-camera-poster small{color:#cbd5e1;font-size:11.5px}.bento-camera-live{min-height:150px;overflow:hidden;border-radius:12px}.bento-camera-live>*{height:100%;margin:0!important}.bento-camera-list{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.bento-camera-list button:not(.plain-link){display:inline-flex;align-items:center;gap:5px;max-width:150px;padding:4px 10px;color:var(--text-2, #344054);background:var(--surface-soft, #f7f9fc);border:1px solid var(--line, #e6eaf0);border-radius:999px;font-size:12px;cursor:pointer}.bento-camera-list button.is-on{color:#fff;background:var(--green, #1f8a5c);border-color:var(--green, #1f8a5c)}.bento-camera-list .plain-link{margin-left:auto}.bento-matrix{overflow:auto;scrollbar-width:thin}.bento-matrix table{width:100%;border-collapse:separate;border-spacing:3px;font-size:12.5px}.bento-matrix thead th{padding:2px 6px 4px;color:var(--muted, #667085);font-size:11px;font-weight:700;text-align:center;white-space:nowrap}.bento-matrix thead th:first-child{text-align:left}.bento-matrix tbody th{display:flex;align-items:center;gap:6px;max-width:200px;padding:6px 8px;color:var(--text, #101828);font-weight:700;text-align:left;white-space:nowrap;overflow:hidden}.bento-matrix tbody tr{cursor:pointer}.bento-matrix tbody tr:hover td,.bento-matrix tbody tr:hover th{filter:brightness(.97)}.bento-matrix tbody tr.is-current th{color:var(--green, #1f8a5c)}.bento-matrix td{min-width:58px;padding:6px;border-radius:8px;text-align:center;font-weight:700;font-variant-numeric:tabular-nums;background:var(--surface-soft, #f7f9fc);color:var(--text, #101828)}.bento-matrix td.tone-good{background:color-mix(in srgb,var(--green, #1f8a5c) 11%,var(--surface, #fff));color:color-mix(in srgb,var(--green, #1f8a5c) 85%,#000)}.bento-matrix td.tone-warn{background:color-mix(in srgb,var(--amber, #d98a0b) 16%,var(--surface, #fff));color:var(--amber, #a8670a)}.bento-matrix td.tone-bad{background:color-mix(in srgb,var(--red, #d64545) 14%,var(--surface, #fff));color:var(--red, #c23b3b)}.bento-matrix td.tone-invalid{background:color-mix(in srgb,#7c5cc4 12%,var(--surface, #fff));color:#6b4fb0}.bento-matrix td.is-empty{color:var(--muted, #667085);font-weight:400}.bento-dot{flex:0 0 8px;width:8px;height:8px;background:var(--red, #d64545);border-radius:50%}.bento-dot.is-on{background:var(--green, #1f8a5c)}.bento-w-alerts .overview-alerts,.bento-w-switch .station-switch-list{margin:0}.bento-w-alerts .overview-no-alerts{margin:auto 0}.bento-edit-button.is-on{color:#fff!important;background:var(--green, #1f8a5c)!important;border-color:var(--green, #1f8a5c)!important}.bento-editbar{position:sticky;top:72px;z-index:6;display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;margin-top:12px;padding:10px 14px;color:var(--text-2, #344054);background:color-mix(in srgb,var(--green, #1f8a5c) 8%,var(--surface, #fff));border:1px dashed color-mix(in srgb,var(--green, #1f8a5c) 45%,transparent);border-radius:14px;font-size:12.5px;box-shadow:0 8px 24px #10182814}.bento-editbar>span:first-child{display:inline-flex;align-items:center;gap:6px}.bento-hidden-list{display:inline-flex;flex-wrap:wrap;align-items:center;gap:6px}.bento-chip{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;color:var(--green, #1f8a5c);background:var(--surface, #fff);border:1px solid color-mix(in srgb,var(--green, #1f8a5c) 35%,transparent);border-radius:999px;font-size:12px;font-weight:700;cursor:pointer}.bento-editbar-actions{display:inline-flex;gap:8px;margin-left:auto}.bento-grid.is-editing .bento-card{outline:2px dashed color-mix(in srgb,var(--green, #1f8a5c) 35%,transparent);outline-offset:2px;cursor:grab}.bento-grid.is-editing .bento-card.is-dragged{opacity:.45}.bento-grid.is-editing .bento-card>.bento-body{pointer-events:none}.bento-tools{position:absolute;top:8px;right:8px;z-index:3;display:flex;align-items:center;gap:2px;padding:3px;background:var(--ink, #0f172a);border-radius:10px;box-shadow:0 6px 18px #00000040}.bento-tools button{display:grid;place-items:center;width:26px;height:26px;color:#e2e8f0;background:transparent;border:0;border-radius:7px;font-size:14px;font-weight:700;cursor:pointer}.bento-tools button:hover:not(:disabled){color:#fff;background:#ffffff24}.bento-tools button:disabled{opacity:.35;cursor:default}.bento-grip{padding:0 6px;color:#94a3b8;font-size:13px;letter-spacing:-2px;cursor:grab}.theme-dark .bento-card{background:var(--surface, #172033);border-color:var(--line, #263247)}.theme-dark .bento-stat,.theme-dark .bento-forecast li,.theme-dark .bento-matrix td{background:#ffffff0a}@media(max-width:650px){.bento-grid{gap:10px;margin-top:10px}.bento-card{padding:10px 12px 12px;border-radius:14px}.bento-card.is-scroll .bento-body{flex:0 0 auto;height:auto;min-height:0;max-height:320px}.bento-ring{grid-template-columns:auto auto;justify-content:center;gap:16px;min-height:0}.bento-ring svg{width:92px}.bento-ring-text{left:calc(50% - 62px);transform:translate(-50%,-50%)}.bento-ring>small{white-space:normal;text-align:left}.bento-band-cells{height:34px;gap:2px}.bento-band-cells i{border-radius:3px}}.bento-resize{position:absolute;right:4px;bottom:4px;z-index:4;width:22px;height:22px;border-radius:6px;cursor:nwse-resize;touch-action:none;background:linear-gradient(135deg,transparent 0 46%,var(--green, #1f8a5c) 46% 54%,transparent 54% 64%,var(--green, #1f8a5c) 64% 72%,transparent 72%);opacity:.75}.bento-resize:hover{opacity:1;background-color:color-mix(in srgb,var(--green, #1f8a5c) 12%,transparent)}.bento-size-label{position:absolute;right:26px;bottom:0;padding:3px 8px;color:#fff;background:var(--ink, #0f172a);border-radius:7px;font-size:11.5px;font-weight:700;white-space:nowrap;pointer-events:none}.bento-card.is-resizing{outline:2px solid var(--green, #1f8a5c)!important;outline-offset:2px;box-shadow:0 12px 32px #10182829;transition:none}.bento-card.is-sized:not(.is-scroll) .bento-body{justify-content:flex-start}.bento-card.is-sized.is-scroll .bento-body{min-height:0}.bento-grid.is-editing .bento-card{cursor:grab;touch-action:none;user-select:none;-webkit-user-select:none}.bento-card.is-moving{z-index:30;cursor:grabbing;opacity:.9;pointer-events:none;box-shadow:0 24px 60px #10182847!important;transition:none}.bento-grid.is-moving-any .bento-card:not(.is-moving){transition:box-shadow .12s}.bento-card.drop-before{box-shadow:-8px 0 0 -1px var(--green, #1f8a5c),-14px 0 0 -1px color-mix(in srgb,var(--green, #1f8a5c) 22%,transparent)!important}.bento-card.drop-after{box-shadow:8px 0 0 -1px var(--green, #1f8a5c),14px 0 0 -1px color-mix(in srgb,var(--green, #1f8a5c) 22%,transparent)!important}.bento-grid.is-editing.drop-end:after{content:"Thả vào đây để đưa xuống cuối";display:grid;grid-column:1 / -1;place-items:center;height:64px;color:var(--green, #1f8a5c);background:color-mix(in srgb,var(--green, #1f8a5c) 6%,transparent);border:2px dashed color-mix(in srgb,var(--green, #1f8a5c) 55%,transparent);border-radius:14px;font-size:13px;font-weight:700}.bento-grid.is-editing:after{content:"";grid-column:1 / -1;height:64px;border:2px dashed transparent;border-radius:14px}.bento-ghost{position:absolute;top:-1px;right:-1px;bottom:-1px;left:-1px;z-index:-1;border:2px dashed color-mix(in srgb,var(--green, #1f8a5c) 50%,transparent);border-radius:16px;background:color-mix(in srgb,var(--green, #1f8a5c) 5%,var(--page, #f4f6fa))}.bento-card.is-moving{overflow:visible!important}.bento-summary{grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}.bento-w-summary .bento-head{margin-bottom:8px}.bento-presets{display:inline-flex;flex-wrap:wrap;align-items:center;gap:6px}.bento-presets b{color:var(--text-2, #344054);font-size:12.5px}.bento-editbar>span:first-child{flex:1 1 100%}.bento-clock{display:flex;flex:1 1 auto;flex-wrap:wrap;align-items:center;justify-content:center;gap:6px 16px}.bento-clock-ring{flex:0 0 auto;width:min(148px,100%);height:auto;overflow:visible}.bento-clock-hour{fill:none;stroke-width:13;transition:stroke-width .15s;cursor:default}.bento-clock-hour:hover{stroke-width:16}.bento-clock-hour.is-good{stroke:color-mix(in srgb,var(--green, #1f8a5c) 82%,#fff)}.bento-clock-hour.is-bad{stroke:var(--red, #d64545)}.bento-clock-hour.is-none{stroke:url(#bento-hatch)}.bento-clock-hour.is-loading{stroke:color-mix(in srgb,var(--muted, #667085) 16%,transparent);animation:bento-pulse 1.2s ease-in-out infinite}.bento-hatch-bg{fill:color-mix(in srgb,var(--muted, #667085) 10%,var(--surface, #fff))}.bento-hatch-line{stroke:color-mix(in srgb,var(--muted, #667085) 38%,transparent);stroke-width:1.6}.bento-clock-now{fill:var(--text, #101828);stroke:var(--surface, #fff);stroke-width:1.2}.bento-clock-mark{fill:var(--muted, #667085);font-size:7px;font-weight:700}.bento-clock-value{fill:var(--text, #101828);font-size:15px;font-weight:800;font-variant-numeric:tabular-nums}.bento-clock-caption{fill:var(--muted, #667085);font-size:6.6px;font-weight:600}.bento-clock-legend{display:grid;gap:4px;margin:0;padding:0;list-style:none;font-size:12px}.bento-clock-legend li{display:grid;grid-template-columns:10px auto 26px 34px;align-items:center;gap:6px;color:var(--text-2, #344054)}.bento-clock-legend i{width:10px;height:10px;border-radius:3px}.bento-clock-legend .is-good i{background:color-mix(in srgb,var(--green, #1f8a5c) 82%,#fff)}.bento-clock-legend .is-bad i{background:var(--red, #d64545)}.bento-clock-legend .is-none i{background:repeating-linear-gradient(135deg,color-mix(in srgb,var(--muted, #667085) 38%,transparent) 0 2px,transparent 2px 4px);border:1px solid color-mix(in srgb,var(--muted, #667085) 30%,transparent)}.bento-clock-legend b{color:var(--text, #101828);font-weight:800;text-align:right;font-variant-numeric:tabular-nums}.bento-clock-legend .is-bad b{color:var(--red, #d64545)}.bento-clock-legend small{color:var(--muted, #667085);font-size:11px;text-align:right;font-variant-numeric:tabular-nums}.bento-stat>i.bento-stat-ring{width:38px;height:38px;background:transparent!important}.bento-stat.has-ring{grid-template-columns:38px minmax(0,1fr)}.bento-mini-ring{width:38px;height:38px}.bento-mini-ring circle{fill:none;stroke-width:4.2}.bento-mini-ring-track{stroke:color-mix(in srgb,var(--muted, #667085) 16%,transparent)}.bento-mini-ring-value{stroke:var(--green, #1f8a5c);stroke-linecap:round}.bento-mini-ring.tone-warn .bento-mini-ring-value{stroke:var(--amber, #d98a0b)}.bento-mini-ring.tone-bad .bento-mini-ring-value{stroke:var(--red, #d64545)}.bento-mini-ring.tone-none .bento-mini-ring-value{stroke:var(--muted, #98a2b3)}.bento-mini-ring text{fill:var(--text-2, #344054);font-size:10px;font-weight:800;font-variant-numeric:tabular-nums}.bento-clock{flex-direction:column;flex-wrap:nowrap;gap:6px}.bento-clock-ring{width:min(128px,100%)}.bento-clock-legend{display:flex;flex-wrap:wrap;justify-content:center;gap:2px 12px}.bento-clock-legend li{display:inline-flex;gap:4px}.bento-clock-legend small{display:none}.bento-template-message{flex:1 1 100%;color:var(--green, #1f8a5c);font-weight:700}.bento-template-button{border-color:color-mix(in srgb,var(--green, #1f8a5c) 45%,transparent)!important;color:var(--green, #1f8a5c)!important}.bento-pulse{position:relative;display:grid!important;place-items:center;width:38px!important;height:38px!important;border-radius:50%!important}.bento-pulse.is-live{background:color-mix(in srgb,var(--green, #1f8a5c) 12%,transparent)!important}.bento-pulse.is-live>b{position:relative;z-index:1;width:12px;height:12px;background:var(--green, #1f8a5c);border-radius:50%;box-shadow:0 0 0 3px color-mix(in srgb,var(--green, #1f8a5c) 25%,transparent)}.bento-pulse.is-live:before,.bento-pulse.is-live:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border:2px solid color-mix(in srgb,var(--green, #1f8a5c) 55%,transparent);border-radius:50%;animation:bento-ripple 2.4s ease-out infinite}.bento-pulse.is-live:after{animation-delay:1.2s}@keyframes bento-ripple{0%{transform:scale(.35);opacity:.9}to{transform:scale(1.15);opacity:0}}.bento-pulse.is-lost{color:var(--red, #d64545)!important;background:color-mix(in srgb,var(--red, #d64545) 8%,var(--surface, #fff))!important;box-shadow:inset 0 0 0 3px var(--red, #d64545)}.bento-pulse.is-maintenance{color:var(--amber, #b7740a)!important;background:color-mix(in srgb,var(--amber, #d98a0b) 10%,var(--surface, #fff))!important;box-shadow:inset 0 0 0 3px var(--amber, #d98a0b)}.bento-stat.is-pulse-live>strong{color:var(--green, #1f8a5c)}.bento-stat.is-pulse-lost>strong{color:var(--red, #d64545)}.bento-stat.is-pulse-maintenance>strong{color:var(--amber, #b7740a)}.bento-stat.is-pulse-lost{background:color-mix(in srgb,var(--red, #d64545) 5%,var(--surface-soft, #f7f9fc));border-color:color-mix(in srgb,var(--red, #d64545) 22%,var(--line, #e6eaf0))}.bento-stat.is-pulse-maintenance{background:color-mix(in srgb,var(--amber, #d98a0b) 6%,var(--surface-soft, #f7f9fc));border-color:color-mix(in srgb,var(--amber, #d98a0b) 25%,var(--line, #e6eaf0))}@media(prefers-reduced-motion:reduce){.bento-pulse.is-live:before,.bento-pulse.is-live:after{animation:none;opacity:.5;transform:none}}.bento-stat{align-items:center}.bento-stat>i{align-self:center!important}.bento-w-summary .bento-head-extra .station-weather{margin:0}.bento-card.has-backdrop{overflow:hidden;isolation:isolate}.bento-card.has-backdrop>.bento-head,.bento-card.has-backdrop>.bento-body{position:relative;z-index:1}.bento-card.has-backdrop .bento-stat{background:color-mix(in srgb,var(--surface, #fff) 72%,transparent);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.weather-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;overflow:hidden;pointer-events:none;border-radius:inherit}.weather-backdrop>i{position:absolute;display:none}.weather-backdrop .wb-sky{display:block;top:0;right:0;bottom:0;left:0;opacity:.9}.weather-backdrop.is-sun .wb-sky{background:linear-gradient(120deg,transparent 35%,rgba(255,196,72,.14) 75%,rgba(255,170,40,.22))}.weather-backdrop.is-sun-cloud .wb-sky{background:linear-gradient(120deg,transparent 40%,rgba(255,200,90,.12) 80%,rgba(120,170,220,.12))}.weather-backdrop.is-cloud .wb-sky{background:linear-gradient(180deg,#788ca51f,#a0afc314)}.weather-backdrop.is-rain .wb-sky{background:linear-gradient(180deg,#46648c29,#6e8caf1a)}.weather-backdrop.is-wind .wb-sky{background:linear-gradient(100deg,#78bed21a,#a0d7e124)}.weather-backdrop.is-night .wb-sky,.weather-backdrop.is-night-cloud .wb-sky{background:linear-gradient(160deg,#192d5f1a,#283c7833)}.weather-backdrop:is(.is-sun,.is-sun-cloud) .wb-glow{display:block;top:-120px;right:-60px;width:340px;height:340px;border-radius:50%;background:radial-gradient(circle,rgba(255,210,90,.55) 0%,rgba(255,190,60,.22) 35%,transparent 70%);animation:wb-breathe 6s ease-in-out infinite}.weather-backdrop:is(.is-sun,.is-sun-cloud) .wb-rays{display:block;top:-230px;right:-170px;width:560px;height:560px;border-radius:50%;background:repeating-conic-gradient(from 0deg,rgba(255,200,80,.16) 0deg 6deg,transparent 6deg 22deg);-webkit-mask:radial-gradient(circle,#000 18%,transparent 62%);mask:radial-gradient(circle,#000 18%,transparent 62%);animation:wb-spin 60s linear infinite}.weather-backdrop.is-sun-cloud .wb-rays{opacity:.6}@keyframes wb-spin{to{transform:rotate(360deg)}}@keyframes wb-breathe{50%{transform:scale(1.08);opacity:.8}}.weather-backdrop:is(.is-night,.is-night-cloud) .wb-glow{display:block;top:-70px;right:40px;width:180px;height:180px;border-radius:50%;background:radial-gradient(circle,rgba(220,230,255,.55) 0%,rgba(180,200,255,.18) 40%,transparent 70%)}.weather-backdrop:is(.is-night,.is-night-cloud) .wb-stars{display:block;top:0;right:0;bottom:0;left:0;background-image:radial-gradient(1.6px 1.6px at 12% 30%,rgba(90,110,170,.55),transparent),radial-gradient(1.4px 1.4px at 28% 70%,rgba(90,110,170,.45),transparent),radial-gradient(1.8px 1.8px at 46% 22%,rgba(90,110,170,.5),transparent),radial-gradient(1.4px 1.4px at 63% 64%,rgba(90,110,170,.45),transparent),radial-gradient(1.6px 1.6px at 78% 36%,rgba(90,110,170,.55),transparent),radial-gradient(1.4px 1.4px at 90% 78%,rgba(90,110,170,.4),transparent);animation:wb-twinkle 4s ease-in-out infinite}@keyframes wb-twinkle{50%{opacity:.45}}.weather-backdrop:is(.is-sun-cloud,.is-cloud,.is-rain,.is-night-cloud) .wb-cloud{display:block;height:70px;border-radius:999px;background:#ffffffe6;filter:blur(10px);box-shadow:40px -18px 0 6px #ffffffd9,90px 4px 0 -2px #fffc;animation:wb-drift 48s linear infinite}.weather-backdrop:is(.is-cloud,.is-rain) .wb-cloud{background:#96a5b952;box-shadow:40px -18px 0 6px #96a5b947,90px 4px 0 -2px #96a5b940}.weather-backdrop.is-rain .wb-cloud{background:#6e82a05c;box-shadow:40px -18px 0 6px #6e82a04d,90px 4px 0 -2px #6e82a047}.weather-backdrop .wb-c1{top:-10px;left:-20%;width:200px;animation-duration:52s!important}.weather-backdrop .wb-c2{top:40px;left:-40%;width:160px;opacity:.8;animation-duration:66s!important;animation-delay:-20s!important}.weather-backdrop .wb-c3{top:4px;left:-60%;width:240px;opacity:.7;animation-duration:80s!important;animation-delay:-45s!important}.weather-backdrop.is-sun-cloud .wb-c3,.weather-backdrop.is-night-cloud .wb-c3{display:none}@keyframes wb-drift{0%{transform:translate(0)}to{transform:translate(180vw)}}.weather-backdrop.is-rain .wb-rain{display:block;top:-40px;right:0;bottom:0;left:0;background-image:repeating-linear-gradient(105deg,transparent 0 14px,rgba(70,110,160,.22) 14px 15.5px,transparent 15.5px 30px);background-size:100% 60px;animation:wb-fall .7s linear infinite}@keyframes wb-fall{to{background-position:-16px 60px}}.weather-backdrop.is-wind .wb-wind{display:block;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(90deg,transparent,rgba(80,150,175,.28),transparent),linear-gradient(90deg,transparent,rgba(80,150,175,.22),transparent),linear-gradient(90deg,transparent,rgba(80,150,175,.18),transparent);background-size:220px 2px,160px 2px,280px 2px;background-position:-300px 28%,-400px 55%,-500px 80%;background-repeat:no-repeat;animation:wb-blow 3.2s linear infinite}@keyframes wb-blow{to{background-position:120% 28%,140% 55%,160% 80%}}.theme-dark .bento-card.has-backdrop .bento-stat{background:color-mix(in srgb,var(--surface, #172033) 70%,transparent)}.theme-dark .weather-backdrop:is(.is-sun-cloud,.is-night-cloud) .wb-cloud{background:#c8d7eb24;box-shadow:40px -18px 0 6px #c8d7eb1f,90px 4px 0 -2px #c8d7eb1a}@media(prefers-reduced-motion:reduce){.weather-backdrop>i{animation:none!important}}.weather-backdrop.is-night-cloud .wb-cloud{background:#6e82be38;box-shadow:40px -18px 0 6px #6e82be2e,90px 4px 0 -2px #6e82be29}.weather-backdrop:is(.is-night,.is-night-cloud) .wb-sky{background:linear-gradient(160deg,#1e326e24,#2d41823d)}.weather-backdrop:is(.is-night,.is-night-cloud) .wb-stars{filter:brightness(.8) contrast(1.4)}.weather-backdrop{inset:0 0 auto auto;width:200px;height:100%;max-height:150px;opacity:.65;-webkit-mask-image:radial-gradient(ellipse 100% 100% at 100% 0%,#000 0%,rgba(0,0,0,.55) 40%,transparent 78%);mask-image:radial-gradient(ellipse 100% 100% at 100% 0%,#000 0%,rgba(0,0,0,.55) 40%,transparent 78%)}.weather-backdrop:is(.is-sun,.is-sun-cloud) .wb-glow{top:-90px;right:-70px;width:220px;height:220px}.weather-backdrop:is(.is-sun,.is-sun-cloud) .wb-rays{top:-150px;right:-150px;width:340px;height:340px}.weather-backdrop:is(.is-night,.is-night-cloud) .wb-glow{top:-60px;right:-20px;width:140px;height:140px}.weather-backdrop .wb-c1{top:-14px;left:-40%;width:110px}.weather-backdrop .wb-c2{top:26px;left:-70%;width:90px}.weather-backdrop .wb-c3{top:0;left:-100%;width:130px}.weather-backdrop .wb-cloud{height:44px;animation-name:wb-drift-corner}@keyframes wb-drift-corner{0%{transform:translate(0)}to{transform:translate(420px)}}.bento-card.has-backdrop .bento-stat{background:var(--surface-soft, #f7f9fc);-webkit-backdrop-filter:none;backdrop-filter:none}.theme-dark .bento-card.has-backdrop .bento-stat{background:#ffffff0a}.bento-w-summary .bento-head-extra .station-weather-mini{margin:-8px -2px -8px 0}.bento-w-summary .bento-head-extra .station-weather-mini>svg.weather-glyph{width:40px!important;height:40px!important}@media(max-width:650px){.bento-w-summary .bento-head-extra .station-weather-mini>svg.weather-glyph{width:34px!important;height:34px!important}}.bento-head-icon.tone-bad{color:var(--red, #d64545);background:color-mix(in srgb,var(--red, #d64545) 12%,transparent)}.bento-head-icon.tone-warn{color:var(--amber, #b7740a);background:color-mix(in srgb,var(--amber, #d98a0b) 14%,transparent)}.group-card-actions{display:flex;align-items:center;gap:8px}.group-card-actions .button-secondary{min-height:32px;padding:0 10px}.group-card-meta .reading-time{margin:0}.bento-card[class*=bento-w-station-] .reading-grid{margin:0!important}@media(max-width:650px){.bento-card[class*=bento-w-station-] .bento-head{flex-wrap:wrap}.group-card-actions{flex-wrap:wrap;gap:6px}.group-card-meta{display:none}}.bento-summary.is-quad{grid-template-columns:repeat(2,minmax(0,1fr))}@media(max-width:650px){.bento-summary.is-quad{grid-template-columns:minmax(0,1fr)}}.bento-stat.tone-warn>strong{color:var(--amber, #b7740a)}.bento-mini-ring.tone-bad .bento-mini-ring-track{stroke:color-mix(in srgb,var(--red, #d64545) 22%,transparent)}.bento-mini-ring.tone-warn .bento-mini-ring-track{stroke:color-mix(in srgb,var(--amber, #d98a0b) 22%,transparent)}.bento-mini-ring.tone-bad text{fill:var(--red, #d64545)}.bento-mini-ring.tone-warn text{fill:var(--amber, #b7740a)}.bento-matrix td.is-empty{background:color-mix(in srgb,var(--muted, #667085) 5%,transparent)}.bento-clock-mark{font-size:9.5px;font-weight:700}.bento-clock-caption{font-size:8.4px;font-weight:600}.bento-clock-value{font-size:16px}.bento-forecast-none{color:var(--muted, #667085);font-size:11.5px;font-weight:500}.bento-forecast-note,.bento-timeline small,.bento-band-legend,.bento-clock-legend li{color:#667085}.reading-grid.is-stale .reading-tile{opacity:.58;filter:saturate(.55);transition:opacity .2s}.reading-grid.is-stale .reading-tile:hover{opacity:1;filter:none}.reading-time.is-stale{color:var(--amber, #b7740a)!important;background:color-mix(in srgb,var(--amber, #d98a0b) 12%,var(--surface, #fff))!important;border-color:color-mix(in srgb,var(--amber, #d98a0b) 35%,transparent)!important}.reading-time.is-stale em{margin-right:4px;font-style:normal;font-weight:700}.trend-fallback-note{display:flex;align-items:center;gap:6px;margin:0 16px 8px;padding:6px 10px;color:var(--amber, #a8670a);background:color-mix(in srgb,var(--amber, #d98a0b) 9%,var(--surface, #fff));border-radius:8px;font-size:12px;font-weight:600}.bento-forecast li.is-silent{display:block;min-height:0;padding:7px 10px;color:var(--muted, #667085);background:transparent;border:1px dashed var(--line, #e3e8ee);font-size:12px;order:99}.bento-forecast{display:flex;flex-direction:column}.page-content .reading-grid .reading-tile:not(.tone-bad){background:linear-gradient(180deg,#fff,#fff 55%,#f8fafc)!important}.page-content .reading-grid .reading-tile:before{height:2px!important;left:10px!important;right:10px!important;border-radius:0 0 2px 2px!important}.page-content .reading-grid .reading-tile.tone-good:before{background:color-mix(in srgb,var(--green, #1f8a5c) 45%,transparent)!important;box-shadow:none!important}.page-content .reading-grid .reading-tile.tone-warn:before{background:var(--amber, #d98a0b)!important;height:3px!important}.page-content .reading-grid .reading-tile.tone-bad:before{background:var(--red, #d64545)!important;height:3px!important}.page-content .reading-grid .reading-tile.tone-none:before{background:#cbd2dc!important}.page-content .reading-grid .reading-tile .metric-sparkline-line{stroke:#7f9bb3!important}.page-content .reading-grid .reading-tile .metric-sparkline-area{fill:#7f9bb31a!important}.page-content .reading-grid .reading-tile .metric-sparkline-point{fill:#5f7f99!important}.page-content .reading-grid .reading-tile.tone-bad .metric-sparkline-line{stroke:var(--red, #d64545)!important}.page-content .reading-grid .reading-tile.tone-bad .metric-sparkline-area{fill:#d645451a!important}.page-content .reading-grid .reading-tile.tone-bad .metric-sparkline-point{fill:var(--red, #d64545)!important}.page-content .reading-grid .reading-tile.tone-warn .metric-sparkline-line{stroke:var(--amber, #d98a0b)!important}.page-content .reading-grid .reading-tile.tone-none .reading-limit{color:#8a94a6!important;font-style:italic;font-weight:500!important}.page-content .reading-grid .reading-tile{transition:transform .16s ease,box-shadow .16s ease}.page-content .reading-grid .reading-tile:hover{transform:translateY(-2px);box-shadow:0 2px 4px #1018280d,0 12px 24px #1018281a!important}.reading-grid.is-stale .reading-tile:hover{transform:translateY(-2px)}.theme-dark .page-content .reading-grid .reading-tile:not(.tone-bad){background:linear-gradient(180deg,var(--surface, #172033) 0%,color-mix(in srgb,var(--surface, #172033) 92%,#000) 100%)!important}@media(prefers-reduced-motion:reduce){.page-content .reading-grid .reading-tile:hover{transform:none}}.bento-head .reading-time{height:32px!important;gap:6px!important;font-size:14px}.bento-head .reading-time>svg{width:16px;height:16px}.bento-head .reading-time>b{font-size:16px!important;font-weight:800!important;font-variant-numeric:tabular-nums}.bento-head .reading-time>small{font-size:13px!important}.bento-head .reading-time>em{font-size:13px}.bento-head .reading-time.is-stale{padding:0 12px!important;border-radius:999px}.page-content .reading-grid .reading-tile,.page-content .reading-grid .reading-tile.tone-bad,.page-content .reading-grid .reading-tile.tone-warn,.page-content .reading-grid .reading-tile.tone-invalid{background:#fff!important;animation:none!important}.page-content .reading-grid .reading-tile.tone-warn{background:linear-gradient(180deg,#f59e0b17,#f59e0b08 50%,#fff 72%)!important;border-color:#d98a0b47!important}.page-content .reading-grid .reading-tile.tone-bad{background:linear-gradient(180deg,#d6454514,#d6454506 50%,#fff 72%)!important;border-color:#d6454547!important;box-shadow:0 1px 2px #1018280d,0 4px 12px #d6454512!important}.page-content .reading-grid .reading-tile.tone-invalid{background:linear-gradient(180deg,#7c5cc414,#7c5cc406 50%,#fff 72%)!important;border-color:#7c5cc440!important}.page-content .reading-grid .reading-tile.tone-warn .reading-value strong{color:#b7740a!important}.page-content .reading-grid .reading-tile.tone-bad .reading-value strong{color:var(--red, #d64545)!important}.page-content .reading-grid .reading-tile.tone-invalid .reading-value strong{color:#6b4fb0!important}.reading-grid.is-stale .reading-tile{opacity:1!important;filter:none!important}.reading-grid.is-stale .reading-tile .reading-value strong{opacity:.55}.reading-grid.is-stale .reading-tile .metric-sparkline{opacity:.6}.reading-grid.is-stale .reading-tile:after{content:"";position:absolute;top:9px;right:9px;width:12px;height:12px;border-radius:50%;border:1.5px solid #b7740a;background:linear-gradient(#b7740a,#b7740a) 50% 30% / 1.5px 4px no-repeat,linear-gradient(#b7740a,#b7740a) 62% 52% / 3.5px 1.5px no-repeat;opacity:.75;pointer-events:none}.reading-grid.is-stale .reading-tile:has(.metric-status) .metric-status{margin-right:14px}.reading-grid.is-stale .reading-tile:hover .reading-value strong{opacity:1}.theme-dark .page-content .reading-grid .reading-tile{background:var(--surface, #172033)!important}.theme-dark .page-content .reading-grid .reading-tile.tone-warn{background:linear-gradient(180deg,rgba(245,158,11,.14),var(--surface, #172033) 72%)!important}.theme-dark .page-content .reading-grid .reading-tile.tone-bad{background:linear-gradient(180deg,rgba(214,69,69,.16),var(--surface, #172033) 72%)!important}.theme-dark .page-content .reading-grid .reading-tile.tone-invalid{background:linear-gradient(180deg,rgba(124,92,196,.16),var(--surface, #172033) 72%)!important}.reading-grid.is-stale .reading-tile:after{content:none!important}.reading-grid.is-stale .reading-tile:has(.metric-status) .metric-status{margin-right:0}.bento-stat[class*=is-pulse-]>strong{font-size:15px!important;letter-spacing:-.005em}.bento-summary.is-six{grid-template-columns:repeat(3,minmax(0,1fr))}@media(max-width:1100px){.bento-summary.is-six{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:650px){.bento-summary.is-six{grid-template-columns:minmax(0,1fr)}}.sidebar .catalog-rail-button,.sidebar .site-tree,.sidebar .catalog-scrim,.topbar .mobile-menu,.top-nav-catalog,.topbar-station-slot{display:none!important}.station-switcher{position:relative;display:flex;flex:0 1 auto;min-width:0}.sw-button{display:inline-flex;align-items:center;gap:9px;min-width:0;max-width:320px;height:44px;padding:0 6px 0 5px;color:var(--text, #101828);background:var(--surface, #fff);border:1px solid var(--line, #e3e8ee);border-radius:14px;box-shadow:0 1px 2px #1018280d;font:inherit;text-align:left;cursor:pointer;transition:border-color .15s,box-shadow .15s}.sw-button:hover,.station-switcher.is-open .sw-button{border-color:color-mix(in srgb,var(--green, #1f8a5c) 45%,transparent);box-shadow:0 0 0 3px color-mix(in srgb,var(--green, #1f8a5c) 12%,transparent)}.sw-icon{position:relative;display:grid;flex:none;place-items:center;width:34px;height:34px;color:#fff;background:linear-gradient(145deg,color-mix(in srgb,var(--green, #1f8a5c) 75%,#fff),var(--green, #1f8a5c));border-radius:10px}.sw-icon>i{position:absolute;right:-3px;bottom:-3px;width:11px;height:11px;background:#98a2b3;border:2px solid var(--surface, #fff);border-radius:50%}.sw-button.tone-good .sw-icon>i{background:#22a36b}.sw-button.tone-bad .sw-icon>i{background:var(--red, #d64545)}.sw-text{display:grid;min-width:0;line-height:1.2}.sw-text strong{display:block;min-width:0;overflow:hidden;font-size:14px;font-weight:800;white-space:nowrap}.sw-text small{display:block;min-width:0;overflow:hidden;color:var(--muted, #667085);font-size:11.5px;font-weight:600;white-space:nowrap}.sw-badge{flex:none;min-width:20px;height:20px;padding:0 6px;color:#fff;background:var(--red, #d64545);border-radius:999px;font-size:11px;font-style:normal;font-weight:800;line-height:20px;text-align:center}.sw-caret{display:grid;flex:none;place-items:center;width:26px;height:26px;color:var(--text-2, #344054);background:var(--surface-soft, #f4f6f8);border-radius:8px;transition:transform .2s}.station-switcher.is-open .sw-caret{transform:rotate(180deg)}.sw-backdrop{position:fixed;z-index:80;top:0;right:0;bottom:0;left:0;background:transparent}.sw-panel{position:fixed;display:flex;flex-direction:column;width:440px;max-width:calc(100vw - 16px);max-height:min(72vh,640px);padding:14px 14px 10px;color:var(--text, #101828);background:var(--surface, #fff);border:1px solid var(--line, #e3e8ee);border-radius:18px;box-shadow:0 24px 64px #10182838,0 2px 6px #10182814;animation:sw-drop .16s ease-out}@keyframes sw-drop{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}.sw-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.sw-head h2{display:flex;align-items:center;gap:8px;margin:0;font-size:16px;font-weight:800}.sw-search{display:flex;align-items:center;gap:8px;width:100%;height:42px;margin-bottom:8px;padding:0 12px;border-radius:12px}.sw-search input{flex:1 1 auto;min-width:0;height:100%;font-size:14px}.sw-list{flex:1 1 auto;min-height:0;margin:0 -14px;padding:2px 14px 4px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}.sw-scope{display:flex;align-items:center;gap:10px;width:100%;margin-bottom:4px;padding:9px 12px;color:var(--text, #101828);background:transparent;border:1px solid var(--line, #e3e8ee);border-radius:12px;font:inherit;font-size:13.5px;font-weight:700;text-align:left;cursor:pointer}.sw-scope svg{color:var(--green, #1f8a5c)}.sw-scope small{margin-left:auto;color:var(--muted, #667085);font-weight:600}.sw-scope:hover{background:var(--surface-soft, #f7f9fc)}.sw-scope.active{background:color-mix(in srgb,var(--green, #1f8a5c) 9%,var(--surface, #fff));border-color:color-mix(in srgb,var(--green, #1f8a5c) 45%,transparent)}.sw-group{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:12px 2px 5px}.sw-group>span{min-width:0;overflow:hidden;color:var(--muted, #667085);font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap}.sw-group-all{display:inline-flex;flex:none;align-items:center;gap:4px;padding:3px 9px;color:var(--green, #1f8a5c);background:transparent;border:1px solid color-mix(in srgb,var(--green, #1f8a5c) 35%,transparent);border-radius:999px;font:inherit;font-size:11.5px;font-weight:700;cursor:pointer}.sw-group-all:hover,.sw-group-all.active{color:#fff;background:var(--green, #1f8a5c)}.sw-station{display:grid;grid-template-columns:9px minmax(0,1fr) auto;align-items:center;gap:11px;width:100%;margin-bottom:4px;padding:9px 12px;color:var(--text, #101828);background:var(--surface-soft, #f7f9fc);border:1px solid transparent;border-radius:12px;font:inherit;text-align:left;cursor:pointer}.sw-station:hover{border-color:var(--line, #e3e8ee);background:var(--surface, #fff)}.sw-station.active{background:color-mix(in srgb,var(--green, #1f8a5c) 10%,var(--surface, #fff));border-color:color-mix(in srgb,var(--green, #1f8a5c) 50%,transparent)}.sw-station>i{width:9px;height:9px;background:#98a2b3;border-radius:50%}.sw-station.tone-good>i{background:#22a36b}.sw-station.tone-bad>i{background:var(--red, #d64545);box-shadow:0 0 0 3px color-mix(in srgb,var(--red, #d64545) 20%,transparent)}.sw-station>span{display:grid;min-width:0}.sw-station strong{display:block;min-width:0;overflow:hidden;font-size:13.5px;font-weight:700;white-space:nowrap}.sw-station small{display:block;min-width:0;overflow:hidden;color:var(--muted, #667085);font-size:11.5px;white-space:nowrap}.sw-station em{color:var(--muted, #667085);font-size:11.5px;font-style:normal;font-weight:700;white-space:nowrap}.sw-station.tone-good em{color:var(--green, #1f8a5c)}.sw-empty{padding:22px 0;color:var(--muted, #667085);text-align:center}.topbar .breadcrumbs .crumb-chip{display:none!important}.topbar-left{min-width:0;gap:10px}.theme-dark .sw-button,.theme-dark .sw-panel{background:var(--surface, #172033);border-color:var(--line, #263247)}.theme-dark .sw-station,.theme-dark .sw-caret{background:#ffffff0d}@media(max-width:650px){.topbar-left{flex:1 1 auto}.topbar .breadcrumbs{display:none!important}.station-switcher{flex:1 1 auto}.sw-button{max-width:100%;height:40px;gap:8px;padding:0 5px;border:0;border-radius:999px;box-shadow:0 2px 8px #10281e14}.sw-icon{width:30px;height:30px;border-radius:50%}.sw-text strong{font-size:14px}.sw-caret{width:26px;height:26px;margin-left:auto;border-radius:50%}.sw-backdrop{display:flex;align-items:flex-end;background:#0a191261;animation:app-fade .18s ease-out}.sw-panel{position:relative;width:100%;max-width:none;max-height:84vh;padding:6px 14px calc(14px + env(safe-area-inset-bottom));border:0;border-radius:22px 22px 0 0;box-shadow:0 -10px 40px #0003;animation:sw-up .24s cubic-bezier(.2,.8,.2,1)}@keyframes sw-up{0%{transform:translateY(100%)}to{transform:none}}.sw-grip{align-self:center;width:40px;height:4px;margin:4px 0 8px;background:var(--line, #e3e8ee);border-radius:999px}.sw-search{height:48px;border:1.5px solid var(--line, #e3e8ee);border-radius:14px}.sw-search input{font-size:16px}.sw-backdrop.is-typing{align-items:stretch}.sw-backdrop.is-typing .sw-panel{height:100%;max-height:none;padding-top:calc(10px + env(safe-area-inset-top));border-radius:0;animation:none}.sw-backdrop.is-typing .sw-grip{display:none}}@media(min-width:651px){[data-layout~=studio] .sidebar{background:linear-gradient(180deg,#16384f,#112c42 45%,#0a1a2b)!important;background-image:none;box-shadow:6px 0 28px #0b244238!important}[data-layout~=studio] .sidebar:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:radial-gradient(160px 220px at 50% 0%,rgba(255,255,255,.14),transparent 70%),radial-gradient(140px 200px at 50% 100%,rgba(255,255,255,.06),transparent 70%)}[data-layout~=studio] .sidebar .brand-mark{flex:0 0 46px;width:46px;height:46px;aspect-ratio:1;border-radius:12px;background:linear-gradient(145deg,#3fbf7f,#1f8a5c 60%,#176b47)!important;box-shadow:0 8px 20px #1f8a5c61,inset 0 1px #ffffff40}[data-layout~=studio] .sidebar .side-nav{margin-top:18px}[data-layout~=studio] .sidebar .side-nav .nav-button{color:#ffffffc7}[data-layout~=studio] .sidebar .side-nav .nav-button:hover{color:#fff;background:#ffffff1a}[data-layout~=studio] .sidebar .side-nav .nav-button.active{color:var(--accent, #1f8a5c);background:#fff;box-shadow:0 8px 22px #00000038}[data-layout~=studio] .sidebar .side-nav .nav-button.active>span{color:var(--text, #101828)}}@media(min-width:651px){[data-layout~=studio] .sidebar .side-nav .nav-button>span[data-short]{font-size:0!important;-webkit-line-clamp:1}[data-layout~=studio] .sidebar .side-nav .nav-button>span[data-short]:after{content:attr(data-short);font-size:11px;font-weight:700;letter-spacing:.01em}[data-layout~=studio] .sidebar .side-nav .nav-button{min-height:58px}}@media(min-width:651px){.app>.sidebar{position:sticky!important;top:0;align-self:flex-start;height:100vh;min-height:0;overflow-y:auto;overflow-x:hidden;z-index:3;scrollbar-width:none}.app>.sidebar::-webkit-scrollbar{display:none}}@media(min-width:651px){.sw-backdrop{background:#0f172a24;animation:app-fade .15s ease-out}.sw-panel{width:420px;max-height:min(72vh,620px);padding:6px 14px 12px;border:0;border-radius:20px;box-shadow:0 28px 70px #10182847,0 2px 8px #10182814;transform-origin:top left;animation:sw-pop .2s cubic-bezier(.2,.8,.2,1)}@keyframes sw-pop{0%{transform:translateY(-8px) scale(.98)}to{transform:none}}.sw-grip{display:block;align-self:center;width:40px;height:4px;margin:4px 0 8px;background:var(--line, #e3e8ee);border-radius:999px}.sw-head{margin:0 2px 10px}.sw-head h2{font-size:17px}.sw-search{height:46px;margin-bottom:8px;padding:0 14px;background:var(--surface-soft, #f7f9fc)!important;border:1.5px solid var(--line, #e3e8ee)!important;border-radius:14px!important;box-shadow:none!important}.sw-search:focus-within{background:var(--surface, #fff)!important;border-color:var(--green, #1f8a5c)!important;box-shadow:0 0 0 4px color-mix(in srgb,var(--green, #1f8a5c) 12%,transparent)!important}.sw-search input{font-size:14px}.sw-list{margin:0 -14px;padding:0 14px 2px}.sw-scope{gap:10px;margin-bottom:6px;padding:11px 12px;background:var(--surface-soft, #f7f9fc);border:1px solid transparent;border-radius:14px;font-size:14px}.sw-scope.active{background:color-mix(in srgb,var(--green, #1f8a5c) 10%,var(--surface, #fff));border-color:var(--green, #1f8a5c)}.sw-group{margin:12px 2px 6px}.sw-group>span{font-size:11px}.sw-station{grid-template-columns:10px minmax(0,1fr) auto;gap:10px;margin-bottom:6px;padding:10px 12px;background:var(--surface-soft, #f7f9fc);border:1px solid transparent;border-radius:14px}.sw-station:hover{background:var(--surface, #fff);border-color:var(--line, #e3e8ee);box-shadow:0 2px 8px #1018280f}.sw-station.active{background:color-mix(in srgb,var(--green, #1f8a5c) 10%,var(--surface, #fff));border-color:var(--green, #1f8a5c)}.sw-station>i{width:10px;height:10px}.sw-station strong{font-size:14px}.sw-station small{font-size:11.5px}.sw-station em{padding:3px 9px;background:color-mix(in srgb,var(--muted, #667085) 12%,transparent);border-radius:999px;font-size:11px}.sw-station.tone-good em{background:color-mix(in srgb,var(--green, #1f8a5c) 12%,transparent)}.sw-station.tone-bad em{background:color-mix(in srgb,var(--red, #d64545) 12%,transparent)}.sw-empty{padding:20px 0}}@media(min-width:651px){[data-layout~=studio] .sidebar .brand-mark svg{width:24px;height:24px}}@media(min-width:651px){[data-layout~=studio] .sidebar{border-radius:0 18px 18px 0!important}[data-layout~=studio] .sidebar .brand{flex-direction:column;align-items:center;gap:7px}[data-layout~=studio] .sidebar .brand>div:not(.brand-mark){display:block!important;text-align:center;line-height:1}[data-layout~=studio] .sidebar .brand>div:not(.brand-mark)>span{display:none}[data-layout~=studio] .sidebar .brand-wordmark{display:block;margin:0;font-size:10.5px;font-weight:800;letter-spacing:.2em;padding-left:.2em;background:linear-gradient(90deg,#fff,#b7f0d2 55%,#6fd6a4);-webkit-background-clip:text;background-clip:text;color:transparent;text-shadow:none;white-space:nowrap}[data-layout~=studio] .sidebar .sidebar-bottom{display:block!important;width:100%;margin-top:auto;padding-top:10px;border-top:1px solid rgba(255,255,255,.08)}[data-layout~=studio] .sidebar .sidebar-collapse{display:none!important}[data-layout~=studio] .sidebar .sidebar-copyright{display:block!important;margin:0;color:#ffffff80;font-size:9.5px;line-height:1.35;text-align:center;white-space:normal}[data-layout~=studio] .sidebar .sidebar-version{display:block;margin-top:2px;color:#b7f0d2;font-weight:700;letter-spacing:.02em}[data-layout~=studio] .sidebar .sidebar-version-sep{display:none}}.sidebar-version-sep{font-style:normal}@media(min-width:651px){[data-layout~=studio] .app:not(.theme-dark){--page: #edf1f6}[data-layout~=studio] .app:not(.theme-dark) .main-area{background:var(--page)!important}[data-layout~=studio] .app:not(.theme-dark) .topbar{background:color-mix(in srgb,#edf1f6 86%,transparent)!important}[data-layout~=studio] .app:not(.theme-dark) .bento-card,[data-layout~=studio] .app:not(.theme-dark) .page-content .card{border-color:#e2e7ee!important;box-shadow:0 1px 2px #1018280d,0 6px 18px #1018280d}}@media(min-width:651px){[data-layout~=studio] .app:not(.theme-dark) .topbar{background:#f3f6fab8!important;-webkit-backdrop-filter:blur(20px) saturate(140%);backdrop-filter:blur(20px) saturate(140%);border-bottom:1px solid rgba(15,23,42,.06)!important;box-shadow:0 1px #fff9 inset,0 2px 10px #0f172a0a}[data-layout~=studio] .app:not(.theme-dark) .topbar :is(.sw-button,.last-sync,.notification-button){background:#ffffffc7!important;border-color:#0f172a12!important;box-shadow:0 1px 2px #0f172a0d!important}}@media(min-width:651px){.station-switcher{margin-left:-9px}.sw-panel{width:380px;padding:4px 12px 10px;border-radius:18px}.sw-grip{width:34px;margin:4px 0 6px}.sw-head{margin:0 2px 8px}.sw-head h2{font-size:15px;font-weight:750;letter-spacing:-.01em}.sw-head .count-pill{font-size:11px}.sw-head .plain-link{font-size:12.5px}.sw-search{height:40px;margin-bottom:8px;padding:0 12px;border-radius:12px!important}.sw-search svg{width:15px;height:15px;color:var(--muted, #667085)}.sw-search input{font-size:13px;letter-spacing:.005em}.sw-search input::placeholder{color:#667085}.sw-search:focus-within svg{color:var(--green, #1f8a5c)}.sw-list{margin:0 -12px;padding:0 12px 2px}.sw-scope{gap:9px;margin-bottom:4px;padding:8px 10px;border-radius:12px;font-size:13px;font-weight:650}.sw-scope small{font-size:11.5px;font-weight:600}.sw-group{margin:10px 2px 5px}.sw-group>span{font-size:10px;letter-spacing:.09em}.sw-group-all{padding:2px 9px;font-size:11px}.sw-station{gap:9px;margin-bottom:4px;padding:7px 10px;border-radius:12px;transition:background .15s,border-color .15s,box-shadow .15s,transform .15s}.sw-station strong{font-size:13px;font-weight:650}.sw-station small{font-size:11px;color:#667085}.sw-station em{padding:2px 8px;font-size:10.5px}.sw-station>i{width:8px;height:8px}.sw-station:hover{transform:translateY(-1px);border-color:color-mix(in srgb,var(--green, #1f8a5c) 25%,var(--line, #e3e8ee));box-shadow:0 4px 14px color-mix(in srgb,var(--green, #1f8a5c) 12%,transparent)}.sw-station.active{background:linear-gradient(90deg,color-mix(in srgb,var(--green, #1f8a5c) 12%,var(--surface, #fff)),var(--surface, #fff));border-color:color-mix(in srgb,var(--green, #1f8a5c) 45%,transparent);box-shadow:inset 3px 0 0 var(--green, #1f8a5c)}.sw-scope.active{background:linear-gradient(90deg,color-mix(in srgb,var(--green, #1f8a5c) 12%,var(--surface, #fff)),var(--surface, #fff));border-color:color-mix(in srgb,var(--green, #1f8a5c) 45%,transparent)}}@media(min-width:651px){[data-layout~=studio] .sidebar .brand-mark{background:linear-gradient(150deg,#2fa874,#1d7a52 55%,#145a3d)!important;box-shadow:inset 0 0 0 1px #ffffff2e,inset 0 1px #ffffff47,0 0 0 4px #2fa8741a,0 8px 24px #145a3d73!important}[data-layout~=studio] .sidebar .brand-mark svg{filter:drop-shadow(0 1px 1px rgba(0,0,0,.2))}[data-layout~=studio] .sidebar:before{content:"";position:absolute;top:18px;bottom:18px;right:0;width:1px;pointer-events:none;z-index:1;background:linear-gradient(180deg,transparent,rgba(63,191,127,.55) 20%,rgba(63,191,127,.35) 80%,transparent)}[data-layout~=studio] .sidebar .brand-wordmark{background:linear-gradient(90deg,#fff,#c9f2dc,#7fd9ab);-webkit-background-clip:text;background-clip:text}}@media(min-width:651px){.station-switcher{margin-left:var(--sw-shift, -20px)}.sw-button{height:44px;padding:0 5px;border-radius:999px}.sw-icon{width:34px;height:34px;border-radius:50%}.sw-caret{width:28px;height:28px;border-radius:50%}.sw-text{padding-right:2px}.sw-scope,.sw-scope.active,.sw-station,.sw-station.active{background:var(--surface-soft, #f7f9fc)!important;box-shadow:none}.sw-scope.active,.sw-station.active{border-color:color-mix(in srgb,var(--green, #1f8a5c) 55%,transparent)!important;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--green, #1f8a5c) 25%,transparent)!important}.sw-station:hover,.sw-scope:hover{background:var(--surface, #fff)!important}.sw-group-all:hover,.sw-group-all.active{color:var(--green, #1f8a5c);background:transparent;border-color:var(--green, #1f8a5c)}}.status-badge:not(.warning):not(.bad):not(.offline),.metric-status.normal,.alert-handling.handling-resolved,.alert-level.low,.sw-station.tone-good em,.station-switch .status-badge:not(.warning):not(.bad):not(.offline){background:transparent!important;box-shadow:none!important;padding-left:0!important;padding-right:0!important}.status-badge.offline{background:transparent!important;padding-left:0!important;padding-right:0!important}.count-pill{color:var(--muted, #667085)!important;background:transparent!important;padding:0 2px!important;font-weight:700}.station-hero-tag{color:var(--green, #1f8a5c)!important;background:transparent!important;border:0!important;padding:0!important;font-weight:700}.reading-time:not(.is-stale){color:var(--text-2, #344054)!important;background:transparent!important;border-color:transparent!important;padding-left:0!important}.sw-station em{padding-left:0!important;padding-right:0!important;background:transparent!important}.sw-station.tone-bad em{color:var(--red, #d64545)}.admin-menu-item.is-active{background:var(--surface-soft, #f4f6f8)!important}.user-role,.theme-dark .user-role{background:transparent!important;padding-left:0!important;padding-right:0!important}.report-metric-chips button.selected{background:var(--surface, #fff)!important;border-color:var(--green, #1f8a5c)!important;color:var(--green, #1f8a5c)!important;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--green, #1f8a5c) 30%,transparent)}.status-filter-item.tone-all.is-selected{background:var(--surface, #fff)!important}.overview-view-toggle:not(#_) button:hover:not(.selected){background:transparent!important}@media(min-width:651px){[data-layout~=studio] .sidebar .side-nav .nav-button.active>span,[data-layout~=studio] .sidebar .side-nav .nav-button.active>span:after{color:#101828!important}[data-layout~=studio] .sidebar .side-nav .nav-button.active{color:#1f8a5c!important}}.admin-shell{display:grid;grid-template-columns:236px minmax(0,1fr);gap:16px;align-items:start}.admin-menu{position:sticky;top:84px;display:grid;gap:4px;padding:14px 10px 12px;background:var(--surface, #fff);border:1px solid var(--line, #e3e8ee);border-radius:16px;box-shadow:0 1px 2px #1018280a}.admin-menu-head{display:grid;gap:2px;margin:0 6px 6px;padding-bottom:10px;border-bottom:1px solid var(--line, #e3e8ee)}.admin-menu-head strong{color:var(--text, #101828);font-size:15px;font-weight:800;letter-spacing:-.01em}.admin-menu-head small{color:var(--muted, #667085);font-size:11.5px}.admin-menu-head .is-online{color:var(--green, #1f8a5c);font-weight:700}.admin-menu-head .is-offline{color:var(--red, #d64545);font-weight:700}.admin-menu-group{display:grid;gap:2px}.admin-menu-group+.admin-menu-group{margin-top:8px}.admin-menu-group>p{margin:6px 8px 4px;color:var(--muted, #667085);font-size:10.5px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.admin-menu-item{position:relative;display:flex;align-items:center;gap:10px;width:100%;height:38px;padding:0 8px;color:var(--text-2, #344054);background:transparent;border:0;border-radius:10px;font:inherit;font-size:13.5px;font-weight:600;text-align:left;cursor:pointer;transition:background .15s,color .15s}.admin-menu-item>i{display:grid;flex:none;place-items:center;width:28px;height:28px;color:var(--muted, #667085);background:var(--surface-soft, #f4f6f8);border-radius:8px;font-style:normal;transition:inherit}.admin-menu-item>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-menu-item:hover{color:var(--text, #101828);background:var(--surface-soft, #f4f6f8)}.admin-menu-item.is-active{color:var(--green, #1f8a5c);background:color-mix(in srgb,var(--green, #1f8a5c) 10%,var(--surface, #fff));font-weight:700}.admin-menu-item.is-active>i{color:#fff;background:var(--green, #1f8a5c)}.admin-menu-item.is-active:before{content:"";position:absolute;top:9px;bottom:9px;left:-10px;width:3px;background:var(--green, #1f8a5c);border-radius:0 3px 3px 0}.admin-main{display:grid;gap:12px;min-width:0}.admin-section-head{display:flex;align-items:center;gap:12px;padding:2px 2px 0}.admin-section-icon{display:grid;flex:none;place-items:center;width:42px;height:42px;color:#fff;background:linear-gradient(145deg,color-mix(in srgb,var(--green, #1f8a5c) 78%,#fff),var(--green, #1f8a5c));border-radius:12px;box-shadow:0 6px 16px color-mix(in srgb,var(--green, #1f8a5c) 30%,transparent)}.admin-section-head h1{margin:0;color:var(--text, #101828);font-size:21px;font-weight:800;letter-spacing:-.02em;line-height:1.2}.admin-section-head p{margin:2px 0 0;color:var(--muted, #667085);font-size:13px}.admin-main>.tab-panel{display:grid;gap:12px;min-width:0}.admin-main>.tab-panel>*{margin-top:0!important;margin-bottom:0!important}.admin-main .card h2,.admin-main .admin-card h2{font-size:16px!important;font-weight:800;letter-spacing:-.01em}.admin-main .card h3{font-size:14px!important;font-weight:700}.admin-main .card p,.admin-main .card small{line-height:1.45}.theme-dark .admin-menu{background:var(--surface, #172033);border-color:var(--line, #263247)}.theme-dark .admin-menu-item>i{background:#ffffff0f}@media(max-width:1100px)and (min-width:651px){.admin-shell{grid-template-columns:200px minmax(0,1fr);gap:12px}.admin-menu-item{font-size:13px}}@media(max-width:650px){.admin-shell{grid-template-columns:minmax(0,1fr);gap:10px}.admin-menu{position:static;padding:10px;border-radius:14px}.admin-menu-head{margin:0 2px 8px;padding-bottom:8px}.admin-menu-select{position:relative;display:flex;align-items:center;gap:10px;height:46px;padding:0 12px;color:var(--green, #1f8a5c);background:color-mix(in srgb,var(--green, #1f8a5c) 8%,var(--surface, #fff));border:1.5px solid color-mix(in srgb,var(--green, #1f8a5c) 35%,transparent);border-radius:12px}.admin-menu-select select{flex:1 1 auto;min-width:0;height:100%;color:var(--text, #101828);background:transparent;border:0;outline:0;font:inherit;font-size:16px;font-weight:700;-moz-appearance:none;appearance:none;-webkit-appearance:none}.admin-section-head{gap:10px}.admin-section-icon{width:36px;height:36px;border-radius:10px}.admin-section-head h1{font-size:18px}.admin-section-head p{font-size:12px}.sw-badge{display:none}}.storage-kho td{white-space:nowrap}.storage-kho-name,.storage-kho-stations,.storage-kho-path{max-width:0}.storage-kho-name{width:22%}.storage-kho-stations{width:26%;min-width:0!important}.storage-kho-path{width:30%;max-width:0!important}.storage-kho-name strong,.storage-kho-stations>span,.storage-kho-path code,.storage-kho-path small{display:block;min-width:0;overflow:hidden;white-space:nowrap!important;word-break:normal!important;overflow-wrap:normal!important}.storage-kho-path code{max-width:100%}.storage-root-path code{display:block;min-width:0;overflow:hidden;white-space:nowrap}.storage-kho .marquee,.storage-root-path .marquee{display:block}@media(min-width:651px){.report-control .tab-bar{gap:2px;padding:4px!important;background:#eaeef4!important;border:0!important;border-radius:12px!important;box-shadow:inset 0 1px 2px #1018280f}.report-control .tab-bar .tab-bar-indicator{display:none!important}.report-control .tab-bar-item{height:34px!important;min-height:34px;padding:0 14px!important;gap:7px;color:#475467!important;background:transparent!important;border:0!important;border-radius:9px!important;font-size:13.5px!important;font-weight:600!important;box-shadow:none!important}.report-control .tab-bar-item svg{width:15px;height:15px;color:#98a2b3}.report-control .tab-bar-item:hover{color:var(--text, #101828)!important;background:#ffffff8c!important}.report-control .tab-bar-item.is-selected{color:var(--text, #101828)!important;background:#fff!important;box-shadow:0 1px 3px #1018281f,0 1px 2px #1018280f!important}.report-control .tab-bar-item.is-selected svg{color:var(--green, #1f8a5c)}.report-control :is(input,select):not([type=checkbox]):not([type=radio]){height:38px!important;min-height:38px!important;font-size:13.5px!important;border-radius:10px!important}.report-control .config-field>span:first-child,.report-control label>span:first-child{font-size:12.5px!important;font-weight:600!important;color:#475467!important}.report-control :is(.button-primary,.button-secondary){height:38px!important;min-height:38px!important;padding:0 16px!important;font-size:13.5px!important;border-radius:10px!important}.report-control .report-presets,.report-control .segmented-control{padding:3px!important;border-radius:10px!important}.report-control .report-presets button,.report-control .segmented-control button{height:32px!important;padding:0 12px!important;font-size:13px!important;border-radius:8px!important}.report-control .report-metric-chips button{height:30px!important;padding:0 12px!important;font-size:12.5px!important;border-radius:999px!important}.admin-main :is(input,select):not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]){height:38px!important;min-height:38px!important;padding-top:0;padding-bottom:0;font-size:13.5px!important;border-radius:10px!important}.admin-main textarea{font-size:13.5px!important;border-radius:10px!important}.admin-main :is(.button-primary,.button-secondary):not(.plain-link){height:38px!important;min-height:38px!important;padding:0 16px!important;font-size:13.5px!important;border-radius:10px!important;white-space:nowrap}.admin-main .plain-link{font-size:13px!important;font-weight:700}.admin-main .config-field>span:first-child,.admin-main label>span:first-child:not(.marquee){font-size:12.5px!important;font-weight:600!important;color:#475467!important}.admin-main .card{padding:18px 20px!important;border-radius:16px!important}.admin-main .card h2{font-size:16px!important;margin:0 0 2px!important}.admin-main .report-card-description,.admin-main .channel-hint{margin:2px 0 0!important;color:#667085!important;font-size:12.5px!important;line-height:1.45}.admin-main .section-kicker{font-size:10.5px!important;letter-spacing:.08em}.admin-main .report-table th{font-size:11px!important}.admin-main .report-table td{font-size:13px!important}.admin-main .metric-status,.admin-main .status-badge,.admin-main .alert-level,.admin-main .config-status{font-size:11.5px!important}}.admin-filter-hidden{display:none!important}.admin-section-head>div{flex:1 1 auto;min-width:0}.admin-section-search{display:flex;flex:0 1 420px;align-items:center;gap:8px;min-width:0;margin-left:auto}.admin-search-field{position:relative;display:flex;flex:1 1 auto;align-items:center;gap:8px;min-width:0;height:38px;padding:0 12px;background:#fff;border:1px solid #d0d5dd;border-radius:10px;box-shadow:0 1px 2px #1018280d}.admin-search-field:focus-within{border-color:var(--green, #1f8a5c);box-shadow:0 0 0 4px color-mix(in srgb,var(--green, #1f8a5c) 12%,transparent)}.admin-search-field svg{flex:none;color:#667085}.admin-search-field input{flex:1 1 auto;min-width:0;height:100%;color:var(--text, #101828);background:transparent;border:0;outline:0;font:inherit;font-size:13.5px}.admin-search-count{flex:none;color:var(--green, #1f8a5c);font-size:11.5px;font-weight:700;white-space:nowrap}.admin-filter-chip{flex:none;height:38px;padding:0 12px;color:#475467;background:#fff;border:1px solid #d0d5dd;border-radius:10px;font:inherit;font-size:12.5px;font-weight:600;white-space:nowrap;cursor:pointer}.admin-filter-chip.is-on{color:var(--green, #1f8a5c);border-color:var(--green, #1f8a5c);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--green, #1f8a5c) 30%,transparent)}.admin-menu-head strong{font-size:20px!important;font-weight:800;letter-spacing:-.02em;background:linear-gradient(90deg,var(--text, #101828),color-mix(in srgb,var(--green, #1f8a5c) 70%,var(--text, #101828)));-webkit-background-clip:text;background-clip:text;color:transparent}.admin-menu-head{gap:4px;padding-bottom:12px}@media(max-width:650px){.admin-section-head{flex-wrap:wrap}.admin-section-search{flex:1 1 100%}.admin-search-field input{font-size:16px}}@media(min-width:651px){.admin-menu{top:74px!important}}.bento-grid{gap:8px;margin-top:8px}.bento-card{padding:10px 12px 12px;border-radius:14px}.bento-head{min-height:26px;margin-bottom:8px}.bento-summary{gap:6px}.bento-stat{padding:8px 10px}@media(max-width:650px){.bento-grid{gap:8px;margin-top:8px}.bento-card{padding:9px 10px 10px}}.bento-w-forecast .bento-body{flex:0 0 auto;max-height:340px;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin}.bento-w-forecast .bento-forecast li{min-height:32px;padding:3px 10px}.bento-w-alerts:not(.is-scroll) .bento-body{flex:0 0 auto;max-height:300px;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin}.overview-no-alerts.is-quiet{display:flex;align-items:center;gap:10px;margin:0;padding:6px 2px;color:var(--text-2, #344054);background:none!important;border:0;border-radius:0;font-size:12.5px;font-weight:600}.overview-no-alerts.is-quiet>i{display:grid;flex:none;place-items:center;width:24px;height:24px;color:var(--green, #1f8a5c);background:color-mix(in srgb,var(--green, #1f8a5c) 10%,transparent);border:1px solid color-mix(in srgb,var(--green, #1f8a5c) 28%,transparent);border-radius:50%;font-style:normal}.overview-no-alerts.is-quiet>span{min-width:0;color:var(--muted, #667085);font-weight:500}.bento-w-alerts .overview-no-alerts.is-quiet{margin:auto 0}.bento-w-timeline .bento-body{flex:1 1 auto;height:auto;min-height:0;overflow:hidden}.bento-w-timeline .bento-timeline{gap:0}.bento-w-timeline .bento-timeline li{padding:4px}.weather-backdrop{width:300px;max-height:210px;opacity:.7}.weather-backdrop:is(.is-sun,.is-sun-cloud) .wb-glow{top:-130px;right:-100px;width:320px;height:320px}.weather-backdrop:is(.is-sun,.is-sun-cloud) .wb-rays{top:-220px;right:-220px;width:500px;height:500px}.weather-backdrop:is(.is-night,.is-night-cloud) .wb-glow{top:-85px;right:-30px;width:200px;height:200px}.weather-backdrop .wb-cloud{height:60px;animation-name:wb-drift-wide}.weather-backdrop .wb-c1{top:-18px;left:-40%;width:160px}.weather-backdrop .wb-c2{top:36px;left:-70%;width:130px}.weather-backdrop .wb-c3{top:0;left:-100%;width:190px}@keyframes wb-drift-wide{0%{transform:translate(0)}to{transform:translate(620px)}}.topbar-tools .notification-button,.notification-button{border-radius:12px;transition:color .15s,background-color .15s,border-color .15s,box-shadow .15s}.notification-button:hover{color:var(--text, #101828)}.notification-button>i{top:-6px;right:-7px;display:grid;place-items:center;box-sizing:border-box;width:auto;min-width:19px;height:19px;padding:0 5px;color:#fff;background:linear-gradient(180deg,#f0645a,#d23f2f);border:2px solid var(--surface, #fff);border-radius:999px;box-shadow:0 2px 6px #d23f2f59;font-size:10.5px;font-weight:800;font-style:normal;line-height:1;font-variant-numeric:tabular-nums;letter-spacing:-.02em}.notification-button.is-ringing{color:#d23f2f;background:color-mix(in srgb,#d23f2f 8%,var(--surface, #fff));border-color:color-mix(in srgb,#d23f2f 30%,transparent)}.notification-button.is-open{color:var(--green, #1f8a5c);background:color-mix(in srgb,var(--green, #1f8a5c) 8%,var(--surface, #fff));border-color:color-mix(in srgb,var(--green, #1f8a5c) 40%,transparent);box-shadow:0 0 0 3px color-mix(in srgb,var(--green, #1f8a5c) 14%,transparent)}.notification-button.is-muted>i{background:var(--muted, #8a968f);box-shadow:none}.theme-dark .notification-button>i{border-color:var(--surface, #172033)}.alert-popover{width:min(420px,calc(100vw - 24px));border-radius:16px;box-shadow:0 2px 6px #1018280f,0 24px 56px #1018282e}.alert-popover.is-forced{border-color:color-mix(in srgb,#d23f2f 40%,var(--line));box-shadow:0 0 0 3px color-mix(in srgb,#d23f2f 12%,transparent),0 24px 56px #10182838}.alert-popover:before{right:20px}.alert-popover-head{align-items:center;gap:12px;padding:14px 14px 12px 16px;background:none!important}.alert-popover-badge{display:grid;flex:none;place-items:center;width:38px;height:38px;border-radius:12px;color:#b7740a;background:color-mix(in srgb,#d98a0b 14%,transparent)}.alert-popover-badge.is-high{color:#d23f2f;background:color-mix(in srgb,#d23f2f 12%,transparent)}.alert-popover-badge.is-clear{color:var(--green, #1f8a5c);background:color-mix(in srgb,var(--green, #1f8a5c) 12%,transparent)}.alert-popover-heading{display:grid;flex:1 1 auto;gap:1px;min-width:0}.alert-popover-head h2{margin:0;font-size:15.5px;font-weight:800;letter-spacing:-.015em}.alert-popover-sub{color:var(--muted, #667085);font-size:12px;font-weight:500}.alert-popover.is-forced .alert-popover-sub{color:#d23f2f;font-weight:700}.alert-popover-head .modal-close{flex:none;width:30px;height:30px;border-radius:9px}.alert-mute{gap:6px 8px;padding:7px 16px;background:var(--surface-soft, #f7f9fc)}.alert-mute .plain-link{color:var(--muted, #667085);font-weight:600}.alert-mute .plain-link:hover{color:var(--text, #101828)}.alert-mute .button-secondary{min-height:26px;padding:0 10px;border-radius:999px;font-size:11.5px}.alert-popover-list{gap:6px;padding:10px}.alert-popover-item{position:relative;display:grid;grid-template-columns:32px minmax(0,1fr);align-items:start;gap:10px;padding:10px 12px 10px 10px;background:var(--surface, #fff);border:1px solid var(--line, #e6eaf0);border-left:1px solid var(--line, #e6eaf0);border-radius:12px;transition:border-color .15s,box-shadow .15s}.alert-popover-item:hover{border-color:color-mix(in srgb,var(--muted, #667085) 35%,transparent);box-shadow:0 4px 14px #10182812}.alert-popover-item.is-new{box-shadow:none;background:color-mix(in srgb,#d98a0b 4%,var(--surface, #fff))}.alert-popover-item.level-high.is-new{background:color-mix(in srgb,#d23f2f 4%,var(--surface, #fff))}.alert-popover-item.is-new:after{content:"";position:absolute;top:12px;right:10px;width:7px;height:7px;background:#d23f2f;border-radius:50%}.alert-popover-item.is-new .alert-popover-top time{margin-right:12px}.alert-popover-icon{display:grid;place-items:center;width:32px;height:32px;color:#b7740a;background:color-mix(in srgb,#d98a0b 13%,transparent);border-radius:10px}.alert-popover-item.level-high .alert-popover-icon{color:#d23f2f;background:color-mix(in srgb,#d23f2f 11%,transparent)}.alert-popover-item.level-low .alert-popover-icon{color:#2f6fb7;background:color-mix(in srgb,#2f6fb7 11%,transparent)}.alert-popover-item:is(.level-superseded,.is-cleared) .alert-popover-icon{color:var(--green, #1f8a5c);background:color-mix(in srgb,var(--green, #1f8a5c) 11%,transparent)}.alert-popover-body{display:grid;gap:3px;min-width:0}.alert-popover-top{display:flex;align-items:baseline;gap:8px;min-width:0}.alert-popover-top strong{flex:1 1 auto;min-width:0;color:var(--text, #101828);font-size:13px;font-weight:700;line-height:1.35}.alert-popover-top time{flex:none;color:var(--muted, #667085);font-size:11px;white-space:nowrap}.alert-popover-body .alert-popover-place{color:var(--muted, #667085);font-size:11.5px}.alert-popover-body .alert-popover-place>b{color:var(--text-2, #344054);font-weight:600}.alert-popover-body p{display:-webkit-box;margin:1px 0 0;overflow:hidden;color:var(--text-2, #475467);font-size:12px;line-height:1.45;-webkit-box-orient:vertical;-webkit-line-clamp:2}.alert-popover-body small{color:var(--green, #1f8a5c);font-size:11px;font-weight:600}.alert-popover-actions{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:4px}.alert-popover-actions .alert-level{margin:0}.alert-popover-ack{display:inline-flex;align-items:center;gap:5px;min-height:26px;padding:0 10px;color:var(--green, #1f8a5c);background:color-mix(in srgb,var(--green, #1f8a5c) 8%,transparent);border:1px solid color-mix(in srgb,var(--green, #1f8a5c) 30%,transparent);border-radius:999px;font:inherit;font-size:11.5px;font-weight:700;cursor:pointer;transition:background-color .15s,color .15s}.alert-popover-ack:hover:not(:disabled){color:#fff;background:var(--green, #1f8a5c)}.alert-popover-ack:disabled{opacity:.5;cursor:default}.alert-popover-empty{display:grid;justify-items:center;gap:4px;margin:0;padding:26px 16px 24px;color:var(--muted, #667085);text-align:center}.alert-popover-empty>span{display:grid;place-items:center;width:44px;height:44px;margin-bottom:4px;color:var(--green, #1f8a5c);background:color-mix(in srgb,var(--green, #1f8a5c) 11%,transparent);border-radius:50%}.alert-popover-empty strong{color:var(--text, #101828);font-size:13.5px}.alert-popover-empty small{font-size:12px}.alert-popover-foot{padding:10px 14px 10px 16px}.alert-popover-foot .plain-link{color:var(--green, #1f8a5c);font-weight:700}.alert-popover-foot .button-primary{min-height:32px;padding:0 12px;border-radius:10px;font-size:12px}.theme-dark .alert-popover-item{background:#ffffff08}.theme-dark .alert-popover-item.is-new{background:#d98a0b14}.theme-dark .alert-popover-item.level-high.is-new{background:#d23f2f1a}.theme-dark .alert-mute{background:#ffffff08}.hero-status{padding:0 12px 12px}.hero-status .bento-summary.is-compact{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.hero-status .bento-summary.is-compact>.bento-stat:first-child:nth-last-child(odd){grid-column:1 / -1}.hero-status .bento-stat{grid-template-columns:28px minmax(0,1fr);column-gap:8px;padding:6px 8px;border-radius:10px}.hero-status .bento-stat.has-ring{grid-template-columns:30px minmax(0,1fr)}.hero-status .bento-stat>i{width:28px;height:28px;border-radius:8px}.hero-status .bento-stat>i svg{width:14px;height:14px}.hero-status .bento-stat>i.bento-stat-ring,.hero-status .bento-mini-ring,.hero-status .bento-pulse{width:30px!important;height:30px!important}.hero-status .bento-mini-ring text{font-size:11px}.hero-status .bento-stat>span{font-size:10.5px}.hero-status .bento-stat>strong{font-size:14px;line-height:1.25}.hero-status .bento-stat[class*=is-pulse-]>strong{font-size:13.5px!important}.hero-status .bento-stat>small{font-size:10.5px}@media(max-width:650px){.bento-hero:has(.hero-status) .station-hero.page-heading{padding-bottom:10px}}.page-content{width:min(100%,1800px)}.page-content:has(.bento-grid){width:100%;max-width:none}@media screen{.page-content{padding-right:8px!important;padding-left:8px!important}}.topbar-tools .theme-toggle{border-radius:12px;color:var(--muted, #667085);transition:color .15s,background-color .15s,border-color .15s}.topbar-tools .theme-toggle:hover{color:#6d5bd0}.theme-dark .topbar-tools .theme-toggle{color:#f5b82e}.theme-dark .topbar-tools .theme-toggle:hover{color:#ffd166}.topbar-tools .theme-toggle>svg{transition:transform .35s ease}.topbar-tools .theme-toggle:active>svg{transform:rotate(-30deg) scale(.9)}@media(min-width:651px){[data-layout~=studio] .app:not(.theme-dark) .topbar .theme-toggle{background:#ffffffc7!important;border-color:#0f172a12!important;box-shadow:0 1px 2px #0f172a0d!important}}.license-credits{margin-top:16px;padding-top:12px;border-top:1px solid var(--line, #e6eaf0)}.license-credits h3{margin:0 0 6px;color:var(--text-2, #344054);font-size:13px;font-weight:700}.license-credits ul{display:grid;gap:4px;margin:0;padding:0;list-style:none;color:var(--muted, #667085);font-size:12px}.license-credits b{color:var(--text-2, #344054);font-weight:600}.license-credits a{color:inherit;text-decoration:underline;text-decoration-color:color-mix(in srgb,currentColor 40%,transparent)}.alert-tally{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;margin-bottom:10px;padding:0!important;overflow:hidden}.alert-tally-item{--tone: #d98b12;position:relative;display:grid;grid-template-columns:auto minmax(0,1fr);grid-template-rows:auto auto;align-items:center;column-gap:10px;min-width:0;padding:12px 16px;color:inherit;background:none;border:0;border-radius:0;font:inherit;text-align:left;cursor:pointer;transition:background-color .15s}.alert-tally-item+.alert-tally-item{border-left:1px solid var(--line, #e6eaf0)}.alert-tally-item.is-urgent{--tone: var(--red, #d23f2f)}.alert-tally-item.is-resolved{--tone: #2fa771}.alert-tally-item>i{grid-row:1 / 3;width:4px;height:100%;min-height:34px;background:var(--tone);border-radius:4px;opacity:.85}.alert-tally-item .alert-tally-label{overflow:hidden;color:var(--muted, #667085);font-size:10.5px;font-weight:800;letter-spacing:.06em;text-overflow:ellipsis;white-space:nowrap}.alert-tally-item>strong{grid-column:2;color:var(--tone);font-size:22px;font-weight:800;line-height:1.15;font-variant-numeric:tabular-nums}.alert-tally-item>small{display:none}.alert-tally-item:hover{background:color-mix(in srgb,var(--tone) 5%,transparent)}.alert-tally-item.is-active{background:color-mix(in srgb,var(--tone) 10%,transparent);box-shadow:inset 0 -3px 0 var(--tone)}.alert-tally-item:focus-visible{outline:2px solid var(--green, #1f8a5c);outline-offset:-2px}@media(max-width:650px){.alert-tally{grid-template-columns:repeat(2,minmax(0,1fr))}.alert-tally-item{padding:9px 10px;column-gap:8px}.alert-tally-item:nth-child(3){border-left:0}.alert-tally-item:nth-child(n+3){border-top:1px solid var(--line, #e6eaf0)}.alert-tally-item>strong{font-size:19px}}.alert-info>strong{display:flex;align-items:baseline;gap:6px;min-width:0;white-space:nowrap}.alert-info>strong>.marquee{display:block;flex:0 1 auto;min-width:0}.alert-info>strong>.alert-superseded-tag{flex:none}.alert-info>.alert-place{display:block;overflow:hidden;white-space:nowrap}.alert-info>.alert-place>.marquee{display:block}.alert-place .marquee-inner>span+span:before{content:"›";margin:0 6px;color:var(--muted);font-weight:400}.alert-place .marquee-inner>.is-station{color:var(--green-dark)}.theme-dark .alert-place .marquee-inner>.is-station{color:#9fdcbc}@media(max-width:650px){.alert-info .marquee,.alert-info .marquee-inner{white-space:nowrap!important}.alert-info .marquee{overflow:hidden!important}.alert-info .marquee-inner{animation:revert!important;transform:revert!important}.overview-alerts .alert-info .marquee,.overview-alerts .alert-info .marquee-inner{white-space:nowrap!important}}.page-heading.report-heading>div{min-width:0}.page-heading .report-heading-context{flex-wrap:nowrap;min-width:0}.report-heading-context>.marquee{display:block;max-width:100%}.report-card-toolbar>.report-card-heading{flex:1 1 260px;min-width:0}.report-card-toolbar h2{display:flex;align-items:center;gap:8px;min-width:0;margin:0;white-space:nowrap}.report-card-toolbar h2>.marquee{display:block;flex:0 1 auto;min-width:0}.report-card-toolbar h2>.count-pill{flex:none;padding:1px 8px;font-size:11px;font-weight:600;line-height:1.5}.report-card-hint{display:inline-grid;flex:none;place-items:center;width:18px;height:18px;color:var(--muted, #667085);border-radius:50%;font-size:13px;font-weight:400;cursor:help}.report-card-hint:hover,.report-card-hint:focus-visible{color:var(--green, #1f8a5c);background:color-mix(in srgb,var(--green, #1f8a5c) 10%,transparent);outline:none}.report-card-toolbar .report-card-description{max-width:none;margin-top:2px;overflow:hidden;font-size:11.5px;white-space:nowrap}.report-card-toolbar .report-card-description>.marquee{display:block}@media(max-width:650px){.report-control.is-open{box-shadow:0 6px 20px #10182814}.report-control.is-open .report-filter-summary{background:color-mix(in srgb,var(--green, #1f8a5c) 6%,var(--surface, #fff));border-color:color-mix(in srgb,var(--green, #1f8a5c) 28%,var(--line))}.report-control .report-filter-fields{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px 8px;align-items:end}.report-control .report-filter-fields>.config-field{max-width:none;margin:0}.report-control .report-filter-fields>.config-field:first-child{grid-column:1 / -1}.report-control .report-filter-fields.is-station-only{display:block}.report-control .report-filter-fields>.config-field>span{font-size:11.5px;font-weight:600;color:var(--muted, #667085)}.report-control .report-filter-fields :is(input,select){width:100%;min-width:0;height:40px;border-radius:10px;font-size:13px}.report-control .report-presets{display:grid;grid-column:1 / -1;grid-template-columns:minmax(0,1fr);gap:8px;margin:0;padding:0!important}.report-control .report-presets>.segmented-control{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);width:100%}.report-control .report-presets>.segmented-control button{padding:0 4px!important;font-size:12.5px!important}.report-control .report-presets>.report-search{justify-content:center;width:100%;height:40px;border-radius:10px}.report-control .report-metric-chips{flex-wrap:nowrap;margin-top:10px;padding-top:10px;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}.report-control .report-metric-chips::-webkit-scrollbar{display:none}.report-control .report-metric-chips>button{flex:none}}@media(max-width:650px){.bento-card.is-scroll:not(.bento-w-matrix) .bento-body,.bento-w-timeline .bento-body,.bento-w-alerts:not(.is-scroll) .bento-body,.bento-w-forecast .bento-body{flex:0 0 auto!important;height:auto!important;min-height:0!important;max-height:none!important;overflow:visible!important;overscroll-behavior:auto!important}.table-scroll,.sw-list{overscroll-behavior-y:auto}}.sw-search{flex:none!important}@media(max-width:650px){.sw-search{height:44px!important}.sw-head h2{font-size:16px}}@media(min-width:651px){.station-switcher{--sw-shift: -29px}}@media(max-width:650px){.station-switcher{margin-left:-8px}}.trend-panel>.card-heading{align-items:center;gap:10px}.trend-panel>.card-heading>div:first-child{flex:1 1 auto;min-width:0}.trend-panel>.card-heading h2{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.trend-heading-side{display:flex;flex:none;align-items:center;gap:10px}.trend-heading-side .heading-note{margin:0;color:var(--muted, #667085);font-size:12px;font-weight:500;white-space:nowrap}.trend-stats dd .trend-stat-unit{margin-left:4px;color:var(--muted, #667085);font-size:.72em;font-weight:600}.trend-stats dd.is-bad .trend-stat-unit{color:inherit;opacity:.75}@media(max-width:650px){.trend-panel>.card-heading{flex-wrap:wrap}.trend-heading-side{display:contents}.trend-heading-side .heading-note{align-self:center}.trend-heading-side .segmented-control{flex:1 1 100%}}@media(max-width:760px){.topbar-tools .theme-toggle{display:inline-grid!important;flex:none;place-items:center;width:34px;height:34px;padding:0}.topbar-tools .theme-toggle>svg{width:17px;height:17px}}@media(max-width:380px){.topbar-tools{gap:6px!important}.topbar-tools .theme-toggle,.topbar-tools .notification-button{width:32px;height:32px}}@media(max-width:650px){.topbar{gap:6px!important;padding-left:10px!important;padding-right:10px!important}.topbar-actions,.topbar-tools{gap:6px!important}.topbar-tools .user-menu>button,.topbar-tools .user-menu .avatar{width:34px!important;height:34px!important;min-width:34px}.sw-button{gap:6px;padding-right:3px}.sw-text strong{font-size:13.5px;letter-spacing:-.01em}.sw-caret{width:24px!important;height:24px!important}}.station-map-wrap{position:relative}.station-map-card:is(.is-expanded,:fullscreen) .station-map-wrap{display:flex;flex:1 1 auto;flex-direction:column;min-height:0}.map-corner-button{display:none}@media(max-width:650px){.station-map-card .list-toolbar>.map-fullscreen-button{display:none!important}.map-corner-button{position:absolute;top:10px;right:10px;z-index:500;display:grid;place-items:center;width:36px;height:36px;padding:0;color:var(--text, #101828);background:#fffffff0;border:1px solid rgba(15,23,42,.12);border-radius:10px;box-shadow:0 2px 8px #10182829;cursor:pointer}.map-corner-button:active{transform:scale(.94)}.theme-dark .map-corner-button{color:#e6edf3;background:#172033eb;border-color:#ffffff24}}.admin-menu-trigger{width:100%;height:54px!important;gap:10px;padding:0 12px 0 8px!important;text-align:left;font:inherit;cursor:pointer}.admin-menu-trigger>i{display:grid;flex:none;place-items:center;width:38px;height:38px;color:#fff;background:linear-gradient(145deg,color-mix(in srgb,var(--green, #1f8a5c) 75%,#fff),var(--green, #1f8a5c));border-radius:11px}.admin-menu-trigger>span{display:grid;flex:1 1 auto;min-width:0;line-height:1.2}.admin-menu-trigger>span small{color:var(--muted, #667085);font-size:11px;font-weight:600}.admin-menu-trigger>span strong{overflow:hidden;color:var(--text, #101828);font-size:15px;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.admin-menu-trigger>svg:last-child{flex:none;color:var(--muted, #667085)}.admin-sheet-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;display:flex;align-items:flex-end;background:#0a191261;animation:app-fade .18s ease-out}.admin-sheet{display:flex;flex-direction:column;width:100%;max-height:86vh;padding:6px 12px calc(12px + env(safe-area-inset-bottom));color:var(--text, #101828);background:var(--surface, #fff);border-radius:22px 22px 0 0;box-shadow:0 -10px 40px #0003;animation:sw-up .24s cubic-bezier(.2,.8,.2,1)}.admin-sheet-grip{align-self:center;width:40px;height:4px;margin:4px 0 8px;background:var(--line, #e3e8ee);border-radius:999px}.admin-sheet>header{display:flex;align-items:center;justify-content:space-between;margin:0 4px 6px}.admin-sheet>header h2{margin:0;font-size:16px;font-weight:800}.admin-sheet-list{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain}.admin-sheet-group>p{margin:10px 6px 4px;color:var(--muted, #667085);font-size:10.5px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.admin-sheet-item{display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:10px;width:100%;margin-bottom:4px;padding:8px 10px;color:inherit;background:var(--surface-soft, #f7f9fc);border:1px solid transparent;border-radius:12px;font:inherit;text-align:left;cursor:pointer}.admin-sheet-item>i{display:grid;place-items:center;width:34px;height:34px;color:var(--green, #1f8a5c);background:color-mix(in srgb,var(--green, #1f8a5c) 10%,transparent);border-radius:10px}.admin-sheet-item>span{display:grid;min-width:0;line-height:1.25}.admin-sheet-item strong{font-size:14px;font-weight:700}.admin-sheet-item small{overflow:hidden;color:var(--muted, #667085);font-size:11.5px;text-overflow:ellipsis;white-space:nowrap}.admin-sheet-item>svg{color:var(--green, #1f8a5c)}.admin-sheet-item.is-active{border-color:color-mix(in srgb,var(--green, #1f8a5c) 50%,transparent);background:color-mix(in srgb,var(--green, #1f8a5c) 7%,var(--surface, #fff))}.theme-dark .admin-sheet-item{background:#ffffff0a}@media(max-width:650px){html.is-search-focus .page-content{padding-bottom:70vh!important}.admin-section-head .admin-section-search{flex:1 1 100%}.admin-section-head .admin-search-field input{font-size:16px}}.license-credits.is-short{margin:14px 0 0;padding-top:10px;color:var(--muted, #667085);font-size:11.5px}.camera-clip-notice{margin:6px 0 0;padding:6px 10px;color:#1d6b48;background:color-mix(in srgb,var(--green, #1f8a5c) 9%,transparent);border-radius:8px;font-size:12px}.theme-dark .camera-clip-notice{color:#9fdcbc}@media(max-width:650px){.bento-hero{position:relative;overflow:hidden;isolation:isolate}.bento-hero>.weather-backdrop{width:220px;max-height:150px;opacity:.6}.bento-hero>:not(.weather-backdrop){position:relative;z-index:1}.bento-hero>.station-hero{background:transparent!important;box-shadow:none!important}}.ftp-ip-panel{display:grid;gap:10px;margin-top:14px;padding:12px 14px;background:var(--surface-soft, #f7f9fc);border:1px solid var(--line, #e6eaf0);border-radius:12px}.ftp-ip-panel h3{display:flex;align-items:center;gap:6px;margin:0;font-size:14px;font-weight:800}.ftp-ip-panel .report-card-description{margin:0}.ftp-ip-form{display:flex;flex-wrap:wrap;align-items:flex-end;gap:8px}.ftp-ip-form .config-field{flex:1 1 260px;margin:0}.ftp-ip-pending{display:grid;gap:6px;margin:0;padding:0;list-style:none}.ftp-ip-pending li{display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px;padding:8px 10px;color:#a1281b;background:color-mix(in srgb,#d23f2f 7%,var(--surface, #fff));border:1px solid color-mix(in srgb,#d23f2f 30%,transparent);border-radius:10px}.ftp-ip-pending li>span{display:grid;flex:1 1 200px;min-width:0}.ftp-ip-pending li strong{font-size:13px}.ftp-ip-pending li small{color:var(--muted, #667085);font-size:11.5px}.ftp-ip-flag{display:inline-flex;align-items:center;gap:4px;padding:2px 9px;color:#b42318;background:color-mix(in srgb,#d23f2f 9%,transparent);border:1px solid color-mix(in srgb,#d23f2f 30%,transparent);border-radius:999px;font:inherit;font-size:11.5px;font-weight:700;cursor:pointer}.theme-dark .ftp-ip-pending li{color:#ffb4a8}.acme-panel{display:grid;gap:10px;margin-top:4px}.acme-panel .admin-inline-form{align-items:flex-end}.acme-panel .acme-port{flex:0 0 170px}.acme-needs li{font-size:12.5px}.integration-modal{width:min(880px,calc(100vw - 24px))}.integration-form{display:grid;gap:12px}.integration-section{display:grid;gap:10px;margin:0;padding:12px 14px;background:var(--surface-soft, #f7f9fc);border:1px solid var(--line, #e6eaf0);border-radius:12px}.integration-section legend{display:flex;align-items:center;gap:6px;padding:0 6px;font-size:13.5px;font-weight:800}.integration-section .segmented-control{justify-self:start}.integration-section .admin-inline-form{display:flex;flex-wrap:wrap;gap:8px;align-items:flex-end}.integration-section .admin-inline-form>.config-field{flex:1 1 200px;margin:0}.integration-section .admin-inline-form>.integration-short,.integration-short{flex:0 1 130px!important;max-width:160px}.integration-section textarea{width:100%;font-family:ui-monospace,Consolas,monospace;font-size:12px}.integration-mapping{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:8px}.integration-mapping .config-field{margin:0}.integration-pull-state{font-size:12px}.integration-pull-state.is-ok{color:var(--green, #1f8a5c)}.integration-pull-state.is-bad{color:var(--red, #d23f2f)}.integration-preview{display:grid;gap:6px;padding:10px 12px;background:var(--surface, #fff);border:1px dashed var(--line, #e6eaf0);border-radius:10px;font-size:12.5px}.integration-preview ul{margin:0;padding-left:18px}.integration-preview pre,.api-doc{max-height:220px;margin:6px 0 0;padding:10px;overflow:auto;color:var(--text-2, #344054);background:var(--surface-soft, #f7f9fc);border-radius:8px;font-size:11.5px;white-space:pre-wrap;word-break:break-all}.api-doc{max-height:none;font-size:12px}.integration-keys{display:grid;gap:4px;margin:0;padding:0;list-style:none;font-size:12.5px}.integration-keys li{display:flex;flex-wrap:wrap;gap:4px 10px}.integration-keys li span{color:var(--muted, #667085)}.integration-keys li.is-off{opacity:.55}.integration-log{display:grid;gap:2px;margin:0;padding:0;list-style:none}.integration-log li{display:grid;grid-template-columns:120px 130px minmax(0,1fr);gap:8px;padding:5px 4px;border-bottom:1px solid var(--line, #eef1f5);font-size:12px}.integration-log li time{color:var(--muted, #667085)}.integration-log li.is-failed strong,.integration-log li.is-failed span{color:var(--red, #d23f2f)}@media(max-width:650px){.integration-log li{grid-template-columns:1fr;gap:0}}.sampler-button{color:#6d3fc0!important}.sampler-modal{width:min(680px,calc(100vw - 24px))}.sampler-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-bottom:10px}.sampler-stats>div{display:grid;gap:2px;min-width:0;padding:10px 12px;background:var(--surface-soft, #f7f9fc);border:1px solid var(--line, #e6eaf0);border-radius:12px}.sampler-stats span{color:var(--muted, #667085);font-size:11.5px;font-weight:600}.sampler-stats strong{font-size:18px;font-weight:800;font-variant-numeric:tabular-nums}.sampler-stats small{min-width:0;color:var(--muted, #667085);font-size:11px}.sampler-stats .is-bad strong,.sampler-stats .is-bad small{color:var(--red, #d23f2f)}.sampler-bottles{display:grid;grid-template-columns:repeat(auto-fill,minmax(34px,1fr));gap:6px;margin-bottom:10px}.sampler-bottles i{display:grid;place-items:center;height:40px;color:var(--muted, #667085);background:var(--surface, #fff);border:1.5px solid var(--line, #dfe5ec);border-radius:8px 8px 12px 12px;font-size:11.5px;font-style:normal;font-weight:700}.sampler-bottles i.is-used{color:#fff;background:linear-gradient(180deg,#8fb4d9,#4f7fb3);border-color:transparent}.sampler-bottles i.is-next{color:var(--green, #1f8a5c);border-color:var(--green, #1f8a5c);box-shadow:0 0 0 3px color-mix(in srgb,var(--green, #1f8a5c) 15%,transparent)}.sampler-actions{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px}.sampler-actions input{flex:1 1 220px;min-width:0;height:38px;padding:0 12px;border:1px solid var(--line, #dfe5ec);border-radius:10px;font:inherit}.sampler-auto{display:flex;flex-wrap:wrap;align-items:flex-end;gap:8px;margin-bottom:10px;padding:10px 12px;background:var(--surface-soft, #f7f9fc);border-radius:12px}.sampler-auto .report-checkbox{flex:1 1 100%}.sampler-auto .config-field{flex:0 1 110px;margin:0}@media(max-width:650px){.sampler-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}.api-keys-tools{display:flex;flex-wrap:wrap;gap:8px}.api-doc-wrap{display:grid;gap:8px;justify-items:start;margin-bottom:14px}.api-doc-wrap .api-doc{width:100%;margin:0}.api-key-list{display:grid;gap:8px;margin:0;padding:0;list-style:none}.api-key-list>li{padding:12px 14px;background:var(--surface, #fff);border:1px solid var(--line, #e5ebe6);border-radius:12px;transition:border-color .2s,box-shadow .2s}.api-key-list>li:hover{border-color:color-mix(in srgb,var(--green, #1f8a5c) 30%,var(--line, #e5ebe6))}.api-key-list>li.is-fresh{border-color:var(--green, #1f8a5c);box-shadow:0 0 0 3px color-mix(in srgb,var(--green, #1f8a5c) 14%,transparent)}.api-key-list>li.is-muted{opacity:.62}.api-key-main{display:grid;grid-template-columns:auto minmax(150px,1.3fr) minmax(120px,1fr) minmax(140px,1fr) auto;align-items:center;gap:12px}.api-key-dot{width:9px;height:9px;border-radius:50%;background:var(--muted, #98a2b3)}.api-key-dot.is-on{background:var(--green, #1f8a5c);box-shadow:0 0 0 3px color-mix(in srgb,var(--green, #1f8a5c) 18%,transparent)}.api-key-name,.api-key-scope,.api-key-use{display:grid;min-width:0;gap:1px}.api-key-name strong{overflow:hidden;font-size:14px;text-overflow:ellipsis;white-space:nowrap}.api-key-main small{color:var(--muted, #667085);font-size:11px}.api-key-scope span,.api-key-use span{overflow:hidden;color:var(--text-2, #344054);font-size:12.5px;text-overflow:ellipsis;white-space:nowrap}.api-key-actions{display:flex;gap:4px}.api-key-actions .icon-button{width:32px;height:32px;background:transparent;border-radius:8px;font-size:18px;line-height:1}.api-key-actions .icon-button:hover{color:var(--green, #1f8a5c);background:var(--surface-soft, #f6f9f7)}.api-key-actions .icon-button.is-danger:hover{color:#c7362a;background:var(--red-soft, #fdecea)}.api-key-secret{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:10px 0 0 21px}.api-key-secret code{flex:0 1 auto;min-width:0;padding:5px 10px;color:var(--text, #1d2c24);background:var(--surface-soft, #f6f9f7);border-radius:8px;font-size:12.5px;word-break:break-all}.api-key-secret code.is-masked{color:var(--muted, #667085);letter-spacing:.5px}.api-key-secret small{color:var(--muted, #667085);font-size:11.5px}.api-key-secret small svg{vertical-align:-2px}.button-secondary.api-copy{min-height:30px;height:30px;padding:0 10px;font-size:12px}.api-key-note{margin:8px 0 0 21px;color:var(--green, #1f8a5c);font-size:12px}.api-key-note svg{vertical-align:-2px}.api-keys-empty{display:grid;justify-items:center;gap:10px;padding:26px 12px;color:var(--muted, #667085);text-align:center}.api-keys-empty p{max-width:440px;margin:0;font-size:13px}.api-key-dialog{display:grid;gap:14px;width:min(100%,560px)}.api-key-dialog .config-field{margin:0}.api-scope{display:grid;grid-template-columns:1fr 1fr;gap:8px}.api-scope label{display:flex;align-items:flex-start;gap:8px;padding:10px 12px;border:1px solid var(--line, #e5ebe6);border-radius:10px;cursor:pointer}.api-scope label.is-selected{border-color:var(--green, #1f8a5c);background:color-mix(in srgb,var(--green, #1f8a5c) 7%,var(--surface, #fff))}.api-scope input{margin-top:3px;accent-color:var(--green, #1f8a5c)}.api-scope span{display:grid;gap:1px}.api-scope strong{font-size:13px}.api-scope small{color:var(--muted, #667085);font-size:11.5px}.station-checklist{overflow:hidden;border:1px solid var(--line, #e5ebe6);border-radius:10px}.station-checklist-search{display:flex;align-items:center;gap:8px;padding:0 10px;color:var(--muted, #667085);border-bottom:1px solid var(--line, #e5ebe6)}.station-checklist-search input{flex:1;min-width:0;height:38px;padding:0;color:var(--text, #1d2c24);background:transparent;border:0;outline:none;font-size:13px}.station-checklist-bar{display:flex;justify-content:space-between;gap:8px;padding:6px 12px;background:var(--surface-soft, #f6f9f7);font-size:12px}.station-checklist ul{max-height:260px;margin:0;padding:4px;overflow-y:auto;list-style:none}.station-checklist li label{display:flex;align-items:center;gap:10px;padding:7px 8px;border-radius:8px;cursor:pointer}.station-checklist li label:hover{background:var(--surface-soft, #f6f9f7)}.station-checklist li label.is-on{background:color-mix(in srgb,var(--green, #1f8a5c) 9%,transparent)}.station-checklist li input{width:15px;height:15px;margin:0;accent-color:var(--green, #1f8a5c)}.station-checklist li span{display:grid;min-width:0}.station-checklist li strong{overflow:hidden;font-size:13px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.station-checklist li small{color:var(--muted, #667085);font-size:11px}.station-checklist-empty{padding:16px;color:var(--muted, #667085);font-size:12.5px;text-align:center}.modal-actions{display:flex;justify-content:flex-end;gap:8px}.config-secret-input.has-copy input{padding-right:92px}.config-reveal-button.is-copy{right:44px}@media(max-width:760px){.api-key-main{grid-template-columns:auto 1fr 1fr auto;row-gap:8px}.api-key-name{grid-column:2 / 4}.api-key-actions{grid-column:4;grid-row:1;align-self:start;gap:2px}.api-key-actions .icon-button{width:30px;height:30px}.api-key-name strong{white-space:normal}.api-key-scope,.api-key-use{display:flex;grid-column:2 / -1;align-items:baseline;gap:6px}.api-key-scope{grid-row:2}.api-key-use{grid-row:3;margin-top:-4px}.api-key-scope small,.api-key-use small{flex:none}.api-key-use span,.api-key-scope span{white-space:normal}.api-key-secret,.api-key-note{margin-left:0}.api-scope{grid-template-columns:1fr}.api-keys-tools{width:100%}.api-keys-tools>*{flex:1}}.table-sub{display:block;color:var(--muted, #667085);font-size:11px}tr.is-muted td{opacity:.55}.view-mode-backdrop{z-index:90}.view-mode-card{display:grid;gap:10px;width:min(560px,calc(100vw - 24px));padding:22px}.view-mode-card h2{margin:0;font-size:20px}.view-mode-options{display:grid;gap:10px}.view-mode-options button{display:grid;grid-template-columns:40px minmax(0,1fr);align-items:center;gap:12px;padding:14px;color:inherit;text-align:left;background:var(--surface-soft, #f7f9fc);border:1.5px solid var(--line, #dfe5ec);border-radius:14px;font:inherit;cursor:pointer}.view-mode-options button:hover{border-color:var(--green, #1f8a5c)}.view-mode-options button.is-primary{border-color:color-mix(in srgb,var(--green, #1f8a5c) 55%,transparent);background:color-mix(in srgb,var(--green, #1f8a5c) 6%,var(--surface, #fff))}.view-mode-options b{display:grid;place-items:center;width:40px;height:40px;color:#fff;background:var(--green, #1f8a5c);border-radius:12px;font-size:18px}.view-mode-options span{display:grid;gap:2px}.view-mode-options strong{font-size:15px}.view-mode-options small{color:var(--muted, #667085);font-size:12.5px;line-height:1.45}.supervise-card .list-toolbar{flex-wrap:wrap;gap:10px}.supervise-list{display:grid;gap:6px}.supervise-row{display:grid;grid-template-columns:30px minmax(160px,1.1fr) auto minmax(0,2fr) auto;align-items:center;gap:12px;padding:10px 12px;background:var(--surface, #fff);border:1px solid var(--line, #e6eaf0);border-left:4px solid #9aa69f;border-radius:12px}.supervise-row.attention-0,.supervise-row.attention-1{border-left-color:var(--red, #d23f2f)}.supervise-row.attention-2{border-left-color:#7c5cd6}.supervise-row.attention-3{border-left-color:#d98b12}.supervise-row.attention-4{border-left-color:#2fa771}.supervise-name{display:grid;min-width:0}.supervise-name strong{font-size:13.5px}.supervise-name small{color:var(--muted, #667085);font-size:11.5px}.supervise-metrics{min-width:0}.supervise-flags{display:flex;flex-wrap:wrap;gap:4px}.supervise-ok{display:inline-flex;align-items:center;gap:4px;color:var(--green, #1f8a5c);font-size:12.5px;font-weight:600}.supervise-none{color:var(--muted, #667085);font-size:12px}.supervise-sampler{display:inline-flex;align-items:center;gap:8px;font-size:12px;white-space:nowrap}.supervise-sampler>span{color:var(--muted, #667085)}.supervise-sampler>span.is-auto{color:#6d3fc0;font-weight:700}.supervise-selected{margin-top:10px}@media(max-width:900px){.supervise-row{grid-template-columns:30px minmax(0,1fr) auto}.supervise-metrics,.supervise-row>:last-child{grid-column:2 / -1}}.insecure-banner,.insecure-note{display:flex;align-items:center;gap:8px;margin:0;padding:8px 14px;color:#8a4b00;background:#fff4e0;border-bottom:1px solid #f3d29a;font-size:12.5px}.insecure-note{margin-bottom:12px;border:1px solid #f3d29a;border-radius:10px}.theme-dark .insecure-banner{color:#ffd38a;background:#3a2a10;border-color:#6b4b16}.source-mode{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))!important}.api-source .form-section-heading span{display:block;color:var(--muted, #667085);font-size:12px}.api-source-row{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1.2fr) auto;align-items:end;gap:8px}.api-source-row .config-field{margin:0}.api-discover{height:38px;padding:0 18px}.api-found{display:grid;gap:8px;margin-top:10px;padding:10px 12px;background:var(--surface-soft, #f7f9fc);border:1px solid var(--line, #e6eaf0);border-radius:12px}.api-found-how{display:flex;align-items:center;gap:6px;margin:0;color:var(--green, #1f8a5c);font-size:12.5px;font-weight:600}.api-remote-stations{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:6px;max-height:240px;overflow:auto}.api-remote-stations button{display:grid;gap:1px;padding:8px 10px;color:inherit;text-align:left;background:var(--surface, #fff);border:1.5px solid var(--line, #dfe5ec);border-radius:10px;font:inherit;cursor:pointer}.api-remote-stations button.is-selected{border-color:var(--green, #1f8a5c);box-shadow:0 0 0 3px color-mix(in srgb,var(--green, #1f8a5c) 12%,transparent)}.api-remote-stations strong{font-size:13px}.api-remote-stations small{color:var(--muted, #667085);font-size:11.5px}.api-found-metrics{display:flex;flex-wrap:wrap;align-items:center;gap:6px;font-size:12.5px}.api-found-metrics>span{flex:1 1 100%;color:var(--muted, #667085)}.api-found-metrics i{padding:3px 9px;font-style:normal;background:var(--surface, #fff);border:1px solid var(--line, #dfe5ec);border-radius:999px}.api-advanced{font-size:12.5px}.api-advanced>summary{color:var(--green, #1f8a5c);font-weight:600;cursor:pointer}.api-advanced[open]{display:grid;gap:8px}.api-mapping{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:8px;margin-top:8px}.api-mapping .config-field{margin:0}.api-sample{max-height:200px;margin:0;padding:8px 10px;overflow:auto;background:var(--surface, #fff);border-radius:8px;font-size:11.5px;white-space:pre-wrap;word-break:break-all}.sampler-kinds{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.sampler-kinds button{display:grid;gap:2px;padding:10px 12px;color:inherit;text-align:left;background:var(--surface-soft, #f7f9fc);border:1.5px solid var(--line, #dfe5ec);border-radius:12px;font:inherit;cursor:pointer}.sampler-kinds button.is-selected{background:color-mix(in srgb,var(--green, #1f8a5c) 6%,var(--surface, #fff));border-color:var(--green, #1f8a5c)}.sampler-kinds strong{font-size:13.5px}.sampler-kinds small{color:var(--muted, #667085);font-size:11.5px}.sampler-main{display:flex;flex-wrap:wrap;align-items:flex-end;gap:8px}.sampler-main .config-field{flex:1 1 180px;margin:0}.sampler-main .sampler-wide{flex:2 1 260px}.sampler-main .sampler-short{flex:0 1 130px}.sampler-probe{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;font-size:12.5px}.sampler-probe small{color:var(--muted, #667085)}.sampler-probe .is-ok{flex:1 1 100%;color:var(--green, #1f8a5c);font-weight:600}.sampler-probe .is-bad{flex:1 1 100%;color:var(--red, #d23f2f);font-weight:600}.sampler-auto-line>span{line-height:2.2}.sampler-auto-line input[type=number]{width:64px;height:30px;margin:0 4px;padding:0 6px;border:1px solid var(--line, #dfe5ec);border-radius:8px;font:inherit}details.hosted-events>summary{font-weight:700;cursor:pointer}@media(max-width:650px){.api-source-row,.sampler-kinds{grid-template-columns:1fr}}.api-auth-choice{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;margin-top:8px;font-size:12px}.api-auth-choice>span{color:var(--muted, #667085);font-weight:600}.api-auth-choice select{height:30px;padding:0 8px;border:1px solid var(--line, #dfe5ec);border-radius:8px;font:inherit}.api-auth-choice small{color:var(--muted, #667085)}.station-tabs{display:flex;flex-wrap:wrap;gap:4px;margin:0 0 14px;padding:4px;background:var(--surface-soft, #f2f5f9);border-radius:12px}.station-tabs button{position:relative;display:inline-flex;flex:1 1 auto;align-items:center;justify-content:center;gap:6px;min-height:36px;padding:0 12px;color:var(--muted, #667085);background:none;border:0;border-radius:9px;font:inherit;font-size:13px;font-weight:700;cursor:pointer}.station-tabs button.is-selected{color:var(--text, #101828);background:var(--surface, #fff);box-shadow:0 1px 3px #1018281a}.station-tab-dot{width:7px;height:7px;background:var(--green, #1f8a5c);border-radius:50%}.station-tab[hidden]{display:none!important}.station-form.tab-sampler .modal-footer>span,.station-form.tab-sampler .modal-footer button[type=submit]{display:none}.sampler-settings{display:grid;gap:12px}.sampler-block{display:grid;gap:10px;padding:12px 14px;background:var(--surface-soft, #f7f9fc);border:1px solid var(--line, #e6eaf0);border-radius:12px}.sampler-block>header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px 12px}.sampler-block>header strong{font-size:13.5px}.sampler-seen{color:var(--muted, #667085);font-size:12px}.sampler-seen.is-ok{color:var(--green, #1f8a5c);font-weight:600}.sampler-account{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;font-size:13px}.sampler-account>span{flex:1 1 260px}.sampler-sheet{margin:0}.sampler-delivery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.sampler-delivery label{display:flex;align-items:flex-start;gap:8px;padding:10px 12px;background:var(--surface, #fff);border:1.5px solid var(--line, #dfe5ec);border-radius:12px;cursor:pointer}.sampler-delivery label.is-selected{border-color:var(--green, #1f8a5c)}.sampler-delivery label span{display:grid;gap:2px}.sampler-delivery strong{font-size:13px}.sampler-delivery small{color:var(--muted, #667085);font-size:11.5px}.sampler-save{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:10px}.sampler-commands h3{margin:0 0 6px;font-size:13px}.sampler-commands ul{display:grid;gap:2px;margin:0 0 10px;padding:0;list-style:none}.sampler-commands li{display:grid;grid-template-columns:120px auto minmax(0,1fr);align-items:center;gap:10px;padding:5px 4px;border-bottom:1px solid var(--line, #eef1f5);font-size:12px}.sampler-commands time{color:var(--muted, #667085)}.sampler-command-status{padding:1px 8px;color:#8a5a00;background:#fff3dc;border-radius:999px;font-weight:700;white-space:nowrap}.sampler-command-status.is-ok{color:#1d6b48;background:color-mix(in srgb,var(--green, #1f8a5c) 12%,transparent)}.sampler-command-status.is-bad{color:#b42318;background:color-mix(in srgb,#d23f2f 11%,transparent)}.sampler-commands small{min-width:0;color:var(--muted, #667085)}.sampler-flag{display:inline-flex;align-items:center;gap:4px;padding:2px 9px;color:var(--muted, #667085);background:none;border:1px solid var(--line, #dfe5ec);border-radius:999px;font:inherit;font-size:11.5px;font-weight:700;cursor:pointer}.sampler-flag.is-on{color:#6d3fc0;border-color:color-mix(in srgb,#6d3fc0 35%,transparent)}@media(max-width:650px){.sampler-delivery{grid-template-columns:1fr}.sampler-commands li{grid-template-columns:1fr;gap:2px}}.control-summary{margin:2px 0 0;color:var(--muted, #667085);font-size:13px}.control-body{display:grid;gap:14px;margin-top:14px}.control-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px}.control-safety{display:flex;align-items:center;gap:8px;margin:0;padding:8px 12px;color:#8a5a00;background:var(--amber-soft, #fff5e5);border-radius:10px;font-size:12.5px}.theme-dark .control-safety{color:#f3c77a;background:#f3c77a1a}.control-active{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;padding:10px 14px;background:color-mix(in srgb,var(--green, #1f8a5c) 9%,var(--surface, #fff));border:1px solid color-mix(in srgb,var(--green, #1f8a5c) 30%,transparent);border-radius:12px;font-size:12.5px}.control-active strong{display:inline-flex;align-items:center;gap:6px;color:var(--green, #1f8a5c)}.control-active span{padding:2px 9px;background:var(--surface, #fff);border-radius:999px}.control-active span.is-dry{color:var(--muted, #667085)}.control-station{padding:16px 18px}.control-station>header{margin-bottom:10px}.control-station>header h2{margin:0;font-size:17px}.control-device+.control-device{margin-top:14px;padding-top:14px;border-top:1px dashed var(--line, #e5ebe6)}.control-device-name{display:flex;align-items:center;gap:7px;margin-bottom:10px;color:var(--text-2, #344054)}.control-device-name small{color:var(--muted, #667085)}.control-points{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px}.control-point{display:grid;gap:8px;padding:12px;background:var(--surface, #fff);border:1px solid var(--line, #e5ebe6);border-radius:12px}.control-point-head{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px}.control-point-head>div{display:grid;min-width:0}.control-point-head strong{overflow:hidden;font-size:14px;text-overflow:ellipsis;white-space:nowrap}.control-point-head small{color:var(--muted, #667085);font-size:11px}.control-lamp{width:14px;height:14px;border-radius:50%;background:#c3ccc6;box-shadow:inset 0 -2px 3px #00000026}.control-point.is-on .control-lamp{background:#22b26b;box-shadow:0 0 0 4px #22b26b2e,0 0 12px #22b26b99}.control-point.is-bad .control-lamp{background:#d9453a;box-shadow:0 0 0 4px #d9453a26}.control-point.is-on{border-color:color-mix(in srgb,#22b26b 45%,var(--line, #e5ebe6))}.control-point.is-bad{border-color:color-mix(in srgb,#d9453a 40%,var(--line, #e5ebe6))}.control-state{padding:2px 8px;color:var(--muted, #667085);background:var(--surface-soft, #f6f9f7);border-radius:6px;font-size:11px;font-weight:700;letter-spacing:.4px}.control-point.is-on .control-state{color:#fff;background:#22b26b}.control-point.is-bad .control-state{color:#fff;background:#d9453a}.control-point-meta{min-height:16px;margin:0;color:var(--muted, #667085);font-size:11.5px}.is-bad-text{color:#c7362a}.control-point-actions{display:grid;gap:6px}.control-row{display:flex;flex-wrap:wrap;align-items:center;gap:5px}.control-row button{flex:none}.control-row input{width:46px;height:32px;padding:0 6px;color:var(--text, #1d2c24);background:var(--surface, #fff);border:1px solid var(--line, #e5ebe6);border-radius:8px}.control-row input[aria-label="Giá trị ghi"]{flex:1;min-width:70px}.control-row small{color:var(--muted, #667085);font-size:11px}.control-point-actions button{height:32px;padding:0 12px;color:var(--text, #1d2c24);background:var(--surface-soft, #f6f9f7);border:1px solid var(--line, #e5ebe6);border-radius:8px;font-weight:600;font-size:12.5px;cursor:pointer}.control-point-actions .control-on:hover:not(:disabled){color:#fff;background:#22b26b;border-color:#22b26b}.control-point-actions .control-off:hover:not(:disabled){color:#fff;background:#55615b;border-color:#55615b}.control-point-actions button:disabled{opacity:.5;cursor:default}.control-empty{display:grid;justify-items:center;gap:8px;padding:36px 16px;color:var(--muted, #667085);text-align:center}.control-empty h3{margin:4px 0 0;color:var(--text, #1d2c24)}.control-empty p{max-width:520px;margin:0 0 6px;font-size:13px}.control-modal.is-wide{width:min(100%,860px)}.control-modal{display:grid;gap:14px}.control-modal .config-field{margin:0}.control-form-grid{display:grid;grid-template-columns:1.3fr 1.3fr 1.3fr .6fr .6fr;gap:10px}.control-points-editor{display:grid;gap:8px;padding:12px;background:var(--surface-soft, #f6f9f7);border-radius:12px}.control-points-editor-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px}.control-points-editor-head small{color:var(--muted, #667085);font-size:11.5px}.control-point-row{display:flex;flex-wrap:wrap;align-items:flex-end;gap:8px;padding:10px;background:var(--surface, #fff);border:1px solid var(--line, #e5ebe6);border-radius:10px}.control-point-row .config-field{flex:1 1 150px}.control-point-row .config-field.is-short,.control-form-grid .is-short{flex:0 1 96px}.control-point-flags{display:grid;gap:2px;font-size:12px}.control-point-flags label{display:flex;align-items:center;gap:5px;white-space:nowrap}.control-probe{display:grid;gap:3px;padding:10px 12px;border-radius:10px;font-size:12.5px}.control-probe.is-ok{background:color-mix(in srgb,var(--green, #1f8a5c) 9%,transparent)}.control-probe.is-bad{color:#b2382c;background:var(--red-soft, #fdecea)}.modal-actions .control-enabled{margin-right:auto}.control-device-list,.rule-list{display:grid;gap:8px;margin:0;padding:0;list-style:none}.control-device-list li{display:grid;grid-template-columns:minmax(180px,1fr) 2fr auto;align-items:center;gap:12px;padding:12px 14px;border:1px solid var(--line, #e5ebe6);border-radius:12px}.control-device-list li>div:first-child{display:grid}.control-device-list small{color:var(--muted, #667085);font-size:11.5px}.control-chips{display:flex;flex-wrap:wrap;gap:5px}.control-chips span{padding:2px 9px;background:var(--surface-soft, #f6f9f7);border-radius:999px;font-size:12px}.rule-list li{display:grid;gap:6px;padding:12px 14px;border:1px solid var(--line, #e5ebe6);border-left:4px solid var(--line, #e5ebe6);border-radius:12px}.rule-list li.is-active{border-left-color:#22b26b}.rule-list li.is-muted{opacity:.6}.rule-card-head{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.rule-card-head strong{font-size:14.5px}.rule-badge{padding:2px 9px;border-radius:999px;font-size:11px;font-weight:700}.rule-badge.is-dry{color:#8a5a00;background:var(--amber-soft, #fff5e5)}.rule-badge.is-live{color:#fff;background:var(--green, #1f8a5c)}.rule-badge.is-off{color:var(--muted, #667085);background:var(--surface-soft, #f6f9f7)}.theme-dark .rule-badge.is-dry{color:#f3c77a;background:#f3c77a24}.rule-badge.is-running{color:#fff;background:#22b26b}.rule-sentence{margin:0;font-size:13px}.rule-sentence b{display:inline-block;margin-right:3px;padding:0 6px;border-radius:5px;font-size:10.5px;letter-spacing:.5px}.rule-sentence b+b,.rule-sentence .is-then{margin-left:6px}.is-when{color:#1d5fbf;background:#e6efff}.is-if{color:#8a5a00;background:#fff5e5}.is-then{color:#17734b;background:#e3f5ec}.theme-dark .is-when{color:#9cc2ff;background:#508cff24}.theme-dark .is-if{color:#f3c77a;background:#f3c77a1f}.theme-dark .is-then{color:#8be0b4;background:#22b26b24}.rule-scope{color:var(--muted, #667085);font-size:11.5px}.rule-card-actions{display:flex;flex-wrap:wrap;gap:4px 14px}.rule-step{display:grid;grid-template-columns:74px 1fr;align-items:start;gap:10px}.rule-step>:not(.rule-step-tag){grid-column:2}.rule-step-tag{grid-row:1 / 4;justify-self:start;margin-top:7px;padding:3px 8px;color:var(--text-2, #344054);background:var(--surface-soft, #f6f9f7);border-radius:6px;font-size:11px;font-weight:800;letter-spacing:.5px}.rule-row,.rule-action{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.rule-row select,.rule-row input,.rule-action select,.rule-action input{height:36px;padding:0 10px;color:var(--text, #1d2c24);background:var(--surface, #fff);border:1px solid var(--line, #dfe5ec);border-radius:8px;font:inherit;font-size:13px}.rule-number{width:76px}.rule-wide{flex:1 1 260px}.rule-inline{display:inline-flex;align-items:center;gap:6px;font-size:13px;white-space:nowrap}.rule-inline input[type=checkbox]{height:auto;accent-color:var(--green, #1f8a5c)}.rule-hint{color:var(--muted, #667085);font-size:11.5px}.rule-kinds{display:flex;flex-wrap:wrap;gap:5px}.rule-actions{display:grid;gap:8px}.rule-action{padding:8px;background:var(--surface-soft, #f6f9f7);border-radius:10px}.rule-action .icon-button{margin-left:auto}.rule-simulate{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;border-radius:12px;cursor:pointer}.rule-simulate input{margin-top:3px;accent-color:var(--green, #1f8a5c)}.rule-simulate span{display:grid;gap:2px}.rule-simulate small{color:var(--muted, #667085);font-size:12px}.rule-simulate.is-dry{background:var(--amber-soft, #fff5e5)}.rule-simulate.is-live{background:color-mix(in srgb,var(--green, #1f8a5c) 10%,transparent)}.theme-dark .rule-simulate.is-dry{background:#f3c77a1a}.rule-templates{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:8px}.rule-templates button{display:grid;gap:3px;padding:12px 14px;color:var(--text, #1d2c24);text-align:left;background:var(--surface, #fff);border:1px solid var(--line, #e5ebe6);border-radius:12px;cursor:pointer}.rule-templates button:hover{border-color:var(--green, #1f8a5c);background:color-mix(in srgb,var(--green, #1f8a5c) 6%,var(--surface, #fff))}.rule-templates small{color:var(--muted, #667085);font-size:12px}@media(max-width:760px){.control-form-grid{grid-template-columns:1fr 1fr}.control-form-grid .config-field:first-child{grid-column:1 / -1}.control-device-list li{grid-template-columns:1fr}.rule-step{grid-template-columns:1fr;gap:6px}.rule-step>:not(.rule-step-tag){grid-column:1}.rule-step-tag{grid-row:auto;margin:0}.control-points{grid-template-columns:1fr}}.source-current{display:flex;align-items:flex-start;gap:12px;margin-bottom:12px;padding:12px 14px;background:color-mix(in srgb,var(--green, #1f8a5c) 7%,var(--surface, #fff));border:1px solid color-mix(in srgb,var(--green, #1f8a5c) 28%,transparent);border-radius:12px}.source-current>i{display:grid;place-items:center;flex:none;width:36px;height:36px;color:var(--green, #1f8a5c);background:var(--surface, #fff);border-radius:10px}.source-current span{display:grid;gap:2px}.source-current small{color:var(--muted, #667085);font-size:11.5px}.source-current strong{font-size:14px}.source-interval{margin-bottom:12px}.control-sampler{margin-top:14px;padding-top:14px;border-top:1px dashed var(--line, #e5ebe6)}.control-sampler-head{display:flex;flex-wrap:wrap;align-items:center;gap:7px;margin-bottom:10px;color:var(--text-2, #344054)}.control-sampler-head small{color:var(--muted, #667085)}.control-sampler-body{display:grid;grid-template-columns:minmax(200px,1fr) minmax(200px,1.4fr) auto;align-items:center;gap:14px;padding:12px 14px;background:var(--surface, #fff);border:1px solid var(--line, #e5ebe6);border-radius:12px}.control-bottles{display:grid;gap:4px}.control-bottles>span{font-size:13px}.control-bottles b{font-size:20px}.control-bottles i{display:block;height:6px;overflow:hidden;background:var(--surface-soft, #eef2ef);border-radius:99px}.control-bottles em{display:block;height:100%;background:var(--green, #1f8a5c);border-radius:99px}.control-bottles em.is-full{background:#d9453a}.control-bottles small,.control-sampler-last small{color:var(--muted, #667085);font-size:11.5px}.control-sampler-last{display:grid;gap:2px;font-size:13px}.control-sampler-last .is-running{color:var(--green, #1f8a5c);font-weight:600}@media(max-width:760px){.control-sampler-body{grid-template-columns:1fr}}.admin-main .card{font-size:13px}.admin-main>.tab-panel>*,.admin-main>.tab-panel>form>.card{min-width:0;max-width:100%}.admin-checkboxes{flex-wrap:wrap}.admin-main .card h2 .count-pill,.admin-main .card h2 .heading-count{font-size:11px;vertical-align:2px}@media(min-width:651px){.admin-menu-head strong{font-size:17px!important}.admin-menu-item{height:36px;font-size:13px}.admin-menu-item>i{width:26px;height:26px}.admin-section-head{gap:10px;min-height:38px}.admin-section-icon{width:36px;height:36px;border-radius:10px;box-shadow:0 3px 10px color-mix(in srgb,var(--green, #1f8a5c) 24%,transparent)}.admin-section-icon svg{width:18px;height:18px}.admin-section-head h1{font-size:18px!important}.admin-section-head p{margin-top:1px;font-size:12.5px}.admin-search-field,.admin-filter-chip{height:34px}.admin-search-field input{font-size:13px}.admin-main :is(input,select):not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]){height:34px!important;min-height:34px!important;padding-left:10px;font-size:13px!important;border-radius:9px!important}.admin-main textarea{font-size:13px!important;border-radius:9px!important}.admin-main :is(.button-primary,.button-secondary):not(.plain-link){height:34px!important;min-height:34px!important;padding:0 14px!important;font-size:13px!important;font-weight:600!important;border-radius:9px!important;gap:6px}.admin-main :is(.button-primary,.button-secondary) svg{width:14px;height:14px}.admin-main .plain-link{font-size:12.5px!important;font-weight:600!important}.admin-main .config-field>span:first-child,.admin-main label>span:first-child:not(.marquee){font-size:12px!important}.admin-main .card{padding:16px 18px!important;border-radius:14px!important}.admin-main .card h2,.admin-main .admin-card h2{font-size:15px!important;font-weight:750}.admin-main .card h3{font-size:13.5px!important}.admin-main .report-card-description,.admin-main .channel-hint,.admin-main .card>p{font-size:12px!important}.admin-main .section-kicker{font-size:10px!important}.admin-main .report-table th{font-size:10.5px!important}.admin-main .report-table td{font-size:12.5px!important}.admin-main .list-toolbar.report-card-toolbar{margin-bottom:10px}}@media(max-width:650px){.admin-shell{gap:8px}.admin-menu{padding:0!important;background:transparent!important;border:0!important;box-shadow:none!important}.admin-menu-head{display:none!important}.admin-menu-trigger{height:50px!important;background:var(--surface, #fff)!important;border-radius:14px!important;box-shadow:0 1px 2px #1018280f}.admin-menu-trigger>i{width:34px;height:34px;border-radius:10px}.admin-menu-trigger>span strong{font-size:15px}.admin-section-head>.admin-section-icon,.admin-section-head>div:not(.admin-section-search){display:none!important}.admin-section-head:not(:has(.admin-section-search)){display:none!important}.admin-main{gap:8px}.admin-main>.tab-panel{gap:10px}.admin-main .card{padding:14px!important;border-radius:14px!important}.admin-main .card h2,.admin-main .admin-card h2{font-size:15px!important;line-height:1.3}.admin-main .card h3{font-size:13.5px!important}.admin-main .report-card-description,.admin-main .channel-hint,.admin-main .card>p{font-size:12px!important}.admin-main .section-kicker{font-size:10px!important}.admin-main .config-field>span:first-child,.admin-main label>span:first-child:not(.marquee){font-size:12px!important}.admin-main :is(input,select):not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]){height:40px!important;min-height:40px!important;font-size:16px!important;border-radius:10px!important}.admin-main :is(.button-primary,.button-secondary):not(.plain-link){min-height:38px!important;height:auto!important;padding:0 14px!important;font-size:13.5px!important;font-weight:600!important;border-radius:10px!important}.admin-main .plain-link{font-size:13px!important}.admin-main .list-toolbar.report-card-toolbar{gap:10px;margin-bottom:10px}.admin-main .report-checkbox,.admin-main .report-card-description{white-space:normal!important;overflow:visible;text-overflow:clip}.admin-main .ftp-server-form{grid-template-columns:repeat(2,minmax(0,1fr))!important}.admin-main .ftp-server-form .ftp-server-public{grid-column:1 / -1}.admin-main .source-station-row strong{font-size:14px}.admin-main .source-station-row small{font-size:12px}}
