@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(../media/7fea77d1d19108bf-s.2y65deuc30pmy.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(../media/1bcd0e671759a44c-s.2qt3tdwt-y9x_.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(../media/e15f58668ad64cb8-s.3cvcemwuzoywn.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(../media/90c51ce8fb754fe8-s.02z5rrbg5nt92.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(../media/57215795b8570f5c-s.2rixgazldzomk.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(../media/03fc1b4a8d284b5e-s.p.0wiir8udbzjvx.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(../media/7fea77d1d19108bf-s.2y65deuc30pmy.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(../media/1bcd0e671759a44c-s.2qt3tdwt-y9x_.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(../media/e15f58668ad64cb8-s.3cvcemwuzoywn.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(../media/90c51ce8fb754fe8-s.02z5rrbg5nt92.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(../media/57215795b8570f5c-s.2rixgazldzomk.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(../media/03fc1b4a8d284b5e-s.p.0wiir8udbzjvx.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(../media/7fea77d1d19108bf-s.2y65deuc30pmy.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(../media/1bcd0e671759a44c-s.2qt3tdwt-y9x_.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(../media/e15f58668ad64cb8-s.3cvcemwuzoywn.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(../media/90c51ce8fb754fe8-s.02z5rrbg5nt92.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(../media/57215795b8570f5c-s.2rixgazldzomk.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(../media/03fc1b4a8d284b5e-s.p.0wiir8udbzjvx.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans Fallback;src:local(Arial);ascent-override:101.32%;descent-override:27.18%;line-gap-override:0.0%;size-adjust:101.17%}.ibm_plex_sans_5e0001bb-module__5hHEaG__className{font-family:IBM Plex Sans,IBM Plex Sans Fallback;font-style:normal}.ibm_plex_sans_5e0001bb-module__5hHEaG__variable{--font-body:"IBM Plex Sans", "IBM Plex Sans Fallback"}
@font-face{font-family:Space Grotesk;font-style:normal;font-weight:500;font-display:swap;src:url(../media/32687112bd2dd8db-s.1gepa_7fcx9fm.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:500;font-display:swap;src:url(../media/28868e710e86be81-s.2eksvhm1z0jwa.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:500;font-display:swap;src:url(../media/0c89a48fa5027cee-s.p.2cyn07wtgehh0.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:600;font-display:swap;src:url(../media/32687112bd2dd8db-s.1gepa_7fcx9fm.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:600;font-display:swap;src:url(../media/28868e710e86be81-s.2eksvhm1z0jwa.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:600;font-display:swap;src:url(../media/0c89a48fa5027cee-s.p.2cyn07wtgehh0.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:700;font-display:swap;src:url(../media/32687112bd2dd8db-s.1gepa_7fcx9fm.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:700;font-display:swap;src:url(../media/28868e710e86be81-s.2eksvhm1z0jwa.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:700;font-display:swap;src:url(../media/0c89a48fa5027cee-s.p.2cyn07wtgehh0.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Space Grotesk Fallback;src:local(Arial);ascent-override:89.71%;descent-override:26.62%;line-gap-override:0.0%;size-adjust:109.69%}.space_grotesk_43681c80-module__Xbdlaq__className{font-family:Space Grotesk,Space Grotesk Fallback;font-style:normal}.space_grotesk_43681c80-module__Xbdlaq__variable{--font-display:"Space Grotesk", "Space Grotesk Fallback"}
@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/e390973e931a41c5-s.0rgnxg2b64rzs.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/59b15b4bcd7b1eb5-s.2vemzm0itqzfy.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/e532fa1b9921e1cd-s.3cb5lpr2l6xud.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/2fe89d53234c61d4-s.1u30mmyq6lnsd.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/99e609270109b47d-s.p.40sczeszzbjw1.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/5e05ae5b48faa55e-s.1yd4_i3e35931.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/a7afbb44bec2bb18-s.1qc6dx89jd2qv.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/02263ebadd758ea4-s.29yke99gs9qpn.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/68757d6cddeff913-s.1i-sca43-qwng.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/effe91970fc4db64-s.p.0oace-s_gkfks.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono Fallback;src:local(Arial);ascent-override:76.16%;descent-override:20.43%;line-gap-override:0.0%;size-adjust:134.59%}.ibm_plex_mono_31bd54fc-module__TVVRLW__className{font-family:IBM Plex Mono,IBM Plex Mono Fallback;font-style:normal}.ibm_plex_mono_31bd54fc-module__TVVRLW__variable{--font-mono:"IBM Plex Mono", "IBM Plex Mono Fallback"}
.leaflet-pane,.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-tile-container,.leaflet-pane>svg,.leaflet-pane>canvas,.leaflet-zoom-box,.leaflet-image-layer,.leaflet-layer{position:absolute;top:0;left:0}.leaflet-container{overflow:hidden}.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow{-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.leaflet-tile::selection{background:0 0}.leaflet-safari .leaflet-tile{image-rendering:-webkit-optimize-contrast}.leaflet-safari .leaflet-tile-container{-webkit-transform-origin:0 0;width:1600px;height:1600px}.leaflet-marker-icon,.leaflet-marker-shadow{display:block}.leaflet-container .leaflet-overlay-pane svg{max-width:none!important;max-height:none!important}.leaflet-container .leaflet-marker-pane img,.leaflet-container .leaflet-shadow-pane img,.leaflet-container .leaflet-tile-pane img,.leaflet-container img.leaflet-image-layer,.leaflet-container .leaflet-tile{width:auto;padding:0;max-width:none!important;max-height:none!important}.leaflet-container img.leaflet-tile{mix-blend-mode:plus-lighter}.leaflet-container.leaflet-touch-zoom{-ms-touch-action:pan-x pan-y;touch-action:pan-x pan-y}.leaflet-container.leaflet-touch-drag{-ms-touch-action:pinch-zoom;touch-action:none;touch-action:pinch-zoom}.leaflet-container.leaflet-touch-drag.leaflet-touch-zoom{-ms-touch-action:none;touch-action:none}.leaflet-container{-webkit-tap-highlight-color:transparent}.leaflet-container a{-webkit-tap-highlight-color:#33b5e566}.leaflet-tile{filter:inherit;visibility:hidden}.leaflet-tile-loaded{visibility:inherit}.leaflet-zoom-box{box-sizing:border-box;z-index:800;width:0;height:0}.leaflet-overlay-pane svg{-moz-user-select:none}.leaflet-pane{z-index:400}.leaflet-tile-pane{z-index:200}.leaflet-overlay-pane{z-index:400}.leaflet-shadow-pane{z-index:500}.leaflet-marker-pane{z-index:600}.leaflet-tooltip-pane{z-index:650}.leaflet-popup-pane{z-index:700}.leaflet-map-pane canvas{z-index:100}.leaflet-map-pane svg{z-index:200}.leaflet-vml-shape{width:1px;height:1px}.lvml{behavior:url(#default#VML);display:inline-block;position:absolute}.leaflet-control{z-index:800;pointer-events:visiblePainted;pointer-events:auto;position:relative}.leaflet-top,.leaflet-bottom{z-index:1000;pointer-events:none;position:absolute}.leaflet-top{top:0}.leaflet-right{right:0}.leaflet-bottom{bottom:0}.leaflet-left{left:0}.leaflet-control{float:left;clear:both}.leaflet-right .leaflet-control{float:right}.leaflet-top .leaflet-control{margin-top:10px}.leaflet-bottom .leaflet-control{margin-bottom:10px}.leaflet-left .leaflet-control{margin-left:10px}.leaflet-right .leaflet-control{margin-right:10px}.leaflet-fade-anim .leaflet-popup{opacity:0;transition:opacity .2s linear}.leaflet-fade-anim .leaflet-map-pane .leaflet-popup{opacity:1}.leaflet-zoom-animated{transform-origin:0 0}svg.leaflet-zoom-animated{will-change:transform}.leaflet-zoom-anim .leaflet-zoom-animated{-webkit-transition:-webkit-transform .25s cubic-bezier(0,0,.25,1);-moz-transition:-moz-transform .25s cubic-bezier(0,0,.25,1);transition:transform .25s cubic-bezier(0,0,.25,1)}.leaflet-zoom-anim .leaflet-tile,.leaflet-pan-anim .leaflet-tile{transition:none}.leaflet-zoom-anim .leaflet-zoom-hide{visibility:hidden}.leaflet-interactive{cursor:pointer}.leaflet-grab{cursor:-webkit-grab;cursor:-moz-grab;cursor:grab}.leaflet-crosshair,.leaflet-crosshair .leaflet-interactive{cursor:crosshair}.leaflet-popup-pane,.leaflet-control{cursor:auto}.leaflet-dragging .leaflet-grab,.leaflet-dragging .leaflet-grab .leaflet-interactive,.leaflet-dragging .leaflet-marker-draggable{cursor:move;cursor:-webkit-grabbing;cursor:-moz-grabbing;cursor:grabbing}.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-image-layer,.leaflet-pane>svg path,.leaflet-tile-container{pointer-events:none}.leaflet-marker-icon.leaflet-interactive,.leaflet-image-layer.leaflet-interactive,.leaflet-pane>svg path.leaflet-interactive,svg.leaflet-image-layer.leaflet-interactive path{pointer-events:visiblePainted;pointer-events:auto}.leaflet-container{outline-offset:1px;background:#ddd}.leaflet-container a{color:#0078a8}.leaflet-zoom-box{background:#ffffff80;border:2px dotted #38f}.leaflet-container{font-family:Helvetica Neue,Arial,Helvetica,sans-serif;font-size:.75rem;line-height:1.5}.leaflet-bar{border-radius:4px;box-shadow:0 1px 5px #000000a6}.leaflet-bar a{text-align:center;color:#000;background-color:#fff;border-bottom:1px solid #ccc;width:26px;height:26px;line-height:26px;text-decoration:none;display:block}.leaflet-bar a,.leaflet-control-layers-toggle{background-position:50%;background-repeat:no-repeat;display:block}.leaflet-bar a:hover,.leaflet-bar a:focus{background-color:#f4f4f4}.leaflet-bar a:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.leaflet-bar a:last-child{border-bottom:none;border-bottom-right-radius:4px;border-bottom-left-radius:4px}.leaflet-bar a.leaflet-disabled{cursor:default;color:#bbb;background-color:#f4f4f4}.leaflet-touch .leaflet-bar a{width:30px;height:30px;line-height:30px}.leaflet-touch .leaflet-bar a:first-child{border-top-left-radius:2px;border-top-right-radius:2px}.leaflet-touch .leaflet-bar a:last-child{border-bottom-right-radius:2px;border-bottom-left-radius:2px}.leaflet-control-zoom-in,.leaflet-control-zoom-out{text-indent:1px;font:700 18px Lucida Console,Monaco,monospace}.leaflet-touch .leaflet-control-zoom-in,.leaflet-touch .leaflet-control-zoom-out{font-size:22px}.leaflet-control-layers{background:#fff;border-radius:5px;box-shadow:0 1px 5px #0006}.leaflet-control-layers-toggle{background-image:url(../media/layers.3muxcl8sz6330.png);width:36px;height:36px}.leaflet-retina .leaflet-control-layers-toggle{background-image:url(../media/layers-2x.23wrxu3xxu9-i.png);background-size:26px 26px}.leaflet-touch .leaflet-control-layers-toggle{width:44px;height:44px}.leaflet-control-layers .leaflet-control-layers-list,.leaflet-control-layers-expanded .leaflet-control-layers-toggle{display:none}.leaflet-control-layers-expanded .leaflet-control-layers-list{display:block;position:relative}.leaflet-control-layers-expanded{color:#333;background:#fff;padding:6px 10px 6px 6px}.leaflet-control-layers-scrollbar{padding-right:5px;overflow:hidden scroll}.leaflet-control-layers-selector{margin-top:2px;position:relative;top:1px}.leaflet-control-layers label{font-size:1.08333em;display:block}.leaflet-control-layers-separator{border-top:1px solid #ddd;height:0;margin:5px -10px 5px -6px}.leaflet-default-icon-path{background-image:url(../media/marker-icon.1le94j_pe_ih1.png)}.leaflet-container .leaflet-control-attribution{background:#fffc;margin:0}.leaflet-control-attribution,.leaflet-control-scale-line{color:#333;padding:0 5px;line-height:1.4}.leaflet-control-attribution a{text-decoration:none}.leaflet-control-attribution a:hover,.leaflet-control-attribution a:focus{text-decoration:underline}.leaflet-attribution-flag{width:1em;height:.6669em;vertical-align:baseline!important;display:inline!important}.leaflet-left .leaflet-control-scale{margin-left:5px}.leaflet-bottom .leaflet-control-scale{margin-bottom:5px}.leaflet-control-scale-line{white-space:nowrap;box-sizing:border-box;text-shadow:1px 1px #fff;background:#fffc;border:2px solid #777;border-top:none;padding:2px 5px 1px;line-height:1.1}.leaflet-control-scale-line:not(:first-child){border-top:2px solid #777;border-bottom:none;margin-top:-2px}.leaflet-control-scale-line:not(:first-child):not(:last-child){border-bottom:2px solid #777}.leaflet-touch .leaflet-control-attribution,.leaflet-touch .leaflet-control-layers,.leaflet-touch .leaflet-bar{box-shadow:none}.leaflet-touch .leaflet-control-layers,.leaflet-touch .leaflet-bar{background-clip:padding-box;border:2px solid #0003}.leaflet-popup{text-align:center;margin-bottom:20px;position:absolute}.leaflet-popup-content-wrapper{text-align:left;border-radius:12px;padding:1px}.leaflet-popup-content{min-height:1px;margin:13px 24px 13px 20px;font-size:1.08333em;line-height:1.3}.leaflet-popup-content p{margin:1.3em 0}.leaflet-popup-tip-container{pointer-events:none;width:40px;height:20px;margin-top:-1px;margin-left:-20px;position:absolute;left:50%;overflow:hidden}.leaflet-popup-tip{pointer-events:auto;width:17px;height:17px;margin:-10px auto 0;padding:1px;transform:rotate(45deg)}.leaflet-popup-content-wrapper,.leaflet-popup-tip{color:#333;background:#fff;box-shadow:0 3px 14px #0006}.leaflet-container a.leaflet-popup-close-button{text-align:center;color:#757575;background:0 0;border:none;width:24px;height:24px;font:16px/24px Tahoma,Verdana,sans-serif;text-decoration:none;position:absolute;top:0;right:0}.leaflet-container a.leaflet-popup-close-button:hover,.leaflet-container a.leaflet-popup-close-button:focus{color:#585858}.leaflet-popup-scrolled{overflow:auto}.leaflet-oldie .leaflet-popup-content-wrapper{-ms-zoom:1}.leaflet-oldie .leaflet-popup-tip{-ms-filter:"progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678)";width:24px;filter:progid:DXImageTransform.Microsoft.Matrix(M11=.707107, M12=.707107, M21=-.707107, M22=.707107);margin:0 auto}.leaflet-oldie .leaflet-control-zoom,.leaflet-oldie .leaflet-control-layers,.leaflet-oldie .leaflet-popup-content-wrapper,.leaflet-oldie .leaflet-popup-tip{border:1px solid #999}.leaflet-div-icon{background:#fff;border:1px solid #666}.leaflet-tooltip{color:#222;white-space:nowrap;-webkit-user-select:none;user-select:none;pointer-events:none;background-color:#fff;border:1px solid #fff;border-radius:3px;padding:6px;position:absolute;box-shadow:0 1px 3px #0006}.leaflet-tooltip.leaflet-interactive{cursor:pointer;pointer-events:auto}.leaflet-tooltip-top:before,.leaflet-tooltip-bottom:before,.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{pointer-events:none;content:"";background:0 0;border:6px solid #0000;position:absolute}.leaflet-tooltip-bottom{margin-top:6px}.leaflet-tooltip-top{margin-top:-6px}.leaflet-tooltip-bottom:before,.leaflet-tooltip-top:before{margin-left:-6px;left:50%}.leaflet-tooltip-top:before{border-top-color:#fff;margin-bottom:-12px;bottom:0}.leaflet-tooltip-bottom:before{border-bottom-color:#fff;margin-top:-12px;margin-left:-6px;top:0}.leaflet-tooltip-left{margin-left:-6px}.leaflet-tooltip-right{margin-left:6px}.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{margin-top:-6px;top:50%}.leaflet-tooltip-left:before{border-left-color:#fff;margin-right:-12px;right:0}.leaflet-tooltip-right:before{border-right-color:#fff;margin-left:-12px;left:0}@media print{.leaflet-control{-webkit-print-color-adjust:exact;print-color-adjust:exact}}
:root{--ink:#313849;--ink-soft:#5d6989;--paper:#f8f9fc;--surface:#fff;--surface-muted:#f0f1f8;--line:#d2d9e5;--green:#d72c5e;--green-dark:#b51f4b;--green-pale:#f8dce4;--yellow:#fd0f64;--yellow-pale:#fce5ed;--blue:#010182;--red:#b4233f;--red-pale:#f8dce4;--shadow:0 10px 30px #01018217;--brand-dark:#010182;--brand-dark-soft:#010182;--brand-accent:#fd0f64;--brand-on-dark:#fff;--brand-on-dark-soft:#d9dcff;--brand-on-dark-muted:#adb4e0;--brand-border-dark:#00005d;--focus-ring:#d72c5e29;--page-pattern:#0101820a;--auth-form-pattern:none;--auth-art:url(/auth-art.webp);--auth-art-opacity:.82}
*{box-sizing:border-box;margin:0;padding:0}html,body{min-height:100%}body{color:var(--ink);background-color:var(--paper);background-image:linear-gradient(var(--page-pattern) 1px, transparent 1px), linear-gradient(90deg,var(--page-pattern) 1px, transparent 1px);font-family:var(--font-body), sans-serif;-webkit-font-smoothing:antialiased;background-size:28px 28px}button,input,select{font:inherit}button,a,select{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{color:inherit}.brand{min-width:0;font-family:var(--font-display),sans-serif;align-items:center;gap:9px;display:flex}.brand-mark{color:#fff;background:var(--green);border-radius:5px;flex:0 0 36px;place-items:center;width:36px;height:36px;display:grid}.brand-name{font-size:22px;font-weight:700}.brand-name span{color:var(--yellow)}.brand-wordmark img{width:220px;height:auto}.brand-suffix{color:var(--ink-soft);border-left:1px solid var(--line);font-family:var(--font-mono),monospace;padding-left:10px;font-size:10px}.eyebrow{color:var(--green);font-family:var(--font-mono),monospace;font-size:11px;font-weight:500}.cookie-notice{z-index:50;max-width:980px;min-height:66px;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-left:4px solid var(--brand-accent);border-radius:7px;grid-template-columns:24px minmax(0,1fr) auto 34px;align-items:center;gap:12px;margin:0 auto;padding:12px 12px 12px 16px;display:grid;position:fixed;bottom:18px;left:18px;right:18px;box-shadow:0 14px 36px #01014629}.cookie-notice>svg{color:var(--green)}.cookie-notice p{color:var(--ink-soft);font-size:12px;line-height:1.5}.cookie-notice p a{color:var(--green-dark);text-underline-offset:2px;font-weight:600;text-decoration:underline}.cookie-notice-acknowledge{color:#fff;background:var(--green);cursor:pointer;border:0;border-radius:4px;min-height:36px;padding:0 13px;font-size:12px;font-weight:700}.cookie-notice-acknowledge:hover{background:var(--green-dark)}.cookie-notice-close{width:34px;height:34px;color:var(--ink-soft);cursor:pointer;background:0 0;border:0;border-radius:4px;place-items:center;display:grid}.cookie-notice-close:hover{color:var(--ink);background:var(--surface-muted)}.auth-page{background:var(--surface);grid-template-columns:minmax(360px,42%) minmax(420px,58%);min-height:100vh;display:grid}.auth-visual{min-height:100vh;color:var(--brand-on-dark);background-color:var(--brand-dark);background-image:linear-gradient(#ffffff0b 1px,#0000 1px),linear-gradient(90deg,#ffffff0b 1px,#0000 1px);background-size:36px 36px;flex-direction:column;justify-content:space-between;padding:44px 52px;display:flex;position:relative;overflow:hidden}.auth-visual:before{z-index:0;aspect-ratio:1600/1642;content:"";background-image:var(--auth-art);width:min(720px,105%);opacity:var(--auth-art-opacity);background-position:50%;background-repeat:no-repeat;background-size:contain;position:absolute;top:50%;left:50%;transform:translate(-50%,-52%)}.auth-visual .brand{z-index:2;position:relative}.auth-visual .brand-mark{color:var(--brand-dark);background:var(--brand-accent)}.auth-visual .brand-name span{color:var(--brand-accent)}.auth-visual .brand-suffix{color:var(--brand-on-dark-muted);border-color:#fff3}.brand-wordmark .brand-suffix{color:var(--brand-on-dark);border-color:#ffffff73;font-weight:600}.signal-field{z-index:1;width:420px;height:420px;position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-52%)}.signal-core{z-index:2;width:76px;height:76px;color:var(--brand-dark);background:var(--brand-accent);box-shadow:0 0 0 12px color-mix(in srgb,var(--brand-accent) 12%,transparent);border-radius:50%;place-items:center;display:grid;position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%)}.signal-ring{border:1px solid #e0eee833;border-radius:50%;animation:4s ease-in-out infinite pulse-ring;position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%)}.signal-ring-one{width:230px;height:230px}.signal-ring-two{width:390px;height:390px;animation-delay:1.2s}.signal-node{background:var(--brand-on-dark);border:3px solid var(--brand-dark-soft);border-radius:50%;width:12px;height:12px;position:absolute;box-shadow:0 0 0 5px #ffffff17}.node-one{top:12%;left:48%}.node-two{top:60%;right:3%}.node-three{bottom:4%;left:18%}.auth-telemetry{z-index:2;background:#ffffff21;border:1px solid #ffffff21;border-radius:6px;gap:1px;display:grid;position:relative;overflow:hidden}.auth-telemetry>div{background:color-mix(in srgb,var(--brand-dark) 92%,black);grid-template-columns:24px 1fr auto;align-items:center;min-height:48px;padding:0 16px;display:grid}.auth-telemetry span{color:var(--brand-on-dark-soft);font-size:13px}.auth-telemetry strong{color:var(--brand-accent);font-family:var(--font-mono),monospace;font-size:11px}.auth-form-region{background-color:var(--paper);background-image:var(--auth-form-pattern);background-size:42px 42px;place-items:center;min-height:100vh;padding:48px clamp(32px,8vw,120px);display:grid}.auth-region-stack{gap:28px;width:min(100%,440px);display:grid}.auth-region-stack .auth-panel{width:100%}.auth-legal{color:var(--ink-soft);text-align:center;font-size:12px}.auth-legal a{color:var(--green-dark);font-weight:600}.auth-legal a:hover{text-decoration:underline}.auth-panel{width:min(100%,440px);animation:.45s ease-out both reveal}.auth-panel h1,.page-heading h1,.device-heading h1{font-family:var(--font-display),sans-serif;margin-top:9px;font-weight:600}.auth-panel h1{margin-bottom:34px;font-size:38px}.auth-form{gap:19px;display:grid}.auth-form label{color:var(--ink-soft);gap:7px;font-size:13px;font-weight:600;display:grid}.auth-form input,.search-field,.section-toolbar select,.table-filters select,td select{height:44px;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:5px;outline:none;transition:border-color .18s,box-shadow .18s}.auth-form input{width:100%;padding:0 13px}.auth-form input:focus,.search-field:focus-within,select:focus{border-color:var(--green);box-shadow:0 0 0 3px var(--focus-ring)}.primary-button{color:#fff;background:var(--green);cursor:pointer;border:0;border-radius:5px;justify-content:center;align-items:center;gap:10px;height:46px;margin-top:5px;font-weight:600;transition:background .18s,transform .18s;display:flex}.primary-button:hover:not(:disabled){background:var(--green-dark);transform:translateY(-1px)}.primary-button:disabled{opacity:.55;cursor:not-allowed}.form-links{justify-content:space-between;font-size:13px;display:flex}.form-links a,.form-foot a,.text-link{color:var(--green-dark);font-weight:600}.form-foot{color:var(--ink-soft);text-align:center;font-size:13px}.form-error,.inline-alert{color:var(--red);background:var(--red-pale);border:1px solid #e9bdb8;border-radius:5px}.form-error{padding:10px 12px;font-size:13px}.success-state{color:var(--green-dark);justify-items:start;gap:18px;padding:24px 0;display:grid}.success-state p{color:var(--ink);line-height:1.55}.text-link{align-items:center;gap:7px;display:inline-flex}.app-shell{grid-template-columns:238px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{height:100vh;color:var(--brand-on-dark);background:var(--brand-dark-soft);border-right:1px solid var(--brand-border-dark);flex-direction:column;padding:25px 18px 18px;display:flex;position:sticky;top:0}.sidebar .brand{color:#fff;padding:0 8px 26px}.sidebar .brand-mark{color:var(--brand-dark-soft);background:var(--yellow)}.sidebar nav{gap:5px;display:grid}.sidebar nav a,.mobile-nav a{border-radius:5px;align-items:center;gap:11px;min-height:43px;font-size:14px;font-weight:500;display:flex}.sidebar nav a{color:var(--brand-on-dark-soft);padding:0 12px}.sidebar nav a:hover,.sidebar nav a.active{color:#fff;background:#ffffff17}.sidebar nav a.active{box-shadow:inset 3px 0 var(--yellow)}.sidebar-user{border-top:1px solid #ffffff1f;grid-template-columns:34px minmax(0,1fr) 32px;align-items:center;gap:9px;margin-top:auto;padding:14px 7px 2px;display:grid}.user-initial{width:34px;height:34px;color:var(--brand-dark-soft);background:var(--brand-accent);font-family:var(--font-display),sans-serif;border-radius:50%;place-items:center;font-weight:700;display:grid}.sidebar-user div{min-width:0}.sidebar-user strong,.sidebar-user small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.sidebar-user strong{color:#fff;font-size:13px}.sidebar-user small{color:var(--brand-on-dark-muted);text-transform:capitalize;margin-top:2px;font-size:11px}.sidebar-user button,.mobile-header button{width:32px;height:32px;color:var(--brand-on-dark-soft);cursor:pointer;background:0 0;border:0;border-radius:4px;place-items:center;display:grid}.sidebar-user button:hover{color:#fff;background:#ffffff14}.app-workspace{min-width:0}.content{width:min(100%,1510px);margin:0 auto;padding:37px 42px 60px}.mobile-header,.mobile-nav{display:none}.page-stack{gap:30px;animation:.32s ease-out both reveal;display:grid}.page-heading,.device-heading{justify-content:space-between;align-items:flex-end;gap:20px;display:flex}.page-heading h1,.device-heading h1{font-size:31px}.admin-workspace{gap:24px;display:grid}.admin-tabs{border-bottom:1px solid var(--line);gap:4px;padding-bottom:8px;display:flex;overflow-x:auto}.admin-tabs a{min-height:38px;color:var(--ink-soft);white-space:nowrap;border-radius:5px;align-items:center;gap:7px;padding:0 13px;font-size:13px;font-weight:600;display:inline-flex}.admin-tabs a:hover{color:var(--ink);background:var(--surface-muted)}.admin-tabs a.active{color:#fff;background:var(--green)}.toolbar-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.command-button,.secondary-button{cursor:pointer;border-radius:5px;justify-content:center;align-items:center;gap:7px;min-height:40px;padding:0 13px;font-weight:600;display:inline-flex}.command-button{color:#fff;background:var(--green);border:1px solid var(--green)}.command-button:hover{background:var(--green-dark)}.secondary-button{background:var(--surface);border:1px solid var(--line)}.admin-status{min-height:25px;font-family:var(--font-mono),monospace;border-radius:4px;align-items:center;padding:0 8px;font-size:10px;font-weight:500;display:inline-flex}.admin-status.status-active,.admin-status.status-authorized,.admin-status.status-completed,.admin-status.status-successful{color:var(--green-dark);background:var(--green-pale)}.admin-status.status-inactive,.admin-status.status-cancelled,.admin-status.status-not_started{color:var(--ink-soft);background:var(--surface-muted)}.admin-status.status-draft,.admin-status.status-in_progress{color:var(--blue);background:#dfebf2}.admin-status.status-revoked,.admin-status.status-aborted,.admin-status.status-unsuccessful,.admin-status.status-failed,.admin-status.status-not_performed{color:var(--red);background:var(--red-pale)}.modal-backdrop{z-index:30;background:#0d1f2385;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.admin-modal{background:var(--surface);border:1px solid var(--line);border-radius:7px;width:min(100%,620px);max-height:min(88vh,850px);animation:.2s ease-out both reveal;overflow-y:auto;box-shadow:0 24px 70px #0d1f233d}.admin-modal>header{z-index:2;background:var(--surface);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;min-height:58px;padding:0 20px;display:flex;position:sticky;top:0}.admin-modal>header h2{font-family:var(--font-display),sans-serif;font-size:18px}.admin-modal>header button{cursor:pointer;background:0 0;border:0;border-radius:4px;place-items:center;width:34px;height:34px;display:grid}.admin-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;padding:20px;display:grid}.admin-form label,.inline-form label{color:var(--ink-soft);gap:7px;font-size:12px;font-weight:600;display:grid}.admin-form .form-error,.form-actions{grid-column:1/-1}.admin-form label:has(textarea){grid-column:1/-1}.admin-form input,.admin-form select,.admin-form textarea,.inline-form input{width:100%;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:5px;outline:none}.admin-form input,.admin-form select,.inline-form input{height:42px;padding:0 11px}.admin-form textarea{resize:vertical;min-height:88px;padding:10px 11px}.admin-form input:focus,.admin-form select:focus,.admin-form textarea:focus,.inline-form input:focus{border-color:var(--green);box-shadow:0 0 0 3px #1d7a631f}.form-actions{justify-content:flex-end;gap:8px;padding-top:4px;display:flex}.form-actions .primary-button{min-width:100px;margin:0;padding:0 15px}.device-manager{gap:18px;padding:20px;display:grid}.inline-form{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:10px;display:grid}.assignment-list{border-top:1px solid var(--line);display:grid}.assignment-list>div{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;min-height:52px;display:flex}.assignment-list>div>span{font-family:var(--font-mono),monospace;align-items:center;gap:9px;font-size:12px;display:flex}.live-indicator{color:var(--ink-soft);font-family:var(--font-mono),monospace;align-items:center;gap:8px;font-size:11px;display:inline-flex}.live-indicator i,.status-pill i{border-radius:50%;width:7px;height:7px}.live-indicator.connected{color:#17654f}.live-indicator.connected i{background:#1d7a63;box-shadow:0 0 0 4px #1d7a631f}.live-indicator.connecting i{background:var(--yellow);box-shadow:0 0 0 4px #cf9a1d1f}.metric-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.metric-card{background:var(--surface);border:1px solid var(--line);border-radius:7px;align-items:center;gap:14px;min-height:76px;padding:9px 18px;display:flex;box-shadow:0 3px 14px #17232a09}.metric-card>span{border-radius:5px;flex:0 0 38px;place-items:center;width:38px;height:38px;display:grid}.metric-card small,.device-metrics small{color:var(--ink-soft);font-size:12px;display:block}.metric-card strong{font-family:var(--font-display),sans-serif;margin-top:3px;font-size:26px;display:block}.tone-neutral>span{color:var(--blue);background:#dfebf2}.tone-good>span{color:#17654f;background:#e0f1e9}.tone-good strong{color:#17654f}.tone-cyan>span{color:#0e7490;background:#cffafe}.tone-cyan strong{color:#0e7490}.tone-warn>span{color:#7a5200;background:#ffe08a}.tone-danger>span{color:var(--red);background:var(--red-pale)}.data-section{gap:12px;display:grid}.section-toolbar{justify-content:space-between;align-items:flex-end;gap:16px;display:flex}.section-toolbar h2,.section-title h2{font-family:var(--font-display),sans-serif;font-size:18px;font-weight:600}.section-toolbar>div>span,.section-title span{color:var(--ink-soft);font-size:12px}.table-filters{align-items:center;gap:8px;display:flex}.search-field{align-items:center;gap:8px;width:230px;padding:0 12px;display:flex}.search-field svg{color:var(--ink-soft);flex:none}.search-field input{background:0 0;border:0;outline:0;width:100%;min-width:0}.table-filters select,.section-toolbar select,td select{cursor:pointer;padding:0 31px 0 11px}.table-filters select,.section-toolbar select{min-width:150px}.table-frame,.log-frame,.chart-panel{background:var(--surface);border:1px solid var(--line);border-radius:7px;box-shadow:0 3px 14px #17232a09}.table-frame{overflow:hidden}.table-scroll{width:100%;overflow-x:auto}table{border-collapse:collapse;table-layout:fixed;width:100%}th{height:42px;color:var(--ink-soft);border-bottom:1px solid var(--line);text-align:left;font-family:var(--font-mono),monospace;text-transform:uppercase;background:#eef2ee;padding:0 15px;font-size:10px;font-weight:500}td{vertical-align:middle;border-bottom:1px solid #e7ebe7;height:68px;padding:9px 15px;font-size:13px}tbody tr:last-child td{border-bottom:0}tbody tr:hover{background:#f8faf8}th:first-child{width:26%}th:nth-child(2){width:13%}td small{color:var(--ink-soft);text-overflow:ellipsis;white-space:nowrap;margin-top:4px;display:block;overflow:hidden}.device-table{min-width:980px}.device-table th{height:36px}.device-table th:first-child{width:310px}.device-table th:nth-child(2){width:100px}.device-table td{height:54px;padding-block:5px}.device-row-updated>td{animation:1.5s ease-out device-row-update}.device-row-updated>td:first-child{animation-name:device-row-update-first}.firmware-column{width:82px}.firmware-cell{white-space:nowrap}.lock-column,.monitoring-column{text-align:center;width:56px}.lock-cell,.monitoring-cell{text-align:center}.lock-column,.lock-cell,.monitoring-column,.monitoring-cell,.location-column,.location-cell,.solar-column,.solar-cell{padding-left:4px;padding-right:4px}.lock-indicator,.monitoring-indicator{border-radius:5px;place-items:center;width:30px;height:30px;display:inline-grid}.lock-closed{color:#17654f;background:#e0f1e9}.lock-open{color:#7a5200;background:#ffe08a}.lock-break-in{color:var(--red);background:var(--red-pale)}.lock-neutral{color:#829096;background:var(--surface-muted)}.monitoring-lz4{color:var(--blue);background:#dfebf2}.monitoring-heartbeat{color:#17654f;background:#e0f1e9}.monitoring-attention{color:#7a5200;background:#ffe08a}.monitoring-error{color:var(--red);background:var(--red-pale)}.battery-value{white-space:nowrap;align-items:center;gap:5px;display:inline-flex}.battery-trend{font-variant-numeric:tabular-nums;flex:none;align-items:center;gap:3px;font-size:11px;line-height:1;display:inline-flex}.battery-trend-up{color:#17654f}.battery-trend-down{color:var(--red)}.battery-trend-equal{color:#0e7490}.location-column{text-align:center;width:40px}.location-cell{text-align:center}.location-indicator{border-radius:5px;place-items:center;width:30px;height:30px;display:inline-grid}.location-available{color:#17654f;background:#e0f1e9}.location-unavailable{color:#829096;background:var(--surface-muted)}.solar-column{text-align:center;width:40px}.solar-cell{text-align:center}.solar-indicator{border-radius:5px;place-items:center;width:30px;height:30px;display:inline-grid;position:relative}.solar-present{color:#9c6c0d;background:#ffe08a}.solar-fault{color:var(--red);background:var(--red-pale)}.solar-absent{color:#829096;background:var(--surface-muted)}.solar-absent-mark{color:var(--red);stroke-width:3px;position:absolute;bottom:1px;right:1px}.device-link{font-family:var(--font-mono),monospace;align-items:center;gap:7px;font-weight:500;display:inline-flex}.device-link-external{color:var(--blue)}.device-link-virtual,.virtual-device-imei-value{color:#17654f}.device-link:hover{text-decoration:underline}.mono{font-family:var(--font-mono),monospace}.device-identity{align-items:center;gap:8px;min-width:0;display:flex}.device-kind{min-height:20px;font-family:var(--font-mono),monospace;text-transform:uppercase;white-space:nowrap;border-radius:3px;align-items:center;padding:0 6px;font-size:9px;font-weight:600;display:inline-flex}.device-kind-external{color:var(--blue);background:#dfebf2}.device-kind-virtual{color:var(--ink-soft);background:var(--surface-muted)}.installation-badge{min-height:20px;font-family:var(--font-mono),monospace;text-transform:uppercase;white-space:nowrap;border-radius:3px;align-items:center;padding:0 6px;font-size:9px;font-weight:600;display:inline-flex}.installation-available{color:var(--ink-soft);background:var(--surface-muted)}.installation-planned{color:#8b620d;background:var(--yellow-pale)}.installation-installed{color:#17654f;background:#e0f1e9}.status-pill{border-radius:4px;align-items:center;gap:7px;min-height:26px;padding:0 9px;font-size:11px;font-weight:600;display:inline-flex}.status-online{color:#17654f;background:#e0f1e9}.status-online i{background:#1d7a63}.status-offline{color:var(--red);background:var(--red-pale)}.status-offline i{background:var(--red)}.status-stale{color:#8b620d;background:var(--yellow-pale)}.status-stale i{background:var(--yellow)}.status-unknown{color:var(--ink-soft);background:var(--surface-muted)}.status-unknown i{background:#829096}.pagination{min-height:48px;color:var(--ink-soft);border-top:1px solid var(--line);background:#fafbfa;justify-content:space-between;align-items:center;padding:0 14px;font-size:12px;display:flex}.pagination>div{gap:5px;display:flex}.pagination button,.icon-action{background:var(--surface);border:1px solid var(--line);cursor:pointer;border-radius:4px;place-items:center;width:32px;height:32px;display:grid}.pagination button:disabled{opacity:.35;cursor:not-allowed}.device-map-section{background:var(--surface);border:1px solid var(--line);border-radius:7px;overflow:hidden;box-shadow:0 3px 14px #17232a09}.device-map-heading{border-bottom:1px solid var(--line);text-align:center;justify-items:center;gap:3px;min-height:82px;padding:10px 16px;display:grid}.device-map-heading h2{font-size:15px}.device-map-heading strong{font-family:var(--font-mono),monospace;font-size:13px;font-weight:600}.device-map-heading span{overflow-wrap:anywhere;width:100%;line-height:1.35}.device-map{z-index:0;background:var(--surface-muted);width:100%;height:360px}.device-map .leaflet-tooltip{color:var(--ink);background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);font-family:var(--font-mono),monospace;border-radius:4px;font-size:11px}.device-map .leaflet-tooltip:before{border-top-color:var(--line)}.device-radar{color:var(--green)}.device-radar-ring{pointer-events:none;will-change:transform,opacity;border:2px solid;border-radius:50%;width:28px;height:28px;animation:2s ease-out infinite device-radar-expand;position:absolute;top:-14px;left:-14px}.device-radar-ring:nth-child(2){animation-delay:.65s}.device-radar-ring:nth-child(3){animation-delay:1.3s}.table-loading{background:linear-gradient(100deg,#f3f5f3 20%,#fafbfa 35%,#f3f5f3 50%) 0 0/220% 100%;min-height:280px;animation:1.4s infinite shimmer}.empty-state{min-height:210px;color:var(--ink-soft);place-items:center;gap:9px;display:grid}.inline-alert{align-items:center;gap:9px;padding:11px 14px;font-size:13px;display:flex}.back-link{color:var(--ink-soft);align-items:center;gap:5px;margin-bottom:24px;font-size:12px;display:inline-flex}.back-link:hover{color:var(--green)}.device-heading{align-items:flex-end}.device-heading-identity{min-width:0}.device-heading-side{justify-content:flex-end;align-items:center;gap:18px;max-width:min(58%,720px);padding-bottom:3px;display:flex}.device-heading-location{text-align:right;grid-template-columns:20px minmax(0,1fr);align-items:start;gap:8px;min-width:0;display:grid}.device-heading-location>svg{color:var(--green);margin-top:1px}.device-heading-location span,.device-heading-location strong{overflow-wrap:anywhere;display:block}.device-heading-location span{color:var(--ink-soft);font-size:11px;line-height:1.4}.device-heading-location strong{font-family:var(--font-mono),monospace;margin-top:3px;font-size:11px;font-weight:600}.subtle{color:var(--ink-soft);font-family:var(--font-mono),monospace;margin-top:5px;font-size:11px;display:block}.device-iccid{align-items:center;gap:7px;width:fit-content;margin-top:5px;display:flex}.device-iccid .subtle{margin-top:0}.sim-quota-trigger{color:#9c6c0d;background:var(--yellow-pale);cursor:pointer;border:1px solid #e7c466;border-radius:4px;place-items:center;width:30px;height:30px;display:grid}.sim-quota-trigger:hover:not(:disabled){color:#704c08;background:#ffe08a}.sim-quota-trigger:disabled{color:var(--ink-soft);background:var(--surface-muted);border-color:var(--line);cursor:not-allowed;opacity:.55}:is(.admin-modal:has(.sim-quota-panel),.admin-modal:has(.sim-quota-state)){width:min(100%,690px)}.sim-quota-panel{gap:20px;padding:20px;display:grid}.sim-quota-state{min-height:280px;color:var(--ink-soft);text-align:center;place-items:center;gap:12px;padding:24px;display:grid}.sim-quota-state .secondary-button{min-width:112px}.sim-quota-identity{align-items:center;gap:10px;display:flex}.sim-quota-identity>strong{color:var(--ink-soft);font-family:var(--font-mono),monospace;overflow-wrap:anywhere;font-size:14px}.sim-status{min-height:27px;color:var(--ink-soft);background:var(--surface-muted);border-radius:4px;align-items:center;padding:0 9px;font-size:11px;font-weight:700;display:inline-flex}.sim-status-enabled{color:#17654f;background:#e0f1e9}.sim-status-disabled{color:var(--red);background:var(--red-pale)}.sim-identity-grid{border-bottom:1px solid var(--line);grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 28px;padding-bottom:19px;display:grid}.sim-identity-grid>div{gap:4px;min-width:0;display:grid}.sim-identity-grid span,.sim-quota-updated{color:var(--ink-soft);font-size:11px}.sim-identity-grid strong{overflow-wrap:anywhere;font-size:13px}.sim-quota-usage-title{color:var(--blue);align-items:center;gap:7px;display:flex}.sim-quota-usage-title h3{color:var(--ink);font-family:var(--font-display),sans-serif;font-size:15px}.sim-quota-usage{align-items:center;gap:30px;display:flex}.sim-usage-ring{--sim-usage:0;--sim-usage-color:var(--green);background:conic-gradient(var(--sim-usage-color) calc(var(--sim-usage) * 1%),var(--line) 0);border-radius:50%;flex:0 0 138px;place-items:center;width:138px;height:138px;display:grid}.sim-usage-ring:before{content:"";background:var(--surface);border-radius:50%;grid-area:1/1;width:108px;height:108px}.sim-usage-ring>div{z-index:1;grid-area:1/1;justify-items:center;display:grid}.sim-usage-ring strong{font-family:var(--font-display),sans-serif;font-size:30px}.sim-usage-ring span{color:var(--ink-soft);font-size:12px}.sim-usage-values{gap:8px;font-size:13px;display:grid}.sim-usage-values>span{align-items:center;gap:6px;display:flex}.sim-usage-values i{background:var(--line);border-radius:50%;flex:0 0 9px;width:9px;height:9px}.sim-usage-values small{color:var(--ink-soft);margin-top:3px}.sim-quota-details{background:var(--line);border:1px solid var(--line);border-radius:5px;gap:1px;display:grid;overflow:hidden}.sim-quota-details>div{background:var(--surface);grid-template-columns:minmax(170px,1fr) 1fr;align-items:center;gap:16px;min-height:42px;padding:7px 12px;font-size:12px;display:grid}.sim-quota-details span{color:var(--ink-soft);align-items:center;gap:7px;display:flex}.sim-quota-details strong{overflow-wrap:anywhere}.sim-quota-updated{align-items:center;gap:6px;display:flex}.device-metrics{grid-template-columns:repeat(6,minmax(0,1fr));gap:9px;display:grid}.device-metrics article{background:var(--surface);border-top:3px solid var(--green);min-width:0;min-height:86px;box-shadow:var(--shadow);border-radius:5px;grid-template-rows:auto auto auto;grid-template-columns:28px minmax(0,1fr);column-gap:8px;padding:14px;display:grid}.device-metrics article>span{color:var(--green);grid-row:1/4}.device-metrics strong{font-family:var(--font-display),sans-serif;text-overflow:ellipsis;white-space:nowrap;align-self:start;font-size:17px;overflow:hidden}.device-metrics .metric-detail{min-width:0;font-family:var(--font-mono),monospace;text-align:center;text-overflow:ellipsis;white-space:nowrap;grid-column:1/-1;margin-top:2px;font-size:10px;overflow:hidden}.device-metrics article.access-metrics{grid-template-rows:repeat(3,minmax(0,1fr));grid-template-columns:1fr;gap:1px;padding-block:7px}.access-metric-row{grid-template-columns:18px minmax(0,1fr) auto;align-items:center;gap:4px;min-width:0;display:grid}.access-metric-row>svg{color:var(--green)}.access-metric-row small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.device-metrics .access-metric-row strong{align-self:center;font-size:14px}.chart-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.chart-panel{min-width:0;padding:19px 15px 8px}.chart-panel.is-loading .recharts-responsive-container{opacity:.45}.chart-placeholder{height:260px}.section-title{justify-content:space-between;align-items:center;gap:12px;padding:0 6px 16px;display:flex}.period-selector{background:var(--surface-muted);border:1px solid var(--line);border-radius:5px;flex-wrap:nowrap;padding:2px;display:inline-flex}.period-selector button{min-height:28px;color:var(--ink-soft);cursor:pointer;background:0 0;border:0;border-radius:3px;padding:0 9px;font-size:11px;font-weight:600}.period-selector button:hover{color:var(--ink)}.period-selector button.active{color:#fff;background:#17654f}.recharts-cartesian-grid line{stroke:#e2e7e2}.recharts-text{fill:#6a787d;font-family:var(--font-mono),monospace;font-size:10px}.recharts-default-tooltip{box-shadow:var(--shadow);border-radius:5px;font-size:12px;border-color:var(--line)!important}.chart-summary-heading{flex-direction:column;justify-content:flex-start;align-items:flex-start;gap:9px}.chart-title-row{justify-content:space-between;align-items:center;gap:12px;width:100%;display:flex}.chart-extrema{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;width:min(100%,360px);display:grid}.chart-extrema-single{grid-template-columns:minmax(0,171px)}.chart-extrema-group{border-left:3px solid;grid-template-columns:repeat(2,minmax(0,1fr));gap:3px 12px;padding-left:9px;display:grid}.chart-extrema-group>strong{font-family:var(--font-display),sans-serif;grid-column:1/-1;font-size:11px}.chart-extrema-group>span{font-family:var(--font-mono),monospace;white-space:nowrap;grid-template-columns:auto 1fr;align-items:baseline;gap:5px;font-size:11px;font-weight:600;display:grid}.chart-extrema-group small{color:var(--ink-soft);font-family:var(--font-display),sans-serif;font-size:8px;font-weight:700}.chart-extrema-battery{border-color:#1d7a63}.chart-extrema-temperature{border-color:#b24d3a}.chart-extrema-rsrp{border-color:#c2410c}.chart-extrema-snr{border-color:#2563eb}.chart-extrema-solar{grid-template-columns:repeat(3,minmax(0,1fr));width:100%}.chart-extrema-panel{border-color:#c99718}.chart-extrema-current{border-color:#1976a3}.solar-series-legend{flex-wrap:wrap}.solar-index-panel{align-content:start;min-height:372px;padding-bottom:18px;display:grid}.solar-index-panel .section-title h2{align-items:center;gap:7px;display:flex}.solar-index-panel .section-title h2 svg{color:#9c6c0d}.solar-index-panel .section-title>div>span{margin-top:3px;display:block}.solar-history-trigger{min-height:32px;padding-inline:10px}.solar-index-current{background:#fff9e8;border-top:1px solid #f0dfaf;border-bottom:1px solid #f0dfaf;grid-template-columns:110px minmax(0,1fr);align-items:center;gap:24px;min-height:148px;padding:18px 24px;display:grid}.solar-index-value{gap:3px;display:grid}.solar-index-value strong{color:#76520a;font-family:var(--font-display),sans-serif;font-size:38px}.solar-index-value span{color:var(--ink-soft);font-size:12px}.solar-index-scale{grid-template-columns:repeat(9,minmax(7px,1fr));align-items:end;gap:4px;height:70px;display:grid}.solar-index-scale i{min-width:0;height:calc(14px + var(--solar-level,0) * 5px);background:#e1e5e1;border-radius:2px 2px 0 0}.solar-index-scale i:first-child{--solar-level:1}.solar-index-scale i:nth-child(2){--solar-level:2}.solar-index-scale i:nth-child(3){--solar-level:3}.solar-index-scale i:nth-child(4){--solar-level:4}.solar-index-scale i:nth-child(5){--solar-level:5}.solar-index-scale i:nth-child(6){--solar-level:6}.solar-index-scale i:nth-child(7){--solar-level:7}.solar-index-scale i:nth-child(8){--solar-level:8}.solar-index-scale i:nth-child(9){--solar-level:9}.solar-index-scale i.is-active{background:#d5a21b}.solar-current-grid{background:var(--line);border:1px solid var(--line);border-radius:5px;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;margin:18px 6px 0;display:grid;overflow:hidden}.solar-current-grid>div{background:var(--surface);grid-template-rows:auto auto;grid-template-columns:20px minmax(0,1fr);gap:3px 7px;min-width:0;padding:11px;display:grid}.solar-current-grid svg{color:#9c6c0d;grid-row:1/3}.solar-current-grid span{color:var(--ink-soft);font-size:10px}.solar-current-grid strong{font-family:var(--font-mono),monospace;text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.solar-index-panel.is-absent{background:var(--surface)}.solar-empty{min-height:285px;color:var(--ink-soft);text-align:center;align-content:center;place-items:center;gap:8px;display:grid}.solar-empty strong{color:var(--ink);font-size:14px}.solar-empty span{font-size:11px}.admin-modal:has(.solar-history-panel){width:min(96vw,1100px)}.solar-history-panel{gap:17px;padding:20px;display:grid}.solar-history-period{justify-self:start}.solar-history-state{min-height:360px;color:var(--ink-soft);text-align:center;place-items:center;gap:12px;display:grid}.solar-summary-grid{background:var(--line);border:1px solid var(--line);border-radius:5px;grid-template-columns:repeat(5,minmax(0,1fr));gap:1px;display:grid;overflow:hidden}.solar-summary-grid>div{background:var(--surface);grid-template-rows:auto auto;grid-template-columns:21px minmax(0,1fr);gap:3px 7px;min-width:0;padding:11px;display:grid}.solar-summary-grid svg{color:var(--green);grid-row:1/3}.solar-summary-grid span{color:var(--ink-soft);font-size:10px}.solar-summary-grid strong{font-family:var(--font-mono),monospace;font-size:13px}.solar-quality{background:var(--green-pale);border-left:3px solid var(--green);align-items:center;gap:10px;padding:10px 12px;display:flex}.solar-quality strong{font-size:13px}.solar-quality span{color:var(--ink-soft);font-size:11px}.solar-heatmap-scroll{max-width:100%;padding-bottom:4px;overflow-x:auto}.solar-heatmap{grid-template-columns:72px repeat(24,28px);gap:3px;width:max-content;min-width:100%;display:grid}.solar-heatmap-corner,.solar-heatmap-hour{height:22px;color:var(--ink-soft);font-family:var(--font-mono),monospace;place-items:center;font-size:9px;display:grid}.solar-heatmap-row{display:contents}.solar-heatmap-row>strong{height:25px;font-family:var(--font-mono),monospace;align-items:center;font-size:10px;font-weight:500;display:grid}.solar-heatmap-cell{background:#eff1ed;border:1px solid #20342b14;border-radius:2px;width:28px;height:25px;display:block;position:relative}.solar-heatmap-cell.is-missing,.solar-heatmap-legend i.is-missing{background:repeating-linear-gradient(135deg,#e1e5e1 0 3px,#f1f3f1 3px 6px)}.solar-level-0{background:#eef1e8}.solar-level-1{background:#e9edce}.solar-level-2{background:#e5e4a9}.solar-level-3{background:#dfd486}.solar-level-4{background:#d8c363}.solar-level-5{background:#caaa42}.solar-level-6{background:#b58d29}.solar-level-7{background:#98701b}.solar-level-8{background:#775415}.solar-level-9{background:#51380f}.solar-heatmap-cell.is-charging:after,.solar-heatmap-legend i.is-charging:after{content:"";background:#1d7a63;border:1px solid #fff;border-radius:50%;width:5px;height:5px;position:absolute;bottom:2px;right:2px}.solar-heatmap-legend{color:var(--ink-soft);flex-wrap:wrap;gap:8px 16px;font-size:10px;display:flex}.solar-heatmap-legend span{align-items:center;gap:5px;display:flex}.solar-heatmap-legend i{border:1px solid var(--line);border-radius:2px;width:18px;height:14px;display:inline-block;position:relative}.radio-legend{justify-content:center;gap:8px;min-height:30px;padding:0 6px 5px;display:flex}.radio-legend button{min-width:76px;min-height:28px;color:var(--ink);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:4px;align-items:center;gap:7px;padding:0 9px;font-size:11px;font-weight:600;display:inline-flex}.radio-legend button:hover{background:var(--surface-muted);border-color:var(--line)}.radio-legend button.is-hidden{color:var(--ink-soft);opacity:.55}.radio-legend i{--radio-series-color:currentColor;background:var(--radio-series-color);width:22px;height:2px;display:block}.radio-legend i.is-dashed{background:repeating-linear-gradient(90deg,var(--radio-series-color) 0 6px,transparent 6px 9px)}.log-frame{overflow:hidden}.log-frame.is-loading .log-row,.log-frame.is-loading .pagination{opacity:.45}.log-row{border-bottom:1px solid #e7ebe7;grid-template-columns:130px 55px minmax(0,1fr) 70px;align-items:center;gap:10px;min-height:0;padding:1px 14px;font-size:12px;display:grid}.log-row time,.log-row small{color:var(--ink-soft);font-family:var(--font-mono),monospace}.event-code{width:fit-content;color:var(--blue);font-family:var(--font-mono),monospace;background:#dfebf2;border-radius:3px;padding:3px 6px;font-size:10px}.virtual-capacity{color:var(--ink-soft);align-items:baseline;gap:7px;display:flex}.virtual-capacity strong{color:var(--green);font-family:var(--font-display),sans-serif;font-size:30px}.virtual-capacity span{font-size:12px}.virtual-device-actions label{color:var(--ink-soft);align-items:center;gap:7px;font-size:11px;font-weight:600;display:flex}.virtual-device-actions input{border:1px solid var(--line);border-radius:4px;width:62px;min-height:38px;padding:0 8px}.command-button.danger{color:var(--red);background:var(--surface);border-color:#e7b8b2}.command-button.danger:hover:not(:disabled){color:#fff;background:var(--red);border-color:var(--red)}.virtual-device-table{min-width:1040px}.virtual-device-table th:first-child,.virtual-device-table td:first-child{text-align:center;width:42px}.virtual-device-table input[type=checkbox]{width:16px;height:16px;accent-color:var(--green)}.mono-value{font-family:var(--font-mono),monospace;white-space:nowrap;font-size:11px}.virtual-device-status{text-transform:uppercase;align-items:center;gap:6px;font-size:11px;font-weight:700;display:inline-flex}.virtual-device-status i{background:#8a969b;border-radius:50%;width:7px;height:7px}.virtual-device-status.status-online i{background:var(--green)}.virtual-device-status.status-offline i{background:var(--red)}.virtual-device-note{color:var(--ink-soft);margin-top:8px;font-size:11px}.virtual-confirmation{grid-template-columns:34px minmax(0,1fr);gap:14px;padding:20px;display:grid}.virtual-confirmation>svg{color:var(--green)}.virtual-confirmation strong{font-family:var(--font-display),sans-serif;font-size:16px}.virtual-confirmation p{color:var(--ink-soft);margin-top:7px;font-size:12px;line-height:1.55}.virtual-confirmation ul{background:var(--surface-muted);border-radius:4px;max-height:130px;margin-top:10px;padding:8px 10px;list-style:none;overflow-y:auto}.virtual-confirmation li{font-family:var(--font-mono),monospace;padding:3px 0;font-size:11px}.virtual-confirmation .form-actions{grid-column:1/-1}.virtual-device-guidance{color:#6f520b;background:var(--yellow-pale);border:1px solid #e7c466;border-left:4px solid var(--yellow);border-radius:5px;align-items:flex-start;gap:10px;padding:11px 13px;display:flex}.virtual-device-guidance>svg{flex:none;margin-top:1px}.virtual-device-guidance p{gap:2px;display:grid}.virtual-device-guidance strong{font-size:12px}.virtual-device-guidance span{color:var(--ink-soft);font-size:11px}.account-state{font-family:var(--font-mono),monospace;font-size:11px}.row-actions{align-items:center;gap:6px;display:flex}.icon-action.approve{color:var(--green)}.icon-action.danger{color:var(--red)}.role-icon{width:28px;height:28px;color:var(--ink-soft);place-items:center;display:grid}.admin-users-page{gap:30px;display:grid}.server-info-section{background:var(--surface);border:1px solid var(--line);border-radius:7px;overflow:hidden;box-shadow:0 3px 14px #17232a09}.server-info-header{align-items:center;min-height:62px;display:flex}.server-info-toggle{text-align:left;cursor:pointer;background:0 0;border:0;grid-template-columns:24px minmax(0,1fr) 20px;align-items:center;gap:11px;width:100%;min-height:62px;padding:9px 16px;display:grid}.server-info-toggle>svg:first-child{color:var(--green)}.server-info-toggle span{min-width:0}.server-info-toggle strong,.server-info-toggle small{display:block}.server-info-toggle strong{font-family:var(--font-display),sans-serif;font-size:17px}.server-info-toggle small{color:var(--ink-soft);margin-top:3px;font-size:11px}.server-info-chevron{color:var(--ink-soft);transition:transform .2s}.server-info-section.is-open .server-info-chevron{transform:rotate(180deg)}.server-info-refresh{width:34px;height:34px;color:var(--green);background:var(--surface);border:1px solid var(--line);cursor:pointer;border-radius:4px;flex:0 0 34px;place-items:center;margin-right:14px;display:grid}.server-info-refresh:disabled{opacity:.5;cursor:wait}.server-info-content{border-top:1px solid var(--line);padding:20px}.server-info-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:24px 30px;display:grid}.server-info-grid>section{min-width:0}.server-info-grid h3{color:var(--green-dark);font-family:var(--font-display),sans-serif;align-items:center;gap:7px;margin-bottom:8px;font-size:14px;display:flex}.server-info-row{border-bottom:1px solid #e7ebe7;grid-template-columns:minmax(105px,.8fr) minmax(0,1.2fr);align-items:start;gap:12px;min-height:37px;padding:8px 0;font-size:12px;display:grid}.server-info-row span{color:var(--ink-soft)}.server-info-row strong{overflow-wrap:anywhere;min-width:0;font-family:var(--font-mono),monospace;text-align:right;font-weight:500}.server-service-status{justify-self:end;align-items:center;gap:7px;display:inline-flex}.server-service-status i{border-radius:50%;width:7px;height:7px}.server-service-status.status-active{color:#17654f}.server-service-status.status-active i{background:#1d7a63}.server-service-status.status-inactive,.server-service-status.status-unknown{color:var(--ink-soft)}.server-service-status.status-inactive i,.server-service-status.status-unknown i{background:#829096}.server-service-status.status-failed{color:var(--red)}.server-service-status.status-failed i{background:var(--red)}.server-info-content footer{color:var(--ink-soft);font-family:var(--font-mono),monospace;text-align:right;margin-top:18px;font-size:10px}.server-info-loading{background:linear-gradient(100deg,#f3f5f3 20%,#fafbfa 35%,#f3f5f3 50%) 0 0/220% 100%;min-height:190px;animation:1.4s infinite shimmer}.server-info-summary{border:1px solid var(--line);border-radius:5px;grid-template-columns:repeat(4,minmax(0,1fr));display:grid;overflow:hidden}.server-info-summary-item{border-right:1px solid var(--line);grid-template-rows:auto auto;grid-template-columns:22px minmax(0,1fr);align-content:center;min-width:0;min-height:74px;padding:11px 14px;display:grid}.server-info-summary-item:last-child{border-right:0}.server-info-summary-item>svg{color:var(--green);grid-row:1/3;align-self:center}.server-info-summary-item span{color:var(--ink-soft);text-transform:uppercase;font-size:10px;font-weight:600}.server-info-summary-item strong{min-width:0;font-family:var(--font-mono),monospace;text-overflow:ellipsis;white-space:nowrap;margin-top:3px;font-size:13px;font-weight:600;overflow:hidden}.server-info-details{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 36px;margin-top:24px;display:grid}.server-info-details>section{min-width:0}.server-info-details h3,.server-info-services h3{color:var(--green-dark);font-family:var(--font-display),sans-serif;align-items:center;gap:7px;margin-bottom:7px;font-size:14px;display:flex}.server-info-details .server-info-row{grid-template-columns:minmax(120px,.75fr) minmax(0,1.25fr)}.server-info-services{border-top:1px solid var(--line);margin-top:24px;padding-top:18px}.server-info-services>div{flex-wrap:wrap;gap:8px;display:flex}.server-service{background:var(--surface-muted);border:1px solid var(--line);border-radius:4px;grid-template-columns:8px auto auto;align-items:center;gap:7px;min-height:34px;padding:0 10px;display:grid}.server-service i{border-radius:50%;width:7px;height:7px}.server-service strong{font-family:var(--font-mono),monospace;font-size:11px;font-weight:600}.server-service small{color:var(--ink-soft);font-size:10px}.server-service.status-active i{background:#1d7a63}.server-service.status-active small{color:#17654f}.server-service.status-inactive i,.server-service.status-unknown i{background:#829096}.server-service.status-failed i{background:var(--red)}.server-service.status-failed small{color:var(--red)}.inline-form select{width:100%;height:42px;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:5px;outline:none;padding:0 11px}.inline-form select:focus{border-color:var(--green);box-shadow:0 0 0 3px #1d7a631f}.assignment-list small{color:var(--ink-soft);font-family:var(--font-body),sans-serif;margin-top:2px;display:block}.span-all{grid-column:1/-1}.work-order-table{min-width:1320px}.interval-summary{min-height:42px;color:var(--green-dark);background:var(--green-pale);border:1px solid var(--green-line);border-radius:5px;align-items:center;gap:9px;padding:9px 11px;font-size:12px;display:flex}.choice-field{border:1px solid var(--line);border-radius:5px;margin:0;padding:12px}.choice-field legend{color:var(--ink-soft);text-transform:uppercase;padding:0 5px;font-size:11px;font-weight:700}.choice-field p{color:var(--ink-soft);margin:4px;font-size:12px}.choice-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.choice-grid label{background:var(--surface-soft);border:1px solid var(--line);text-transform:none;border-radius:4px;flex-direction:row;align-items:flex-start;gap:8px;min-height:38px;padding:8px;display:flex}.choice-grid input{flex:none;width:16px;height:16px;margin-top:2px}.choice-grid span{color:var(--ink);font-size:12px;font-weight:600}.choice-grid small{color:var(--ink-soft);font-size:11px;font-weight:400;display:block}.action-confirm{display:block}.action-summary{background:var(--surface-soft);border-left:3px solid var(--yellow);gap:4px;margin-bottom:16px;padding:14px;display:grid}.action-summary span,.action-summary small{color:var(--ink-soft)}.danger-button{color:#fff;background:var(--red);border:0;border-radius:5px;min-height:38px;padding:0 15px;font-weight:700}.execution-monitor{border-top:1px solid var(--line);padding-top:6px}.execution-filters{grid-template-columns:repeat(4,minmax(145px,1fr)) 175px 175px 32px;align-items:end;gap:8px;display:grid}.execution-filters select,.execution-filters input{width:100%;height:40px;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:5px;padding:0 10px}.execution-filters label{color:var(--ink-soft);gap:4px;font-size:10px;font-weight:600;display:grid}.execution-filters .icon-action{margin-bottom:4px}.execution-table{min-width:940px}.execution-table th:first-child{width:27%}.execution-table th:nth-child(2){width:18%}.execution-table th:last-child{width:76px}.muted-value,.empty-copy{color:var(--ink-soft)}.admin-modal:has(.execution-detail){width:min(100%,760px)}.execution-detail{gap:22px;padding:20px;display:grid}.execution-summary{background:var(--surface-soft);border-left:3px solid var(--green);grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:16px;display:grid}.execution-summary.is-aborted{background:var(--red-pale);border-left-color:var(--red)}.execution-summary>div{align-content:start;gap:5px;min-width:0;display:grid}.execution-summary span,.execution-results small,.execution-timeline small{color:var(--ink-soft);font-size:11px}.execution-detail h3{font-family:var(--font-display),sans-serif;margin-bottom:10px;font-size:15px}.execution-results{gap:8px;display:grid}.execution-results article{background:var(--surface-soft);border-left:3px solid var(--line);gap:7px;padding:12px 14px;display:grid}.execution-results article>div{justify-content:space-between;align-items:center;gap:12px;display:flex}.execution-results p{color:var(--ink-soft);white-space:pre-wrap;font-size:12px;line-height:1.5}.execution-timeline{gap:0;list-style:none;display:grid}.execution-timeline li{grid-template-columns:14px 1fr;gap:10px;min-height:52px;display:grid}.execution-timeline li>span{background:var(--green);border-radius:50%;width:9px;height:9px;margin-top:4px;position:relative}.execution-timeline li>span:after{background:var(--line);content:"";width:1px;position:absolute;top:12px;bottom:-37px;left:4px}.execution-timeline li:last-child>span:after{display:none}.execution-timeline li>div{align-content:start;gap:4px;display:grid}.screen-loader{min-height:100vh;color:var(--ink-soft);align-content:center;place-items:center;gap:12px;font-size:13px;display:grid}.spin{animation:.9s linear infinite spin}.privacy-content,.privacy-section{min-width:0}.privacy-table-scroll{max-width:100%}.privacy-page{min-height:100vh;padding-bottom:54px}.privacy-topbar{min-height:76px;color:var(--brand-on-dark);background:var(--brand-dark);border-bottom:3px solid var(--brand-accent);justify-content:space-between;align-items:center;padding:0 max(24px,50% - 590px);display:flex}.privacy-topbar .brand-mark{color:var(--brand-dark);background:var(--brand-accent)}.privacy-topbar .brand-name span{color:var(--brand-accent)}.privacy-topbar .brand-suffix{color:var(--brand-on-dark-muted);border-color:#ffffff38}.privacy-topbar .secondary-button{color:var(--brand-on-dark);background:#ffffff14;border-color:#fff3}.privacy-container{width:min(100% - 36px,1180px);margin:34px auto 0}.privacy-hero{background:var(--surface);border:1px solid var(--line);border-left:4px solid var(--green);box-shadow:var(--shadow);border-radius:7px;justify-content:space-between;align-items:center;gap:28px;padding:28px 30px;display:flex}.privacy-hero h1{font-family:var(--font-display),sans-serif;margin:7px 0 8px;font-size:34px}.privacy-hero p:last-child{max-width:720px;color:var(--ink-soft);font-size:13px;line-height:1.55}.privacy-hero>svg{color:var(--green);flex:none}.privacy-summary{background:var(--surface);border:1px solid var(--line);border-radius:7px;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:14px;display:grid;overflow:hidden}.privacy-summary article{border-right:1px solid var(--line);grid-template-rows:auto auto;grid-template-columns:28px minmax(0,1fr);align-content:center;min-height:78px;padding:13px 16px;display:grid}.privacy-summary article:last-child{border-right:0}.privacy-summary svg{color:var(--green);grid-row:1/3;align-self:center}.privacy-summary span{color:var(--ink-soft);text-transform:uppercase;font-size:10px;font-weight:600}.privacy-summary strong{font-family:var(--font-mono),monospace;margin-top:3px;font-size:12px}.privacy-layout{grid-template-columns:220px minmax(0,1fr);align-items:start;gap:18px;margin-top:18px;display:grid}.privacy-layout>div{min-width:0}.privacy-index{background:var(--surface);border:1px solid var(--line);border-radius:7px;padding:13px;display:grid;position:sticky;top:18px;box-shadow:0 3px 14px #17232a09}.privacy-index strong{font-family:var(--font-mono),monospace;text-transform:uppercase;padding:4px 8px 9px;font-size:10px}.privacy-index a{color:var(--ink-soft);border-radius:4px;padding:8px;font-size:12px}.privacy-index a:hover{color:var(--green-dark);background:var(--green-pale)}.privacy-content{gap:12px;display:grid}.privacy-section{background:var(--surface);border:1px solid var(--line);border-radius:7px;padding:22px 24px;scroll-margin-top:18px;box-shadow:0 3px 14px #17232a09}.privacy-section h2{color:var(--ink);font-family:var(--font-display),sans-serif;align-items:center;gap:8px;margin-bottom:13px;font-size:18px;display:flex}.privacy-section h2 svg{color:var(--green)}.privacy-section p,.privacy-section li{color:var(--ink-soft);font-size:13px;line-height:1.7}.privacy-section p+p{margin-top:10px}.privacy-section ul{gap:6px;margin:9px 0 11px 20px;display:grid}.privacy-section a{color:var(--green-dark);align-items:center;gap:4px;font-weight:600;display:inline-flex}.privacy-contact{background:var(--surface-muted);border-left:3px solid var(--green);gap:5px;padding:15px 16px;font-size:13px;display:grid}.privacy-contact span{color:var(--ink-soft)}.privacy-table-scroll{width:100%;margin-top:14px;overflow-x:auto}.privacy-cookie-table{table-layout:auto;border:1px solid var(--line);min-width:720px}.privacy-cookie-table th{padding:0 12px}.privacy-cookie-table td{height:auto;color:var(--ink-soft);padding:12px;line-height:1.45}.privacy-cookie-table th:first-child{width:auto}.privacy-cookie-table code{color:var(--blue);font-family:var(--font-mono),monospace;font-size:11px}.privacy-callout{background:var(--green-pale);border-left:3px solid var(--green);margin-top:14px;padding:12px 14px;color:var(--ink)!important}@keyframes reveal{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse-ring{0%,to{opacity:.55;transform:translate(-50%,-50%)scale(.96)}50%{opacity:1;transform:translate(-50%,-50%)scale(1.03)}}@keyframes device-radar-expand{0%{opacity:.72;transform:scale(.5)translate(0,0)}to{opacity:0;transform:scale(5)translate(0,0)}}@keyframes device-row-update{0%,18%{background:#e5f8fa}to{background:0 0}}@keyframes device-row-update-first{0%,18%{background:#e5f8fa;box-shadow:inset 3px 0 #0e7490}to{background:0 0;box-shadow:inset 3px 0 #0e749000}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes shimmer{to{background-position-x:-220%}}@media (max-width:1100px){.privacy-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.privacy-summary article:nth-child(2){border-right:0}.privacy-summary article:nth-child(-n+2){border-bottom:1px solid var(--line)}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.device-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.auth-visual{padding:36px}.content{padding-inline:28px}.execution-monitor .section-toolbar{flex-direction:column;align-items:stretch}.execution-filters{grid-template-columns:repeat(3,minmax(0,1fr))}.server-info-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.server-info-summary-item:nth-child(2){border-right:0}.server-info-summary-item:nth-child(-n+2){border-bottom:1px solid var(--line)}}@media (max-width:820px){.privacy-topbar{padding-inline:18px}.privacy-layout{grid-template-columns:minmax(0,1fr)}.privacy-index{grid-template-columns:repeat(2,minmax(0,1fr));position:static}.privacy-index strong{grid-column:1/-1}.brand-wordmark img{width:164px}.auth-page{grid-template-columns:1fr}.auth-visual{min-height:215px;padding:26px 24px}.auth-visual:before{width:390px;top:-145px;left:auto;right:-35px;transform:none}.signal-field{width:260px;height:260px;top:-26px;left:auto;right:-90px;transform:none}.signal-core{width:56px;height:56px}.signal-ring-one{width:140px;height:140px}.signal-ring-two{width:240px;height:240px}.auth-telemetry{grid-template-columns:repeat(2,minmax(0,1fr));width:min(100%,520px)}.auth-telemetry>div{grid-template-columns:22px 1fr;padding:0 10px}.auth-telemetry strong{display:none}.auth-form-region{min-height:calc(100vh - 215px);padding:38px 24px 52px}.app-shell{display:block}.sidebar{display:none}.mobile-header{z-index:10;color:#fff;background:var(--brand-dark-soft);justify-content:space-between;align-items:center;height:62px;padding:0 18px;display:flex;position:sticky;top:0}.mobile-header .brand-mark{color:var(--brand-dark-soft);background:var(--yellow)}.mobile-nav{z-index:10;min-height:64px;padding:5px 8px calc(5px + env(safe-area-inset-bottom));background:var(--surface);border-top:1px solid var(--line);justify-content:space-around;display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -6px 22px #17232a14}.mobile-nav a{min-height:52px;color:var(--ink-soft);flex-direction:column;flex:1;justify-content:center;gap:3px;font-size:10px}.mobile-nav a.active{color:var(--green);background:var(--green-pale)}.content{padding:25px 18px 94px}.chart-grid{grid-template-columns:1fr}.section-toolbar{flex-direction:column;align-items:stretch}.table-filters{width:100%}.search-field{flex:1;width:auto}.table-scroll table{min-width:830px}.table-scroll .device-table{min-width:980px}.device-map{height:310px}.log-row{grid-template-columns:105px 45px minmax(180px,1fr) 55px;min-width:620px}.log-frame{overflow-x:auto}.toolbar-actions{justify-content:flex-start}.admin-tabs{margin-inline:-4px}.admin-form{grid-template-columns:1fr}:is(.admin-form label,.admin-form label:has(textarea)){grid-column:1}.server-info-details{grid-template-columns:1fr;gap:24px}}@media (max-width:560px){html,body{max-width:100%;overflow-x:hidden}.app-shell,.app-workspace,.content,.page-stack,.admin-workspace,.data-section{min-width:0;max-width:100%}.mobile-header{height:56px;padding-inline:11px}.mobile-header .brand-wordmark img{width:145px}.mobile-header button{width:30px;height:30px}.mobile-nav{min-height:58px;padding-inline:4px}.mobile-nav a{gap:2px;min-width:0;min-height:47px;font-size:9px}.mobile-nav a svg{width:17px;height:17px}.content{padding:18px 10px 84px}.page-stack{gap:20px}.admin-workspace{gap:16px}.eyebrow{font-size:9px}.page-heading,.device-heading{gap:10px}.page-heading h1,.device-heading h1{margin-top:5px;font-size:23px}.live-indicator{gap:6px;font-size:9px}.admin-tabs{gap:2px;margin-inline:-2px;padding-bottom:6px}.admin-tabs a{gap:5px;min-height:34px;padding-inline:9px;font-size:11px}.admin-tabs a svg{width:15px;height:15px}.privacy-page{padding-bottom:28px}.privacy-topbar{min-height:56px;padding-inline:10px}.privacy-topbar .brand-wordmark img{width:138px}.privacy-topbar .brand-suffix{display:none}.privacy-topbar .secondary-button{min-height:32px;padding-inline:8px;font-size:10px}.privacy-container{width:calc(100% - 12px);margin-top:10px}.privacy-hero{gap:14px;padding:16px 13px}.privacy-hero h1{font-size:24px}.privacy-hero>svg{width:30px}.privacy-summary{grid-template-columns:1fr}.privacy-summary article{border-right:0;border-bottom:1px solid var(--line);min-height:66px;padding:10px 12px}.privacy-summary article:nth-child(-n+2){border-bottom:1px solid var(--line)}.privacy-summary article:last-child{border-bottom:0}.privacy-index{grid-template-columns:1fr}.privacy-section{padding:15px 12px}.privacy-section h2{align-items:flex-start;font-size:15px}.cookie-notice{grid-template-columns:20px minmax(0,1fr) 30px;gap:7px;min-height:58px;padding:9px;bottom:6px;left:6px;right:6px}.cookie-notice p{font-size:10px;line-height:1.4}.cookie-notice-acknowledge{grid-column:2;justify-self:start;min-height:32px;padding-inline:10px;font-size:10px}.cookie-notice-close{grid-area:1/3;width:30px;height:30px}.auth-visual{min-height:164px;padding:20px 14px}.auth-visual .brand-wordmark img{width:145px}.auth-visual .brand-suffix{display:none}.auth-telemetry{grid-template-columns:1fr;width:168px}.auth-telemetry>div{min-height:40px;font-size:11px}.auth-telemetry>div:last-child{display:none}.auth-form-region{align-items:start;min-height:calc(100vh - 164px);padding:28px 14px 38px}.auth-region-stack{gap:20px}.auth-panel h1{margin-bottom:22px;font-size:28px}.auth-form{gap:14px}.auth-form label{gap:5px;font-size:12px}.auth-form input{height:40px}.primary-button{height:42px}.form-links,.form-foot{font-size:12px}.form-links{gap:10px}.auth-legal{font-size:10px}.page-heading{align-items:flex-start}.live-indicator{margin-top:5px}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.metric-card{gap:8px;min-height:56px;padding:5px 9px}.metric-card>span{flex-basis:28px;width:28px;height:28px}.metric-card>span svg{width:16px;height:16px}.metric-card small,.device-metrics small{font-size:10px}.metric-card strong{margin-top:2px;font-size:18px}.section-toolbar{gap:10px}.section-toolbar h2,.section-title h2{font-size:15px}.section-toolbar>div>span,.section-title span{font-size:10px}.table-filters{flex-direction:column;align-items:stretch;gap:6px}.search-field,.table-filters select{width:100%}.search-field,.table-filters select,.section-toolbar select{height:38px;font-size:12px}.table-frame,.table-scroll,.log-frame{max-width:100%}.table-scroll table{min-width:700px}.table-scroll .device-table{min-width:980px}.table-scroll th{height:34px;padding-inline:8px;font-size:8px}.table-scroll td{height:54px;padding:6px 8px;font-size:11px}.table-scroll td small{margin-top:2px;font-size:9px}.status-pill{gap:5px;min-height:23px;padding-inline:7px;font-size:9px}.device-kind{min-height:18px;padding-inline:4px;font-size:8px}.lock-indicator,.monitoring-indicator,.location-indicator,.solar-indicator{width:27px;height:27px}.pagination{min-height:43px;padding-inline:9px;font-size:10px}.pagination button,.icon-action{width:30px;height:30px}.device-table th{height:30px;padding-block:2px}.device-table td{height:46px;padding-block:3px}.device-heading{flex-direction:column;align-items:flex-start}.device-heading-identity{width:100%}.device-heading-side{justify-content:space-between;align-items:flex-start;width:100%;max-width:none;padding-bottom:0}.device-heading-location{text-align:left;flex:1}.device-heading-location span,.device-heading-location strong{font-size:9px}.back-link{margin-bottom:16px}.subtle{font-size:9px}.device-iccid{max-width:100%}.device-iccid .subtle{overflow-wrap:anywhere}.device-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.device-metrics article{grid-template-columns:22px minmax(0,1fr);column-gap:5px;min-height:72px;padding:9px}.device-metrics article>span svg{width:16px;height:16px}.device-metrics strong{font-size:14px}.device-metrics .metric-detail{font-size:8px}.device-metrics .access-metric-row strong{font-size:12px}.device-map-heading{min-height:82px;padding:8px 10px}.device-map-heading h2{font-size:13px}.device-map-heading strong{font-size:11px}.device-map-heading span{font-size:10px}.device-map{height:250px}.chart-panel{padding:14px 4px 6px}.chart-panel .section-title{flex-direction:column;align-items:flex-start;gap:8px;padding:0 7px 10px}.chart-title-row{flex-direction:column;align-items:flex-start;gap:7px}.chart-panel-placeholder .chart-placeholder{height:270px}.period-selector{width:100%}.period-selector button{flex:1;min-width:0;min-height:26px;padding-inline:3px;font-size:9px}.chart-extrema{gap:8px;width:100%}.chart-extrema-single{grid-template-columns:minmax(0,145px)}.chart-extrema-group{gap:2px 7px;padding-left:6px}.chart-extrema-group>strong,.chart-extrema-group>span{font-size:9px}.chart-extrema-group small{font-size:7px}.recharts-text{font-size:8px}.radio-legend button{min-width:66px;min-height:26px;padding-inline:7px;font-size:9px}.chart-extrema-solar{grid-template-columns:repeat(2,minmax(0,1fr))}.chart-extrema-solar .chart-extrema-current{grid-column:1/-1;max-width:145px}.solar-index-panel{min-height:340px;padding-bottom:12px}.solar-index-panel .section-title{flex-direction:row;align-items:center}.solar-history-trigger{align-self:center}.solar-index-current{grid-template-columns:78px minmax(0,1fr);gap:12px;min-height:120px;padding:13px 11px}.solar-index-value strong{font-size:29px}.solar-index-scale{gap:2px;height:56px}.solar-current-grid{grid-template-columns:1fr;margin:12px 7px 0}.solar-current-grid>div{min-height:42px;padding:8px 10px}.solar-empty{min-height:250px}.solar-history-panel{gap:13px;padding:12px 8px}.solar-history-period{width:100%}.solar-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.solar-summary-grid>div:last-child{grid-column:1/-1}.solar-quality{flex-direction:column;align-items:flex-start;gap:3px}.solar-heatmap{grid-template-columns:62px repeat(24,25px)}.solar-heatmap-cell{width:25px}.solar-heatmap-legend{gap:7px 10px}.log-row{grid-template-columns:88px 38px minmax(170px,1fr) 38px;gap:5px;min-width:510px;padding-inline:8px;font-size:10px}.event-code{padding:2px 4px;font-size:8px}.toolbar-actions,.toolbar-actions select,.toolbar-actions .command-button{width:100%}.command-button,.secondary-button{min-height:36px;padding-inline:10px;font-size:12px}.virtual-capacity strong{font-size:24px}.virtual-capacity span,.virtual-device-actions label{font-size:10px}.modal-backdrop{padding:7px}.admin-modal{max-height:96vh}.admin-modal>header{min-height:50px;padding-inline:14px}.admin-modal>header h2{font-size:16px}.admin-form,.device-manager,.virtual-confirmation,.sim-quota-panel,.execution-detail{padding:14px}.inline-form,.execution-filters{grid-template-columns:1fr}.execution-filters .icon-action{width:38px;height:38px;margin:0}.execution-summary{grid-template-columns:1fr}.execution-results article>div{flex-direction:column;align-items:flex-start}.sim-identity-grid{grid-template-columns:1fr}.sim-quota-identity,.sim-quota-usage{flex-direction:column;align-items:flex-start}.sim-usage-ring{align-self:center}.sim-quota-details>div{grid-template-columns:1fr;gap:4px}.server-info-toggle small{display:none}.server-info-content{padding:12px}.server-info-grid,.server-info-summary{grid-template-columns:1fr}.server-info-summary-item{border-right:0;border-bottom:1px solid var(--line);min-height:62px;padding:9px 10px}.server-info-summary-item:last-child{border-bottom:0}.server-info-details .server-info-row{grid-template-columns:minmax(90px,.75fr) minmax(0,1.25fr);gap:8px;font-size:10px}.table-scroll .virtual-device-table{min-width:920px}.virtual-device-table .virtual-device-iccid{display:none}.virtual-device-table .virtual-device-imei{white-space:nowrap;width:190px;min-width:190px;padding-right:28px}.virtual-device-table .virtual-device-imei strong{font-family:var(--font-mono),monospace;text-overflow:clip;font-size:11px;display:block;overflow:hidden}.virtual-device-table .virtual-device-location{white-space:nowrap;width:205px;min-width:205px;padding-left:28px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.device-row-updated>td{background:#e5f8fa;animation:none!important}.device-row-updated>td:first-child{box-shadow:inset 3px 0 #0e7490}}.auth-form-region{flex-direction:column;align-items:center;padding-bottom:24px;display:flex}.auth-region-stack{flex:1;place-items:center;display:grid}.app-workspace{flex-direction:column;min-height:100vh;display:flex}.content{flex:1}.privacy-page{flex-direction:column;padding-bottom:0;display:flex}.privacy-container{flex:1;margin-bottom:54px}.site-footer{width:100%;color:var(--ink-soft);border-top:1px solid var(--line);text-align:center;flex-wrap:wrap;justify-content:center;align-items:center;gap:7px 18px;padding:14px 24px;font-size:10px;line-height:1.4;display:flex}.site-footer a{color:var(--green-dark);font-weight:600}.site-footer a:hover{text-decoration:underline}@media (max-width:820px){.app-workspace>.site-footer{padding-bottom:calc(78px + env(safe-area-inset-bottom))}}@media (max-width:560px){.privacy-container{margin-bottom:32px}.site-footer{flex-direction:column;gap:4px;padding-inline:12px}.auth-form-region{align-items:stretch;padding:28px 14px 24px}.auth-region-stack{place-items:start center;width:100%}}.audit-toolbar{grid-template-columns:minmax(220px,1.2fr) 150px 150px 32px auto;align-items:end;gap:8px;display:grid}.audit-toolbar label{color:var(--ink-soft);gap:4px;font-size:10px;font-weight:600;display:grid}.audit-toolbar select,.audit-toolbar input{width:100%;height:40px;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:5px;padding:0 10px}.audit-toolbar .icon-action{margin-bottom:4px}.audit-actions{justify-content:flex-end;gap:7px;display:flex}.user-audit-page .section-title{padding:8px 0 0}.user-audit-table{min-width:1180px}.user-audit-table th:first-child{width:150px}.user-audit-table th:nth-child(2){width:210px}.user-audit-table th:nth-child(3){width:105px}.user-audit-table th:nth-child(4){width:auto}.user-audit-table th:nth-child(5){width:190px}.user-audit-table th:last-child{width:90px}.user-audit-table td{height:44px;padding-block:4px}.admin-status.status-open{color:var(--blue);background:#dfebf2}.admin-status.status-closed{color:var(--green-dark);background:var(--green-pale)}.admin-status.status-expired{color:var(--ink-soft);background:var(--surface-muted)}@media (max-width:1100px){.audit-toolbar{grid-template-columns:repeat(3,minmax(140px,1fr)) 32px}.audit-actions{grid-column:1/-1;justify-content:flex-start}}@media (max-width:560px){.audit-toolbar{grid-template-columns:1fr}.audit-toolbar .icon-action{width:38px;height:38px;margin:0}.audit-actions{grid-template-columns:1fr 1fr;display:grid}.audit-actions .command-button{grid-column:1/-1}}.server-info-logs{border-top:1px solid var(--line);margin-top:24px;padding-top:18px}.server-info-logs>h3{color:var(--green-dark);font-family:var(--font-display),sans-serif;align-items:center;gap:7px;margin-bottom:12px;font-size:14px;display:flex}.server-info-log-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:0 28px;display:grid}.server-info-log-grid>section{min-width:0}.server-info-log-grid>section>header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:8px;min-height:34px;font-size:13px;display:flex}.server-info-policy{align-items:center;gap:4px;font-size:10px;font-weight:700;display:inline-flex}.server-info-policy.is-applied{color:#17654f}.server-info-policy.is-missing{color:var(--red)}@media (max-width:1100px){.server-info-log-grid{grid-template-columns:1fr;gap:20px}}
