@font-face{font-display:swap;font-family:Montserrat;font-style:normal;font-weight:400;src:url(/static/media/montserrat-cyrillic-ext-400-normal.98c6748b7d590ea7b980.woff2) format("woff2"),url(/static/media/montserrat-cyrillic-ext-400-normal.f6089642713132ee161e.woff) format("woff");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-display:swap;font-family:Montserrat;font-style:normal;font-weight:400;src:url(/static/media/montserrat-cyrillic-400-normal.f1372c6da10f0872f256.woff2) format("woff2"),url(/static/media/montserrat-cyrillic-400-normal.fdfc849048f4ae886918.woff) format("woff");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-display:swap;font-family:Montserrat;font-style:normal;font-weight:400;src:url(/static/media/montserrat-vietnamese-400-normal.08d11513a3457d97615f.woff2) format("woff2"),url(/static/media/montserrat-vietnamese-400-normal.b8cc86df02e09d41231f.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-display:swap;font-family:Montserrat;font-style:normal;font-weight:400;src:url(/static/media/montserrat-latin-ext-400-normal.2d8121b81156105f33b9.woff2) format("woff2"),url(/static/media/montserrat-latin-ext-400-normal.89d9bb7d8d46019bbb7b.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-display:swap;font-family:Montserrat;font-style:normal;font-weight:400;src:url(/static/media/montserrat-latin-400-normal.be11f029bc2fff5574a8.woff2) format("woff2"),url(/static/media/montserrat-latin-400-normal.907a356a92ed8599f660.woff) format("woff");unicode-range:u+00??,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-display:swap;font-family:Montserrat;font-style:normal;font-weight:500;src:url(/static/media/montserrat-cyrillic-ext-500-normal.cbcff3f88179fd473dfc.woff2) format("woff2"),url(/static/media/montserrat-cyrillic-ext-500-normal.408c9c42da47511f7e74.woff) format("woff");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-display:swap;font-family:Montserrat;font-style:normal;font-weight:500;src:url(/static/media/montserrat-cyrillic-500-normal.a85d5b9d1327aec3bfe7.woff2) format("woff2"),url(/static/media/montserrat-cyrillic-500-normal.50a297a662d0e723af53.woff) format("woff");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-display:swap;font-family:Montserrat;font-style:normal;font-weight:500;src:url(/static/media/montserrat-vietnamese-500-normal.f7be89f6e03059fb9189.woff2) format("woff2"),url(/static/media/montserrat-vietnamese-500-normal.e8417c6c86cec1596ca8.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-display:swap;font-family:Montserrat;font-style:normal;font-weight:500;src:url(/static/media/montserrat-latin-ext-500-normal.434c6c04df63cf570f12.woff2) format("woff2"),url(/static/media/montserrat-latin-ext-500-normal.3fdb8a9d01d93cc3aa42.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-display:swap;font-family:Montserrat;font-style:normal;font-weight:500;src:url(/static/media/montserrat-latin-500-normal.51397ece37782604acef.woff2) format("woff2"),url(/static/media/montserrat-latin-500-normal.62a3b58bc873c986c703.woff) format("woff");unicode-range:u+00??,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-display:swap;font-family:Montserrat;font-style:normal;font-weight:600;src:url(/static/media/montserrat-cyrillic-ext-600-normal.1adec53821288420fa58.woff2) format("woff2"),url(/static/media/montserrat-cyrillic-ext-600-normal.73b71516e1b651d93f88.woff) format("woff");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-display:swap;font-family:Montserrat;font-style:normal;font-weight:600;src:url(/static/media/montserrat-cyrillic-600-normal.696cbeb08b07560a1138.woff2) format("woff2"),url(/static/media/montserrat-cyrillic-600-normal.9e23f3e41a5108d1719f.woff) format("woff");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-display:swap;font-family:Montserrat;font-style:normal;font-weight:600;src:url(/static/media/montserrat-vietnamese-600-normal.6f3697c077c5571c3225.woff2) format("woff2"),url(/static/media/montserrat-vietnamese-600-normal.8e587580b2a37ad95b51.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-display:swap;font-family:Montserrat;font-style:normal;font-weight:600;src:url(/static/media/montserrat-latin-ext-600-normal.59cbad7e098210c7d556.woff2) format("woff2"),url(/static/media/montserrat-latin-ext-600-normal.c468c922c2cde6cb0a42.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-display:swap;font-family:Montserrat;font-style:normal;font-weight:600;src:url(/static/media/montserrat-latin-600-normal.d30160b75e24bbce5e90.woff2) format("woff2"),url(/static/media/montserrat-latin-600-normal.9e40599e76894a843191.woff) format("woff");unicode-range:u+00??,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-display:swap;font-family:Montserrat;font-style:normal;font-weight:700;src:url(/static/media/montserrat-cyrillic-ext-700-normal.aa1797fac03c6e24eb82.woff2) format("woff2"),url(/static/media/montserrat-cyrillic-ext-700-normal.278a4a363f6a14e1e20f.woff) format("woff");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-display:swap;font-family:Montserrat;font-style:normal;font-weight:700;src:url(/static/media/montserrat-cyrillic-700-normal.fb5901ff68b69d36cf9c.woff2) format("woff2"),url(/static/media/montserrat-cyrillic-700-normal.ce7516d6f5439c262592.woff) format("woff");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-display:swap;font-family:Montserrat;font-style:normal;font-weight:700;src:url(/static/media/montserrat-vietnamese-700-normal.c89be44b3523010a55de.woff2) format("woff2"),url(/static/media/montserrat-vietnamese-700-normal.22844b0b3c839b97f476.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-display:swap;font-family:Montserrat;font-style:normal;font-weight:700;src:url(/static/media/montserrat-latin-ext-700-normal.c0d2b38cae15093d94be.woff2) format("woff2"),url(/static/media/montserrat-latin-ext-700-normal.7ce254c30a28da090e0f.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-display:swap;font-family:Montserrat;font-style:normal;font-weight:700;src:url(/static/media/montserrat-latin-700-normal.9ced692b9436db6be1ff.woff2) format("woff2"),url(/static/media/montserrat-latin-700-normal.fb35cb0bfa0f7f420a5c.woff) format("woff");unicode-range:u+00??,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-display:swap;font-family:Montserrat;font-style:normal;font-weight:800;src:url(/static/media/montserrat-cyrillic-ext-800-normal.674d9fdb2e1863126bb5.woff2) format("woff2"),url(/static/media/montserrat-cyrillic-ext-800-normal.504617719c78b87b7593.woff) format("woff");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-display:swap;font-family:Montserrat;font-style:normal;font-weight:800;src:url(/static/media/montserrat-cyrillic-800-normal.8a5b145fe79996c3549f.woff2) format("woff2"),url(/static/media/montserrat-cyrillic-800-normal.b384ba4c015eb5b2c5f6.woff) format("woff");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-display:swap;font-family:Montserrat;font-style:normal;font-weight:800;src:url(/static/media/montserrat-vietnamese-800-normal.c6f709f38e8d650cc799.woff2) format("woff2"),url(/static/media/montserrat-vietnamese-800-normal.cdf68a739dbe40b56caa.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-display:swap;font-family:Montserrat;font-style:normal;font-weight:800;src:url(/static/media/montserrat-latin-ext-800-normal.f63031b221d9e448a0e2.woff2) format("woff2"),url(/static/media/montserrat-latin-ext-800-normal.f57b6db5a7a6bb55ed59.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-display:swap;font-family:Montserrat;font-style:normal;font-weight:800;src:url(/static/media/montserrat-latin-800-normal.b0e762989c189fcce6c9.woff2) format("woff2"),url(/static/media/montserrat-latin-800-normal.2857aeca94e128d2183c.woff) format("woff");unicode-range:u+00??,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}.leaflet-image-layer,.leaflet-layer,.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-pane,.leaflet-pane>canvas,.leaflet-pane>svg,.leaflet-tile,.leaflet-tile-container,.leaflet-zoom-box{left:0;position:absolute;top:0}.leaflet-container{overflow:hidden}.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-tile{-webkit-user-drag:none;-webkit-user-select:none;user-select:none}.leaflet-tile::selection{background:#0000}.leaflet-safari .leaflet-tile{image-rendering:-webkit-optimize-contrast}.leaflet-safari .leaflet-tile-container{height:1600px;-webkit-transform-origin:0 0;width:1600px}.leaflet-marker-icon,.leaflet-marker-shadow{display:block}.leaflet-container .leaflet-overlay-pane svg{max-height:none!important;max-width:none!important}.leaflet-container .leaflet-marker-pane img,.leaflet-container .leaflet-shadow-pane img,.leaflet-container .leaflet-tile,.leaflet-container .leaflet-tile-pane img,.leaflet-container img.leaflet-image-layer{max-height:none!important;max-width:none!important;padding:0;width:auto}.leaflet-container img.leaflet-tile{mix-blend-mode:plus-lighter}.leaflet-container.leaflet-touch-zoom{touch-action:pan-x pan-y}.leaflet-container.leaflet-touch-drag{touch-action:none;touch-action:pinch-zoom}.leaflet-container.leaflet-touch-drag.leaflet-touch-zoom{touch-action:none}.leaflet-container{-webkit-tap-highlight-color:transparent}.leaflet-container a{-webkit-tap-highlight-color:rgba(51,181,229,.4)}.leaflet-tile{filter:inherit;visibility:hidden}.leaflet-tile-loaded{visibility:inherit}.leaflet-zoom-box{box-sizing:border-box;height:0;width:0;z-index:800}.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{height:1px;width:1px}.lvml{behavior:url(#default#VML);display:inline-block;position:absolute}.leaflet-control{pointer-events:visiblePainted;pointer-events:auto;position:relative;z-index:800}.leaflet-bottom,.leaflet-top{pointer-events:none;position:absolute;z-index:1000}.leaflet-top{top:0}.leaflet-right{right:0}.leaflet-bottom{bottom:0}.leaflet-left{left:0}.leaflet-control{clear:both;float:left}.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{transition:transform .25s cubic-bezier(0,0,.25,1)}.leaflet-pan-anim .leaflet-tile,.leaflet-zoom-anim .leaflet-tile{transition:none}.leaflet-zoom-anim .leaflet-zoom-hide{visibility:hidden}.leaflet-interactive{cursor:pointer}.leaflet-grab{cursor:grab}.leaflet-crosshair,.leaflet-crosshair .leaflet-interactive{cursor:crosshair}.leaflet-control,.leaflet-popup-pane{cursor:auto}.leaflet-dragging .leaflet-grab,.leaflet-dragging .leaflet-grab .leaflet-interactive,.leaflet-dragging .leaflet-marker-draggable{cursor:move;cursor:grabbing}.leaflet-image-layer,.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-pane>svg path,.leaflet-tile-container{pointer-events:none}.leaflet-image-layer.leaflet-interactive,.leaflet-marker-icon.leaflet-interactive,.leaflet-pane>svg path.leaflet-interactive,svg.leaflet-image-layer.leaflet-interactive path{pointer-events:visiblePainted;pointer-events:auto}.leaflet-container{background:#ddd;outline-offset:1px}.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:12px;font-size:.75rem;line-height:1.5}.leaflet-bar{border-radius:4px;box-shadow:0 1px 5px #000000a6}.leaflet-bar a{background-color:#fff;border-bottom:1px solid #ccc;color:#000;display:block;height:26px;line-height:26px;text-align:center;text-decoration:none;width:26px}.leaflet-bar a,.leaflet-control-layers-toggle{background-position:50% 50%;background-repeat:no-repeat;display:block}.leaflet-bar a:focus,.leaflet-bar a:hover{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-left-radius:4px;border-bottom-right-radius:4px}.leaflet-bar a.leaflet-disabled{background-color:#f4f4f4;color:#bbb;cursor:default}.leaflet-touch .leaflet-bar a{height:30px;line-height:30px;width: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-left-radius:2px;border-bottom-right-radius:2px}.leaflet-control-zoom-in,.leaflet-control-zoom-out{font:700 18px Lucida Console,Monaco,monospace;text-indent:1px}.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(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABoAAAAaCAQAAAADQ4RFAAACf0lEQVR4AY1UM3gkARTePdvdoTxXKc+qTl3aU5U6b2Kbkz3Gtq3Zw6ziLGNPzrYx7946Tr6/ee/XeCQ4D3ykPtL5tHno4n0d/h3+xfuWHGLX81cn7r0iTNzjr7LrlxCqPtkbTQEHeqOrTy4Yyt3VCi/IOB0v7rVC7q45Q3Gr5K6jt+3Gl5nCoDD4MtO+j96Wu8atmhGqcNGHObuf8OM/x3AMx38+4Z2sPqzCxRFK2aF2e5Jol56XTLyggAMTL56XOMoS1W4pOyjUcGGQdZxU6qRh7B9Zp+PfpOFlqt0zyDZckPi1ttmIp03jX8gyJ8a/PG2yutpS/Vol7peZIbZcKBAEEheEIAgFbDkz5H6Zrkm2hVWGiXKiF4Ycw0RWKdtC16Q7qe3X4iOMxruonzegJzWaXFrU9utOSsLUmrc0YjeWYjCW4PDMADElpJSSQ0vQvA1Tm6/JlKnqFs1EGyZiFCqnRZTEJJJiKRYzVYzJck2Rm6P4iH+cmSY0YzimYa8l0EtTODFWhcMIMVqdsI2uiTvKmTisIDHJ3od5GILVhBCarCfVRmo4uTjkhrhzkiBV7SsaqS+TzrzM1qpGGUFt28pIySQHR6h7F6KSwGWm97ay+Z+ZqMcEjEWebE7wxCSQwpkhJqoZA5ivCdZDjJepuJ9IQjGGUmuXJdBFUygxVqVsxFsLMbDe8ZbDYVCGKxs+W080max1hFCarCfV+C1KATwcnvE9gRRuMP2prdbWGowm1KB1y+zwMMENkM755cJ2yPDtqhTI6ED1M/82yIDtC/4j4BijjeObflpO9I9MwXTCsSX8jWAFeHr05WoLTJ5G8IQVS/7vwR6ohirYM7f6HzYpogfS3R2OAAAAAElFTkSuQmCC);height:36px;width:36px}.leaflet-retina .leaflet-control-layers-toggle{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADQAAAA0CAQAAABvcdNgAAAEsklEQVR4AWL4TydIhpZK1kpWOlg0w3ZXP6D2soBtG42jeI6ZmQTHzAxiTbSJsYLjO9HhP+WOmcuhciVnmHVQcJnp7DFvScowZorad/+V/fVzMdMT2g9Cv9guXGv/7pYOrXh2U+RRR3dSd9JRx6bIFc/ekqHI29JC6pJ5ZEh1yWkhkbcFeSjxgx3L2m1cb1C7bceyxA+CNjT/Ifff+/kDk2u/w/33/IeCMOSaWZ4glosqT3DNnNZQ7Cs58/3Ce5HL78iZH/vKVIaYlqzfdLu8Vi7dnvUbEza5Idt36tquZFldl6N5Z/POLof0XLK61mZCmJSWjVF9tEjUluu74IUXvgttuVIHE7YxSkaYhJZam7yiM9Pv82JYfl9nptxZaxMJE4YSPty+vF0+Y2up9d3wwijfjZbabqm/3bZ9ecKHsiGmRflnn1MW4pjHf9oLufyn2z3y1D6n8g8TZhxyzipLNPnAUpsOiuWimg52psrTZYnOWYNDTMuWBWa0tJb4rgq1UvmutpaYEbZlwU3CLJm/ayYjHW5/h7xWLn9Hh1vepDkyf7dE7MtT5LR4e7yYpHrkhOUpEfssBLq2pPhAqoSWKUkk7EDqkmK6RrCEzqDjhNDWNE+XSMvkJRDWlZTmCW0l0PHQGRZY5t1L83kT0Y3l2SItk5JAWHl2dCOBm+fPu3fo5/3v61RMCO9Jx2EEYYhb0rmNQMX/vm7gqOEJLcXTGw3CAuRNeyaPWwjR8PRqKQ1PDA/dpv+on9Shox52WFnx0KY8onHayrJzm87i5h9xGw/tfkev0jGsQizqezUKjk12hBMKJ4kbCqGPVNXudyyrShovGw5CgxsRICxF6aRmSjlBnHRzg7Gx8fKqEubI2rahQYdR1YgDIRQO7JvQyD52hoIQx0mxa0ODtW2Iozn1le2iIRdzwWewedyZzewidueOGqlsn1MvcnQpuVwLGG3/IR1hIKxCjelIDZ8ldqWz25jWAsnldEnK0Zxro19TGVb2ffIZEsIO89EIEDvKMPrzmBOQcKQ+rroye6NgRRxqR4U8EAkz0CL6uSGOm6KQCdWjvjRiSP1BPalCRS5iQYiEIvxuBMJEWgzSoHADcVMuN7IuqqTeyUPq22qFimFtxDyBBJEwNyt6TM88blFHao/6tWWhuuOM4SAK4EI4QmFHA+SEyWlp4EQoJ13cYGzMu7yszEIBOm2rVmHUNqwAIQabISNMRstmdhNWcFLsSm+0tjJH1MdRxO5Nx0WDMhCtgD6OKgZeljJqJKc9po8juskR9XN0Y1lZ3mWjLR9JCO1jRDMd0fpYC2VnvjBSEFg7wBENc0R9HFlb0xvF1+TBEpF68d+DHR6IOWVv2BECtxo46hOFUBd/APU57WIoEwJhIi2CdpyZX0m93BZicktMj1AS9dClteUFAUNUIEygRZCtik5zSxI9MubTBH1GOiHsiLJ3OCoSZkILa9PxiN0EbvhsAo8tdAf9Seepd36lGWHmtNANTv5Jd0z4QYyeo/UEJqxKRpg5LZx6btLPsOaEmdMyxYdlc8LMaJnikDlhclqmPiQnTEpLUIZEwkRagjYkEibQErwhkTAKCLQEbUgkzJQWc/0PstHHcfEdQ+UAAAAASUVORK5CYII=);background-size:26px 26px}.leaflet-touch .leaflet-control-layers-toggle{height:44px;width: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{background:#fff;color:#333;padding:6px 10px 6px 6px}.leaflet-control-layers-scrollbar{overflow-x:hidden;overflow-y:scroll;padding-right:5px}.leaflet-control-layers-selector{margin-top:2px;position:relative;top:1px}.leaflet-control-layers label{display:block;font-size:13px;font-size:1.08333em}.leaflet-control-layers-separator{border-top:1px solid #ddd;height:0;margin:5px -10px 5px -6px}.leaflet-default-icon-path{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAApCAYAAADAk4LOAAAFgUlEQVR4Aa1XA5BjWRTN2oW17d3YaZtr2962HUzbDNpjszW24mRt28p47v7zq/bXZtrp/lWnXr337j3nPCe85NcypgSFdugCpW5YoDAMRaIMqRi6aKq5E3YqDQO3qAwjVWrD8Ncq/RBpykd8oZUb/kaJutow8r1aP9II0WmLKLIsJyv1w/kqw9Ch2MYdB++12Onxee/QMwvf4/Dk/Lfp/i4nxTXtOoQ4pW5Aj7wpici1A9erdAN2OH64x8OSP9j3Ft3b7aWkTg/Fm91siTra0f9on5sQr9INejH6CUUUpavjFNq1B+Oadhxmnfa8RfEmN8VNAsQhPqF55xHkMzz3jSmChWU6f7/XZKNH+9+hBLOHYozuKQPxyMPUKkrX/K0uWnfFaJGS1QPRtZsOPtr3NsW0uyh6NNCOkU3Yz+bXbT3I8G3xE5EXLXtCXbbqwCO9zPQYPRTZ5vIDXD7U+w7rFDEoUUf7ibHIR4y6bLVPXrz8JVZEql13trxwue/uDivd3fkWRbS6/IA2bID4uk0UpF1N8qLlbBlXs4Ee7HLTfV1j54APvODnSfOWBqtKVvjgLKzF5YdEk5ewRkGlK0i33Eofffc7HT56jD7/6U+qH3Cx7SBLNntH5YIPvODnyfIXZYRVDPqgHtLs5ABHD3YzLuespb7t79FY34DjMwrVrcTuwlT55YMPvOBnRrJ4VXTdNnYug5ucHLBjEpt30701A3Ts+HEa73u6dT3FNWwflY86eMHPk+Yu+i6pzUpRrW7SNDg5JHR4KapmM5Wv2E8Tfcb1HoqqHMHU+uWDD7zg54mz5/2BSnizi9T1Dg4QQXLToGNCkb6tb1NU+QAlGr1++eADrzhn/u8Q2YZhQVlZ5+CAOtqfbhmaUCS1ezNFVm2imDbPmPng5wmz+gwh+oHDce0eUtQ6OGDIyR0uUhUsoO3vfDmmgOezH0mZN59x7MBi++WDL1g/eEiU3avlidO671bkLfwbw5XV2P8Pzo0ydy4t2/0eu33xYSOMOD8hTf4CrBtGMSoXfPLchX+J0ruSePw3LZeK0juPJbYzrhkH0io7B3k164hiGvawhOKMLkrQLyVpZg8rHFW7E2uHOL888IBPlNZ1FPzstSJM694fWr6RwpvcJK60+0HCILTBzZLFNdtAzJaohze60T8qBzyh5ZuOg5e7uwQppofEmf2++DYvmySqGBuKaicF1blQjhuHdvCIMvp8whTTfZzI7RldpwtSzL+F1+wkdZ2TBOW2gIF88PBTzD/gpeREAMEbxnJcaJHNHrpzji0gQCS6hdkEeYt9DF/2qPcEC8RM28Hwmr3sdNyht00byAut2k3gufWNtgtOEOFGUwcXWNDbdNbpgBGxEvKkOQsxivJx33iow0Vw5S6SVTrpVq11ysA2Rp7gTfPfktc6zhtXBBC+adRLshf6sG2RfHPZ5EAc4sVZ83yCN00Fk/4kggu40ZTvIEm5g24qtU4KjBrx/BTTH8ifVASAG7gKrnWxJDcU7x8X6Ecczhm3o6YicvsLXWfh3Ch1W0k8x0nXF+0fFxgt4phz8QvypiwCCFKMqXCnqXExjq10beH+UUA7+nG6mdG/Pu0f3LgFcGrl2s0kNNjpmoJ9o4B29CMO8dMT4Q5ox8uitF6fqsrJOr8qnwNbRzv6hSnG5wP+64C7h9lp30hKNtKdWjtdkbuPA19nJ7Tz3zR/ibgARbhb4AlhavcBebmTHcFl2fvYEnW0ox9xMxKBS8btJ+KiEbq9zA4RthQXDhPa0T9TEe69gWupwc6uBUphquXgf+/FrIjweHQS4/pduMe5ERUMHUd9xv8ZR98CxkS4F2n3EUrUZ10EYNw7BWm9x1GiPssi3GgiGRDKWRYZfXlON+dfNbM+GgIwYdwAAAAASUVORK5CYII=)}.leaflet-container .leaflet-control-attribution{background:#fff;background:#fffc;margin:0}.leaflet-control-attribution,.leaflet-control-scale-line{color:#333;line-height:1.4;padding:0 5px}.leaflet-control-attribution a{text-decoration:none}.leaflet-control-attribution a:focus,.leaflet-control-attribution a:hover{text-decoration:underline}.leaflet-attribution-flag{display:inline!important;height:.6669em;vertical-align:initial!important;width:1em}.leaflet-left .leaflet-control-scale{margin-left:5px}.leaflet-bottom .leaflet-control-scale{margin-bottom:5px}.leaflet-control-scale-line{background:#fffc;border:2px solid #777;border-top:none;box-sizing:border-box;line-height:1.1;padding:2px 5px 1px;text-shadow:1px 1px #fff;white-space:nowrap}.leaflet-control-scale-line:not(:first-child){border-bottom:none;border-top:2px solid #777;margin-top:-2px}.leaflet-control-scale-line:not(:first-child):not(:last-child){border-bottom:2px solid #777}.leaflet-touch .leaflet-bar,.leaflet-touch .leaflet-control-attribution,.leaflet-touch .leaflet-control-layers{box-shadow:none}.leaflet-touch .leaflet-bar,.leaflet-touch .leaflet-control-layers{background-clip:padding-box;border:2px solid #0003}.leaflet-popup{margin-bottom:20px;position:absolute;text-align:center}.leaflet-popup-content-wrapper{border-radius:12px;padding:1px;text-align:left}.leaflet-popup-content{font-size:13px;font-size:1.08333em;line-height:1.3;margin:13px 24px 13px 20px;min-height:1px}.leaflet-popup-content p{margin:1.3em 0}.leaflet-popup-tip-container{height:20px;left:50%;margin-left:-20px;margin-top:-1px;overflow:hidden;pointer-events:none;position:absolute;width:40px}.leaflet-popup-tip{height:17px;margin:-10px auto 0;padding:1px;pointer-events:auto;transform:rotate(45deg);width:17px}.leaflet-popup-content-wrapper,.leaflet-popup-tip{background:#fff;box-shadow:0 3px 14px #0006;color:#333}.leaflet-container a.leaflet-popup-close-button{background:#0000;border:none;color:#757575;font:16px/24px Tahoma,Verdana,sans-serif;height:24px;position:absolute;right:0;text-align:center;text-decoration:none;top:0;width:24px}.leaflet-container a.leaflet-popup-close-button:focus,.leaflet-container a.leaflet-popup-close-button:hover{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)";filter:progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678,M12=0.70710678,M21=-0.70710678,M22=0.70710678);margin:0 auto;width:24px}.leaflet-oldie .leaflet-control-layers,.leaflet-oldie .leaflet-control-zoom,.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{background-color:#fff;border:1px solid #fff;border-radius:3px;box-shadow:0 1px 3px #0006;color:#222;padding:6px;pointer-events:none;position:absolute;-webkit-user-select:none;user-select:none;white-space:nowrap}.leaflet-tooltip.leaflet-interactive{cursor:pointer;pointer-events:auto}.leaflet-tooltip-bottom:before,.leaflet-tooltip-left:before,.leaflet-tooltip-right:before,.leaflet-tooltip-top:before{background:#0000;border:6px solid #0000;content:"";pointer-events:none;position:absolute}.leaflet-tooltip-bottom{margin-top:6px}.leaflet-tooltip-top{margin-top:-6px}.leaflet-tooltip-bottom:before,.leaflet-tooltip-top:before{left:50%;margin-left:-6px}.leaflet-tooltip-top:before{border-top-color:#fff;bottom:0;margin-bottom:-12px}.leaflet-tooltip-bottom:before{border-bottom-color:#fff;margin-left:-6px;margin-top:-12px;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;left:0;margin-left:-12px}@media print{.leaflet-control{-webkit-print-color-adjust:exact;print-color-adjust:exact}}:root{--biliti-green:#49e875;--biliti-green-hover:#34d863;--biliti-green-ink:#0c7a3a;--biliti-dark:#191919;--biliti-blue:#1982c4;--biliti-yellow:#ffca3a;--biliti-danger:#f44;--brand-dark:var(--biliti-dark);--brand-dark-2:#2b2b2b;--primary:var(--biliti-green);--primary-hover:var(--biliti-green-hover);--on-primary:#191919;--link:var(--biliti-green-ink);--ink:#191919;--ink-muted:#5a6b6b;--bg:#f7faf9;--surface:#fff;--border:#e3e8ef;--success:#1f9d57;--success-bg:#e7f7ee;--warning:#b7791f;--warning-bg:#fdf3da;--danger:#d64545;--danger-bg:#fdecec;--info:#1982c4;--info-bg:#e8f3fb;--radius:10px;--radius-sm:6px;--shadow:0 1px 3px #19191914,0 1px 2px #1919190a;--shadow-lg:0 8px 30px #19191929;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--cell-pad:10px 12px}*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f7faf9;background-color:var(--bg);color:#191919;color:var(--ink);font-family:Montserrat,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,sans-serif}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.leaflet-container{height:100%;width:100%}.header{background-color:var(--brand-dark);box-shadow:0 2px 4px #0000001a;color:#fff;padding:1rem 0;position:relative}.header-container{justify-content:space-between;padding:0 1.5rem}.header-container,.logo{align-items:center;display:flex}.logo{color:#fff;font-size:1.5rem;font-weight:700;gap:.5rem;text-decoration:none}.logo-mark{display:block;height:26px;width:auto}.logo-text{color:#fff;font-weight:800;letter-spacing:-.01em}.nav{align-items:center;display:flex;gap:1.1rem}.nav-link{color:#fff;text-decoration:none;transition:opacity .2s}.nav-link:hover{opacity:.8}.nav-user{color:#ecf0f1;font-size:.9rem}.nav-button{background-color:var(--primary);border:none;border-radius:4px;color:var(--on-primary);cursor:pointer;font-size:.9rem;font-weight:600;padding:.5rem 1rem;text-decoration:none;transition:background-color .2s}.nav-button:hover{background-color:var(--primary-hover)}.nav-toggle{background:none;border:none;color:#fff;cursor:pointer;display:none;font-size:1.6rem;line-height:1;padding:.25rem .5rem}@media (max-width:768px){.header-container{padding:0 1rem}.nav-toggle{display:block}.nav{align-items:stretch;background-color:var(--brand-dark);box-shadow:0 6px 12px #0000004d;display:none;flex-direction:column;gap:0;left:0;padding:.5rem 1rem 1rem;position:absolute;right:0;top:100%;z-index:1000}.nav.open{display:flex}.nav .nav-link,.nav .nav-user{border-top:1px solid #ffffff1f;padding:.85rem .25rem}.nav .nav-button{margin-top:.85rem;padding:.85rem;text-align:center;width:100%}}.home{flex:1 1}.hero{background:linear-gradient(135deg,var(--brand-dark-2) 0,var(--brand-dark) 100%);color:#fff;padding:4rem 2rem;text-align:center}.hero h1{font-size:3rem;margin-bottom:1rem}.hero-subtitle{font-size:1.25rem;margin-bottom:2rem;opacity:.9}.hero-actions{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center}.btn{border-radius:4px;display:inline-block;font-weight:600;padding:.75rem 2rem;text-decoration:none;transition:transform .2s,box-shadow .2s}.btn:hover{box-shadow:0 4px 8px #0003;transform:translateY(-2px)}.btn-primary{background-color:var(--primary);color:var(--on-primary)}.btn-secondary{background-color:initial;border:2px solid #fff}.features{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin:4rem auto;max-width:1200px;padding:0 2rem}.feature{background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;padding:2rem;text-align:center}.feature-icon{font-size:3rem;margin-bottom:1rem}.feature h3{color:var(--ink);margin-bottom:.5rem}.feature p{color:#666;line-height:1.6}.auth-container{align-items:center;display:flex;justify-content:center;min-height:calc(100vh - 80px);padding:2rem}.auth-card{background:#fff;border-radius:8px;box-shadow:0 4px 12px #0000001a;max-width:400px;padding:2rem;width:100%}.auth-brand{align-items:center;display:flex;gap:.5rem;justify-content:center;margin-bottom:1.25rem}.auth-logo{display:block;height:36px;width:auto}.auth-brand-name{color:var(--ink);font-size:1.4rem;font-weight:800;letter-spacing:-.01em}.auth-card h2{color:var(--ink);text-align:center}.auth-card h2,.form-group{margin-bottom:1.5rem}.form-group label{margin-bottom:.5rem}.form-group input{padding:.75rem;transition:border-color .2s}.submit-button{background-color:var(--primary);border-radius:4px;padding:.75rem;width:100%}.submit-button:hover:not(:disabled){background-color:var(--primary-hover)}.submit-button:disabled{cursor:not-allowed;opacity:.6}.error-message{background-color:#fee;border:1px solid #fcc;border-radius:4px;color:#c33}.error-message,.success-message{margin-bottom:1rem;padding:.75rem}.success-message{background-color:#e8f5e9;border:1px solid #c8e6c9;border-radius:4px;color:#2e7d32}.auth-footer{color:#666;margin-top:1.5rem;text-align:center}.auth-footer a{color:var(--link);font-weight:600;text-decoration:none}.auth-footer a:hover{text-decoration:underline}.trip-map{margin-top:10px}.trip-map-canvas{border:1px solid var(--border);border-radius:8px;height:240px;width:100%}.trip-map-stats{color:var(--ink);display:flex;flex-wrap:wrap;font-size:.88rem;font-weight:600;gap:14px;margin-bottom:8px}.trip-map-status{background:var(--bg);border-radius:8px;color:var(--ink-muted);font-size:.88rem;margin-top:10px;padding:16px;text-align:center}.trip-map-note{color:var(--ink-muted);font-size:.78rem;font-style:italic;margin-top:6px}.dashboard{flex:1 1;padding:2rem}@media (max-width:600px){.dashboard{padding:1rem .75rem}.dashboard h1{font-size:1.4rem;margin-bottom:1rem}.bookings-list{grid-template-columns:1fr}.booking-header{flex-wrap:wrap;gap:.4rem}.ride-actions{flex-direction:column}.pause-button,.resume-button,.return-button,.ride-actions button{width:100%}.active-booking-card{padding:1rem}.fare-amount{font-size:1.2rem}}.dashboard-container{margin:0 auto;max-width:1200px}.dashboard h1{color:#2c3e50;margin-bottom:2rem}.active-booking-card{background:linear-gradient(135deg,var(--brand-dark-2) 0,var(--brand-dark) 100%);border-radius:8px;box-shadow:0 4px 12px #0000001a;color:#fff;margin-bottom:2rem;padding:2rem}.active-booking-card h2{margin-bottom:1rem}.booking-info{margin-bottom:1.5rem}.booking-info p{margin-bottom:.5rem}.return-button{background-color:#fff;border:none;border-radius:4px;color:var(--ink);cursor:pointer;font-size:1rem;font-weight:600;padding:.75rem 2rem;transition:transform .2s}.return-button:hover{box-shadow:0 4px 8px #0003;transform:translateY(-2px)}.ride-actions{display:flex;flex-wrap:wrap;gap:.75rem}.pause-button,.resume-button{border:none;border-radius:4px;cursor:pointer;font-size:1rem;font-weight:600;padding:.75rem 1.5rem;transition:transform .2s}.pause-button{background-color:#fff3;border:1px solid #fff9;color:#fff}.resume-button{background-color:#2ecc71;color:#fff}.pause-button:hover,.resume-button:hover{box-shadow:0 4px 8px #0003;transform:translateY(-2px)}.pause-button:disabled,.resume-button:disabled{box-shadow:none;cursor:not-allowed;opacity:.6;transform:none}.paused-note{background:#ffffff26;border-radius:4px;font-size:.95rem;margin-top:.75rem;padding:.5rem .75rem}.bookings-section h2{color:#2c3e50;margin-bottom:1rem}.no-bookings{background:#fff;border-radius:8px;color:#666;padding:2rem}.bookings-list{grid-gap:1rem;display:grid;gap:1rem}.booking-card{background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;padding:1.5rem}.booking-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem}.booking-status{border-radius:12px;padding:.25rem .75rem;text-transform:uppercase}.status-active{background-color:#3498db;color:#fff}.status-completed{background-color:#27ae60;color:#fff}.booking-details p{color:#333;margin-bottom:.5rem}.trip-toggle{background:none;border:1px solid var(--primary);border-radius:var(--radius-sm);color:var(--link);cursor:pointer;font-family:inherit;font-size:.85rem;font-weight:600;margin-top:.5rem;padding:6px 12px;transition:background .15s ease}.trip-toggle:hover{background:#49e8751a}.ride-timer{font-size:1.4rem;font-weight:700;margin-top:.5rem}.return-progress{margin:1rem 0}.return-progress-bar{background:#ffffff4d;border-radius:3px;height:6px;overflow:hidden}.return-progress-fill{background:#fff;border-radius:3px;height:100%;transition:width 1s linear}.return-progress-label{font-size:.85rem;margin-top:.4rem;opacity:.85}.fare-summary-card{background:#27ae60;border-radius:8px;box-shadow:0 4px 12px #0000001a;color:#fff;margin-bottom:1.5rem;padding:1.5rem}.fare-summary-card h2{margin-bottom:.75rem}.fare-details p{margin-bottom:.4rem}.fare-amount{font-size:1.4rem;font-weight:700;margin-top:.5rem}.dismiss-button{background:#ffffff40;border:1px solid #fff;border-radius:4px;color:#fff;cursor:pointer;font-size:.9rem;margin-top:1rem;padding:.4rem 1.2rem}.booking-amount{color:#27ae60;font-size:1rem;font-weight:700}.pending-approval-msg{opacity:.95}.pending-approval-sub{font-style:italic;opacity:.75}.return-button:disabled{box-shadow:none;cursor:not-allowed;opacity:.6;transform:none}.status-pending_approval{background-color:#f39c12;color:#fff}.status-pending_return_approval{background-color:#e67e22;color:#fff}.status-cancelled{background-color:#e74c3c;color:#fff}.profile-page{background:var(--bg);min-height:calc(100vh - 80px);padding:24px 16px 48px}.profile-container{margin:0 auto;max-width:560px}.profile-container h1{color:var(--ink);margin-bottom:18px}.profile-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);margin-bottom:20px;padding:20px}.profile-card h2{color:var(--ink);font-size:1.1rem;margin-bottom:16px}.profile-field{display:block;margin-bottom:14px}.profile-field span{color:var(--ink-muted);display:block;font-size:.85rem;font-weight:600;margin-bottom:6px}.profile-field input{background:#fff;border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--ink);font-family:inherit;font-size:.95rem;padding:10px 12px;width:100%}.profile-field input:focus{border-color:var(--primary);box-shadow:0 0 0 3px #49e8752e;outline:none}.profile-role{color:var(--ink-muted);text-transform:capitalize}.profile-msg,.profile-role{font-size:.9rem;margin-bottom:14px}.profile-msg{border-radius:var(--radius-sm);padding:9px 12px}.profile-msg.success{background:var(--success-bg);color:var(--success)}.profile-msg.error{background:var(--danger-bg);color:var(--danger)}.profile-save{background:var(--primary);border:none;border-radius:var(--radius-sm);color:var(--on-primary);cursor:pointer;font-size:.95rem;font-weight:600;padding:11px 20px;transition:background .2s ease,opacity .2s ease}.profile-save:hover:not(:disabled){background:var(--primary-hover)}.profile-save:disabled{cursor:not-allowed;opacity:.65}.dashboard-overview{padding:20px}.dashboard-loading{color:var(--ink-muted);font-size:1.2rem;padding:40px;text-align:center}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:30px}.stat-card{align-items:center;border-radius:var(--radius);box-shadow:var(--shadow);display:flex;gap:20px;padding:24px;transition:transform .2s,box-shadow .2s}.stat-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.stat-icon{align-items:center;background:var(--brand-dark);border-radius:var(--radius);display:flex;flex-shrink:0;font-size:3rem;height:80px;justify-content:center;width:80px}.stat-card.batteries .stat-icon{background:var(--primary)}.stat-card.vehicles .stat-icon{background:var(--biliti-blue)}.stat-card.bookings .stat-icon{background:var(--info)}.stat-card.revenue .stat-icon{background:var(--brand-dark-2)}.stat-card.users .stat-icon{background:var(--biliti-green-ink)}.stat-content{flex:1 1}.stat-content h3{color:var(--ink-muted);font-size:.9rem;font-weight:500;letter-spacing:.5px;margin:0 0 8px;text-transform:uppercase}.stat-value{font-size:2rem;margin-bottom:8px}.stat-details{color:var(--ink-muted);display:flex;flex-wrap:wrap;font-size:.85rem;gap:12px}.stat-details span{background:#eef1f4;border-radius:var(--radius-sm);padding:4px 8px}.stat-details .available{background:var(--success-bg);color:var(--success)}.stat-details .rented{background:var(--warning-bg);color:var(--warning)}.stat-details .maintenance{background:var(--info-bg);color:var(--info)}.stat-details .offline{background:var(--danger-bg);color:var(--danger)}.system-health{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);margin-bottom:30px;padding:24px}.system-health h2{color:var(--ink);font-size:1.3rem;margin:0 0 16px}.health-items{display:flex;flex-wrap:wrap;gap:24px}.health-item{align-items:center;background:#eef1f4;border-radius:var(--radius-sm);display:flex;gap:12px;padding:12px 20px}.health-label{color:var(--ink-muted);font-weight:500}.health-status{border-radius:var(--radius-sm);font-weight:600;padding:4px 12px;text-transform:capitalize}.health-item.connected .health-status,.health-item.healthy .health-status{background:var(--success-bg);color:var(--success)}.health-item.unknown .health-status{background:var(--warning-bg);color:var(--warning)}.dashboard-sections{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(400px,1fr))}.dashboard-section{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:24px}.dashboard-section h2{border-bottom:2px solid var(--border);color:var(--ink);font-size:1.3rem;margin:0 0 20px;padding-bottom:12px}.no-alerts{padding:20px}.alert-item{align-items:center;border-radius:8px;padding:12px}.alert-item.error{color:var(--danger)}.alert-item.warning{color:var(--warning)}.alert-icon{font-size:1.2rem}.alert-message{flex:1 1;font-size:.9rem}.no-data{color:var(--ink-muted)}.booking-item{background:var(--bg);padding:16px;transition:background .2s}.booking-item:hover{background:#eef1f4}.booking-status{font-size:.85rem;padding:6px 12px}@media (max-width:768px){.dashboard-sections,.stats-grid{grid-template-columns:1fr}.stat-card{flex-direction:column;text-align:center}}.ui-modal-overlay{align-items:center;background:#19191980;display:flex;inset:0;justify-content:center;padding:1rem;position:fixed;z-index:1000}.ui-modal{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow-lg);max-height:85vh;max-width:480px;overflow:auto;padding:20px;width:100%}.ui-modal-title{color:var(--ink);font-size:1.15rem;margin:0 0 12px}.ui-modal-body{color:var(--ink);font-size:.92rem}.ui-modal-message{color:var(--ink-muted);line-height:1.45;margin:0 0 8px}.ui-modal-label{color:var(--ink-muted);display:block;font-size:.82rem;margin:8px 0 4px}.ui-modal-input{border:1px solid var(--border);border-radius:var(--radius-sm);font-family:inherit;font-size:.9rem;padding:10px 12px;width:100%}.ui-modal-input:focus{border-color:var(--primary);outline:none}.ui-modal-footer{display:flex;gap:10px;justify-content:flex-end;margin-top:18px}.ui-btn{border:none;border-radius:var(--radius-sm);cursor:pointer;font-family:inherit;font-size:.9rem;font-weight:600;padding:9px 16px}.ui-btn:disabled{cursor:default;opacity:.55}.ui-btn-primary{background:var(--primary);color:var(--on-primary)}.ui-btn-danger{background:var(--danger);color:#fff}.ui-btn-ghost{background:#eef1f4;color:var(--ink)}.battery-fleet-management{padding:20px}.fleet-header{align-items:center;border-bottom:2px solid var(--border);display:flex;justify-content:space-between;margin-bottom:24px;padding-bottom:16px}.fleet-header h2{color:var(--ink);font-size:1.8rem;margin:0 0 8px}.fleet-header p{color:var(--ink-muted);font-size:.9rem;margin:0}.deleted-batteries-count{color:var(--danger)!important;font-size:.85rem!important;margin-top:8px!important}.toggle-deleted-btn{background:#eef1f4;border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--ink-muted);cursor:pointer;font-size:.8rem;margin-left:8px;padding:4px 12px;transition:all .2s}.toggle-deleted-btn:hover{background:var(--border);color:var(--ink)}.status-filters{display:flex;flex-wrap:wrap;gap:12px}.status-filters button{background:var(--surface);border:2px solid var(--border);border-radius:var(--radius-sm);color:var(--ink-muted);cursor:pointer;font-size:.9rem;font-weight:500;padding:8px 16px;transition:all .2s}.status-filters button:hover{border-color:var(--primary);color:var(--link)}.status-filters button.active{background:var(--primary);border-color:var(--primary);color:var(--on-primary)}.form-group input:disabled{background:#eef1f4;cursor:not-allowed}.batteries-list{margin-top:24px}.batteries-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(350px,1fr))}.battery-card{background:var(--surface);border-left:4px solid;border-radius:var(--radius);box-shadow:var(--shadow);padding:20px;transition:transform .2s,box-shadow .2s}.battery-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.battery-card.available{border-left-color:var(--success)}.battery-card.rented{border-left-color:var(--warning)}.battery-card.maintenance{border-left-color:var(--danger)}.battery-card-header{align-items:flex-start;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;margin-bottom:16px;padding-bottom:12px}.battery-card-header h4{color:var(--ink);font-size:1.2rem;margin:0 0 4px}.battery-id{color:var(--ink-muted);font-family:monospace;font-size:.85rem;margin:0}.status-badge.available{background:var(--success-bg);color:var(--success)}.status-badge.rented{background:var(--warning-bg);color:var(--warning)}.status-badge.maintenance{background:var(--danger-bg);color:var(--danger)}.battery-card-body{margin-bottom:16px}.battery-info-row{border-bottom:1px solid var(--border);display:flex;justify-content:space-between;padding:8px 0}.battery-info-row:last-child{border-bottom:none}.battery-info-row .label{color:var(--ink-muted);font-size:.9rem;font-weight:500}.battery-info-row .value{color:var(--ink);font-family:monospace;font-size:.9rem;text-align:right}.battery-good{color:var(--success);font-weight:600}.battery-medium{color:var(--warning);font-weight:600}.battery-low{color:var(--danger);font-weight:600}.battery-unknown{color:var(--ink-muted)}.active-status{color:var(--success);font-weight:600}.inactive-status{color:var(--danger);font-weight:600}.battery-card-actions{border-top:1px solid var(--border);gap:8px;padding-top:16px}.action-btn{flex:1 1;min-width:100px}.action-btn.maintenance{border-color:var(--danger);color:var(--danger)}.action-btn.maintenance:hover{background:var(--danger);color:#fff}.action-btn.available{border-color:var(--success);color:var(--success)}.action-btn.available:hover{background:var(--success);color:#fff}.action-btn.ble{border-color:var(--biliti-blue);color:var(--biliti-blue)}.action-btn.ble:hover{background:var(--biliti-blue);color:#fff}.deleted-batteries-section{background:var(--warning-bg);border:2px solid var(--warning);border-radius:var(--radius);box-shadow:var(--shadow);margin-top:40px;padding:24px}.deleted-batteries-section h3{color:var(--warning);font-size:1.3rem;margin:0 0 12px}.deleted-batteries-info{color:var(--warning);font-size:.9rem;margin:0 0 20px}.deleted-batteries-list{display:flex;flex-direction:column;gap:12px}.deleted-battery-item{align-items:center;background:var(--surface);border-left:4px solid var(--warning);border-radius:var(--radius-sm);display:flex;justify-content:space-between;padding:16px;transition:transform .2s,box-shadow .2s}.deleted-battery-item:hover{box-shadow:var(--shadow);transform:translateY(-1px)}.deleted-battery-info{flex:1 1}.deleted-battery-id{color:var(--ink);font-family:monospace;font-size:1rem;font-weight:600;margin-bottom:8px}.deleted-battery-meta{color:var(--ink-muted);display:flex;font-size:.85rem;gap:16px}.deleted-battery-meta span{align-items:center;display:flex}.restore-button{background:linear-gradient(135deg,#4caf50,#45a049);border:none;border-radius:var(--radius-sm);color:#fff;cursor:pointer;font-size:.9rem;font-weight:600;padding:8px 16px;transition:transform .2s,box-shadow .2s}.restore-button:hover{box-shadow:0 4px 12px #4caf5066;transform:translateY(-2px)}@media (max-width:768px){.fleet-header{align-items:flex-start;flex-direction:column;gap:16px}.batteries-grid,.form-grid{grid-template-columns:1fr}.battery-card-actions{flex-direction:column}.action-btn{width:100%}.deleted-battery-item{align-items:flex-start;flex-direction:column;gap:12px}.restore-button{width:100%}}.station-header{flex-wrap:wrap;gap:15px;margin-bottom:20px}.station-header h2{color:var(--ink);margin:0}.station-actions{align-items:center;gap:10px}.search-input{font-size:14px;min-width:200px;padding:8px 12px}.add-button{background-color:var(--primary);color:var(--on-primary);font-size:14px;padding:8px 16px;transition:background-color .2s}.add-button:hover{background-color:var(--primary-hover)}.station-form{background:var(--surface);border-radius:var(--radius-sm);box-shadow:var(--shadow);margin-bottom:20px;padding:20px}.station-form h3{color:var(--ink);margin-bottom:20px;margin-top:0}.form-row{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:15px}.form-group label{color:var(--ink-muted);font-size:14px}.form-group input{padding:8px 12px}.form-group input:focus{border-color:var(--primary);outline:none}.submit-button{background-color:#2ecc71;font-size:14px;padding:10px 20px;transition:background-color .2s}.submit-button:hover{background-color:#27ae60}.cancel-button{background-color:#95a5a6;color:#fff;font-size:14px;padding:10px 20px;transition:background-color .2s}.cancel-button:hover{background-color:#7f8c8d}.stations-grid{grid-template-columns:repeat(auto-fill,minmax(350px,1fr))}.station-card{background:var(--surface);border-radius:var(--radius-sm);box-shadow:var(--shadow);transition:transform .2s,box-shadow .2s}.station-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.station-card-header{border-bottom:1px solid var(--border);padding-bottom:15px}.station-card-header h3{color:var(--ink);font-size:18px}.station-actions-small{display:flex;gap:5px}.delete-button,.edit-button{background:none;font-size:18px;padding:5px;transition:transform .2s}.delete-button:hover,.edit-button:hover{transform:scale(1.2)}.info-row{display:flex;font-size:14px;justify-content:space-between;margin-bottom:8px}.info-label{color:var(--ink-muted);font-weight:500}.info-value{color:var(--ink);flex:1 1;margin-left:10px;text-align:right}.station-stats{border-top:1px solid var(--border);margin-top:15px;padding-top:15px}.stats-header{margin-bottom:15px}.stats-header h4{color:var(--ink);font-size:16px;margin:0}.stats-grid{grid-gap:10px;gap:10px;grid-template-columns:repeat(3,1fr);margin-bottom:15px}.stat-item{background:#eef1f4;border-radius:var(--radius-sm);padding:10px;text-align:center}.stat-label{color:var(--ink-muted);font-size:12px;margin-bottom:5px}.stat-value{font-size:18px}.stat-value.available{color:#2ecc71}.stat-value.rented{color:var(--link)}.stat-value.maintenance{color:var(--danger)}.stat-value.spots{color:var(--warning)}.utilization-bar-container{margin-top:15px}.utilization-label{color:var(--ink);display:flex;font-size:14px;font-weight:500;justify-content:space-between;margin-bottom:5px}.utilization-bar{background-color:#ecf0f1;border-radius:10px;height:20px;overflow:hidden;width:100%}.utilization-fill{border-radius:10px;height:100%;transition:width .3s ease}.no-stations{color:var(--ink-muted);font-size:16px}.no-stats{color:var(--ink-muted);font-size:14px;padding:20px;text-align:center}.loading{font-size:16px}.map-picker-container{margin-top:10px}.map-picker-header{align-items:center;color:var(--ink-muted);display:flex;font-size:14px;justify-content:space-between;margin-bottom:10px}.location-button{background-color:var(--primary);border:none;border-radius:var(--radius-sm);color:var(--on-primary);cursor:pointer;font-size:13px;font-weight:500;padding:6px 12px;transition:background-color .2s}.location-button:hover:not(:disabled){background-color:var(--primary-hover)}.location-button:disabled{background-color:#95a5a6;cursor:not-allowed}.map-picker{border:1px solid var(--border);border-radius:var(--radius-sm);margin-bottom:15px;overflow:hidden}.coordinates-input{grid-gap:10px;display:grid;gap:10px;grid-template-columns:1fr 1fr}.form-group-small{display:flex;flex-direction:column}.form-group-small label{color:var(--ink-muted);font-size:13px;font-weight:500;margin-bottom:5px}.form-group-small input{border:1px solid var(--border);border-radius:var(--radius-sm);font-size:14px;padding:8px 12px}.form-group-small input:focus{border-color:var(--primary);outline:none}@media (max-width:768px){.station-header{align-items:stretch}.station-actions,.station-header{flex-direction:column}.search-input{width:100%}.form-row,.stations-grid{grid-template-columns:1fr}.stats-grid{grid-template-columns:repeat(2,1fr)}.map-picker-header{align-items:flex-start;flex-direction:column;gap:10px}.location-button{width:100%}.coordinates-input{grid-template-columns:1fr}}.user-management{padding:20px}.user-header{margin-bottom:24px;padding-bottom:16px}.user-header h2{color:var(--ink);font-size:1.8rem;margin:0 0 8px}.user-header p{color:var(--ink-muted);font-size:.9rem;margin:0}.add-button{background:linear-gradient(135deg,var(--brand-dark-2) 0,var(--brand-dark) 100%);font-weight:600;transition:transform .2s,box-shadow .2s}.add-button:hover{box-shadow:0 4px 12px #49e87566;transform:translateY(-2px)}.form-section{background:var(--surface);box-shadow:var(--shadow);margin-bottom:24px;padding:24px}.form-section h3{font-size:1.4rem;margin:0 0 20px}.form-grid{margin-bottom:20px}.form-group label{margin-bottom:8px}.form-group input,.form-group select{border:2px solid var(--border);border-radius:var(--radius-sm);font-size:1rem;padding:10px 12px;transition:border-color .2s}.form-group input:focus,.form-group select:focus{border-color:var(--primary);outline:none}.form-actions{gap:12px;justify-content:flex-end}.submit-button{background:linear-gradient(135deg,var(--brand-dark-2) 0,var(--brand-dark) 100%);color:#fff;font-weight:600}.cancel-button{border:none;color:var(--ink-muted);font-weight:600}.search-section{margin-bottom:24px}.users-list{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}.users-table{overflow-x:auto}.users-table table{border-collapse:collapse;width:100%}.users-table thead{background:#eef1f4}.users-table th{border-bottom:2px solid var(--border);color:var(--ink);font-size:.9rem;font-weight:600;letter-spacing:.5px;padding:16px;text-align:left;text-transform:uppercase}.users-table td{border-bottom:1px solid #f0f2f5;padding:16px}.users-table tbody tr:hover{background:#eef1f4}.role-badge{border-radius:12px;font-size:.8rem;font-weight:600;padding:4px 12px;text-transform:capitalize}.role-badge.admin{background:var(--info-bg);color:var(--info)}.role-badge.user{background:#f3e5f5;color:#7b1fa2}.status-badge.active{background:var(--success-bg);color:var(--success)}.status-badge.blocked{background:var(--danger-bg);color:var(--danger)}.action-btn.edit{border-color:var(--warning);color:var(--warning)}.action-btn.edit:hover{background:var(--warning);color:#fff}.action-btn.password{border-color:var(--biliti-blue);color:var(--biliti-blue)}.action-btn.password:hover{background:var(--biliti-blue);color:#fff}.action-btn.block{border-color:var(--danger);color:var(--danger)}.action-btn.block:hover{background:var(--danger);color:#fff}.action-btn.unblock{border-color:var(--success);color:var(--success)}.action-btn.unblock:hover{background:var(--success);color:#fff}.action-btn.admin{border-color:var(--biliti-blue);color:var(--biliti-blue)}.action-btn.admin:hover{background:var(--biliti-blue);color:#fff}.action-btn.delete{border-color:var(--danger);color:var(--danger)}.action-btn.delete:hover{background:var(--danger);color:#fff}.user-details{margin-bottom:24px}.user-bookings h4{color:var(--ink);font-size:1.1rem;margin:0 0 16px}.no-bookings{color:var(--ink-muted);padding:20px;text-align:center}.bookings-list{display:flex;flex-direction:column;gap:12px}.booking-item{align-items:center;background:#eef1f4;border-radius:var(--radius-sm);display:flex;justify-content:space-between;padding:12px}.booking-info{flex:1 1}.booking-id{color:var(--ink);font-size:.9rem;margin-bottom:4px}.booking-battery{color:var(--ink-muted);font-size:.85rem;margin-bottom:4px}.booking-time{color:var(--ink-muted);font-size:.8rem}.booking-status{border-radius:var(--radius-sm);font-size:.8rem;font-weight:600;padding:4px 12px;text-transform:capitalize}.booking-status.active,.booking-status.in_progress{background:var(--warning-bg);color:var(--warning)}.booking-status.completed{background:var(--success-bg);color:var(--success)}.booking-status.cancelled{background:var(--danger-bg);color:var(--danger)}.more-bookings{color:var(--ink-muted);font-size:.9rem;font-style:italic;padding:12px;text-align:center}@media (max-width:768px){.users-table{font-size:.85rem}.users-table td,.users-table th{padding:12px 8px}.action-buttons{flex-direction:column}.action-btn{width:100%}.modal-content{margin:10px;max-width:100%}}.booking-management{padding:20px}.booking-header{border-bottom:2px solid var(--border);margin-bottom:24px;padding-bottom:16px}.booking-header h2{color:var(--ink);font-size:1.8rem;margin:0 0 8px}.booking-header p{color:var(--ink-muted);font-size:.9rem;margin:0}.filters-section{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);margin-bottom:24px;padding:20px}.search-box{margin-bottom:16px}.search-input{border:2px solid var(--border);padding:12px 16px;transition:border-color .2s;width:100%}.search-input:focus{border-color:var(--primary);outline:none}.filter-row{display:flex;flex-wrap:wrap;gap:20px}.filter-group{align-items:center;display:flex;gap:12px}.filter-group label{color:var(--ink-muted);font-size:.9rem;font-weight:500}.filter-select{border:2px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;font-size:.9rem;padding:8px 12px;transition:border-color .2s}.filter-select:focus{border-color:var(--primary);outline:none}.bookings-list{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}.bookings-table thead{background:#eef1f4}.bookings-table th{border-bottom:2px solid var(--border);font-size:.9rem;letter-spacing:.5px;padding:16px;text-align:left;text-transform:uppercase}.bookings-table td{border-bottom:1px solid #f0f2f5;padding:16px}.bookings-table tbody tr:hover{background:#eef1f4}.booking-id-cell{font-family:monospace}.booking-id{color:var(--link);font-weight:600}.battery-id-cell{color:var(--ink-muted);font-family:monospace;font-size:.9rem}.asset-type-badge{border-radius:10px;display:inline-block;font-size:.72rem;font-weight:600;letter-spacing:.3px;margin-right:8px;padding:2px 8px;text-transform:uppercase;vertical-align:middle}.asset-type-badge.battery{background:var(--info-bg);color:var(--info)}.asset-type-badge.vehicle{background:var(--warning-bg);color:var(--warning)}.asset-id{color:var(--ink-muted);font-family:monospace;font-size:.9rem}.amount-cell{color:var(--success);font-weight:600}.status-badge{font-size:.8rem;text-transform:capitalize}.status-badge.active,.status-badge.in_progress{background:var(--warning-bg);color:var(--warning)}.status-badge.completed{background:var(--success-bg);color:var(--success)}.status-badge.cancelled{background:var(--danger-bg);color:var(--danger)}.status-badge.pending_verification{background:var(--info-bg);color:var(--info)}.action-buttons{display:flex;flex-wrap:wrap;gap:8px}.action-btn{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;font-size:.85rem;padding:6px 12px;transition:all .2s}.action-btn:hover{box-shadow:var(--shadow);transform:translateY(-1px)}.action-btn.view{border-color:var(--info);color:var(--info)}.action-btn.view:hover{background:var(--info);color:#fff}.action-btn.cancel{border-color:var(--danger);color:var(--danger)}.action-btn.cancel:hover{background:var(--danger);color:#fff}.action-btn.return{border-color:var(--success);color:var(--success)}.action-btn.return:hover{background:var(--success);color:#fff}.modal-overlay{background:#00000080;bottom:0;left:0;padding:20px;right:0;top:0}.modal-content{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow-lg);max-height:80vh;max-width:600px;overflow-y:auto;width:100%}.modal-header{align-items:center;border-bottom:2px solid var(--border);display:flex;justify-content:space-between;padding:20px 24px}.modal-header h3{color:var(--ink);font-size:1.4rem;margin:0}.close-button{align-items:center;background:none;border:none;border-radius:var(--radius-sm);color:var(--ink-muted);cursor:pointer;display:flex;font-size:1.5rem;height:32px;justify-content:center;padding:0;transition:background .2s;width:32px}.close-button:hover{background:#eef1f4}.modal-body{padding:24px}.booking-details{display:flex;flex-direction:column;gap:0}.detail-row{border-bottom:1px solid #f0f2f5;display:flex;justify-content:space-between;padding:12px 0}.detail-row:last-child{border-bottom:none}.detail-row .label{color:var(--ink-muted);font-weight:500}.detail-row .value{color:var(--ink);font-weight:500}.detail-row .value.amount{color:var(--success);font-size:1.1rem}@media (max-width:768px){.bookings-table{font-size:.85rem}.bookings-table td,.bookings-table th{padding:12px 8px}.action-buttons{flex-direction:column}.action-btn{width:100%}.modal-content{margin:10px;max-width:100%}}.system-monitoring{padding:20px}.monitoring-header{align-items:center;border-bottom:2px solid var(--border);display:flex;justify-content:space-between;margin-bottom:24px;padding-bottom:16px}.monitoring-header h2{color:var(--ink);font-size:1.8rem;margin:0 0 8px}.monitoring-header p{color:var(--ink-muted);font-size:.9rem;margin:0}.refresh-button{background:var(--brand-dark);border:none;border-radius:var(--radius-sm);color:#fff;cursor:pointer;font-size:.9rem;font-weight:600;padding:10px 20px;transition:transform .2s,box-shadow .2s}.refresh-button:hover:not(:disabled){box-shadow:var(--shadow-lg);transform:translateY(-2px)}.refresh-button:disabled{cursor:not-allowed;opacity:.6}.health-cards{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));margin-bottom:30px}.health-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:20px;transition:transform .2s,box-shadow .2s}.health-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.health-card-header{align-items:center;border-bottom:2px solid var(--border);display:flex;justify-content:space-between;margin-bottom:16px;padding-bottom:12px}.health-card-header h3{color:var(--ink);font-size:1.1rem;margin:0}.status-indicator{font-size:.9rem;font-weight:600;text-transform:capitalize}.health-card-body{display:flex;flex-direction:column;gap:12px}.metric{align-items:center;display:flex;justify-content:space-between}.metric-label{color:var(--ink-muted);font-size:.9rem;font-weight:500}.metric-value{color:var(--ink);font-family:monospace;font-size:.9rem;font-weight:600}.error-message{background:var(--danger-bg);border-radius:var(--radius-sm);color:var(--danger);font-size:.85rem;margin-top:8px;padding:8px 12px}.alerts-section{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:24px}.alerts-section h3{border-bottom:2px solid var(--border);color:var(--ink);font-size:1.3rem;margin:0 0 20px;padding-bottom:12px}.no-alerts{color:var(--success);font-size:1.1rem;font-weight:500;padding:40px 20px;text-align:center}.alerts-list{display:flex;flex-direction:column;gap:12px}.alert-item{align-items:flex-start;border-left:4px solid;border-radius:var(--radius-sm);display:flex;gap:12px;padding:16px;transition:background .2s}.alert-item.error{background:var(--danger-bg);border-color:var(--danger)}.alert-item.warning{background:var(--warning-bg);border-color:var(--warning)}.alert-item.info{background:var(--info-bg);border-color:var(--info)}.alert-icon{flex-shrink:0;font-size:1.5rem}.alert-content{flex:1 1}.alert-message{color:var(--ink);font-size:.95rem;font-weight:500;margin-bottom:4px}.alert-time{color:var(--ink-muted);font-size:.8rem}@media (max-width:768px){.monitoring-header{align-items:flex-start;flex-direction:column;gap:16px}.health-cards{grid-template-columns:1fr}}.financial-management{padding:20px}.loading{color:var(--ink-muted)}.error,.loading{font-size:1.2rem}.error{color:var(--danger);padding:40px;text-align:center}.financial-header{align-items:center;border-bottom:2px solid var(--border);display:flex;justify-content:space-between;margin-bottom:24px;padding-bottom:16px}.financial-header h2{color:var(--ink);font-size:1.8rem;margin:0 0 8px}.financial-header p{color:var(--ink-muted);font-size:.9rem;margin:0}.date-range-selector{align-items:center;display:flex;gap:12px}.date-range-selector label{color:var(--ink-muted);font-weight:500}.date-range-selector select{border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;font-size:.9rem;padding:8px 12px}.financial-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:24px}.financial-tabs button{background:var(--surface);border:1px solid var(--border);border-radius:999px;color:var(--ink-muted);cursor:pointer;font-size:.9rem;font-weight:500;padding:8px 16px;transition:all .15s}.financial-tabs button:hover{background:#eef1f4;color:var(--ink)}.financial-tabs button.active{background:var(--primary);border-color:var(--primary);color:var(--on-primary);font-weight:600}.financial-content{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:24px}.revenue-cards{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:30px}.revenue-card{align-items:center;background:var(--brand-dark);border-radius:var(--radius);box-shadow:var(--shadow);color:#fff;display:flex;gap:16px;padding:24px;transition:transform .2s}.revenue-card:hover{transform:translateY(-2px)}.revenue-card:nth-child(2){background:var(--info)}.revenue-card:nth-child(3){background:var(--biliti-green-ink)}.revenue-card:nth-child(4){background:var(--brand-dark-2)}.card-icon{font-size:2.5rem}.card-content h3{font-size:.9rem;font-weight:500;margin:0 0 8px;opacity:.9}.revenue-amount{font-size:1.8rem;font-weight:700;margin:0}.chart-section{border-radius:var(--radius-sm);margin:30px 0;padding:20px}.chart-section h3{color:var(--ink);font-size:1.3rem;margin:0 0 20px}.stats-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-top:30px}.stat-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);padding:20px;text-align:center}.stat-card h4{color:var(--ink-muted);font-size:.9rem;font-weight:500;margin:0 0 12px}.stat-value{color:var(--ink);font-size:1.5rem;font-weight:700;margin:0}.revenue-table-section{margin-top:30px}.revenue-table-section h4{color:var(--ink);font-size:1.2rem;margin:0 0 16px}.revenue-table{overflow-x:auto}.revenue-table table{border-collapse:collapse;width:100%}.revenue-table thead{background:#eef1f4}.revenue-table th{border-bottom:2px solid var(--border);color:var(--ink);font-size:.9rem;font-weight:600;padding:12px;text-align:left}.revenue-table td{border-bottom:1px solid #f0f2f5;padding:12px}.revenue-table tbody tr:hover{background:var(--bg)}.revenue-cell{color:var(--success);font-weight:600}.pricing-tab h3{color:var(--ink);font-size:1.4rem;margin:0 0 20px}.info-text{color:var(--ink-muted);line-height:1.6;margin-bottom:24px}.pricing-info{display:flex;flex-direction:column;gap:20px}.info-card{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);padding:24px}.info-card h4{color:var(--ink);font-size:1.1rem;margin:0 0 12px}.info-card p{color:var(--ink-muted);line-height:1.6;margin:0 0 16px}.navigate-button{background:var(--brand-dark);border:none;border-radius:var(--radius-sm);color:#fff;cursor:pointer;font-size:.9rem;font-weight:600;padding:10px 20px;transition:transform .2s}.navigate-button:hover{transform:translateY(-2px)}.reports-tab h3{color:var(--ink);font-size:1.4rem;margin:0 0 24px}.reports-section{display:flex;flex-direction:column;gap:20px}.report-card{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);padding:24px}.report-card h4{color:var(--ink);font-size:1.2rem;margin:0 0 20px}.report-content{display:flex;flex-direction:column;gap:16px}.report-item{align-items:center;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;padding:12px 0}.report-item:last-child{border-bottom:none}.report-item .label{color:var(--ink-muted);font-weight:500}.report-item .value{color:var(--ink);font-size:1.1rem;font-weight:600}@media (max-width:768px){.financial-header{align-items:flex-start;flex-direction:column;gap:16px}.revenue-cards{grid-template-columns:1fr}}.customer-support{width:100%}.search-section{background:var(--bg);border-radius:var(--radius-sm);margin-bottom:30px;padding:20px}.search-controls{align-items:center;display:flex;gap:10px}.search-input,.search-select{border:1px solid var(--border);border-radius:var(--radius-sm);font-size:1rem;padding:10px}.search-input{flex:1 1}.search-button{background:var(--primary);border:none;border-radius:var(--radius-sm);color:var(--on-primary);cursor:pointer;font-size:1rem;font-weight:500;padding:10px 20px}.search-button:hover{background:var(--primary-hover)}.search-button:disabled{background:#ccc;cursor:not-allowed}.user-details{margin-top:20px}.user-header{align-items:center;border-bottom:2px solid var(--border);display:flex;justify-content:space-between;margin-bottom:20px;padding-bottom:15px}.user-actions{display:flex;gap:10px}.block-button,.unblock-button{border:none;border-radius:var(--radius-sm);cursor:pointer;font-size:.9rem;font-weight:500;padding:8px 16px}.block-button{background:var(--danger);color:#fff}.unblock-button{background:#4caf50;color:#fff}.user-info-grid{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:30px}.info-item{display:flex;flex-direction:column;gap:5px}.info-item label{color:var(--ink-muted);font-size:.9rem;font-weight:600}.info-item span{font-size:1rem}.status-active{color:var(--success);font-weight:600}.status-blocked{color:var(--danger);font-weight:600}.bookings-section,.transactions-section{margin-top:30px}.bookings-table{margin-top:15px;overflow-x:auto}.bookings-table table{border-collapse:collapse;width:100%}.bookings-table td,.bookings-table th{border-bottom:1px solid var(--border);padding:12px;text-align:left}.bookings-table th{background:#eef1f4;color:var(--ink);font-weight:600}.status-badge{font-size:.85rem;font-weight:500;padding:4px 12px}.status-badge.status-active{background:var(--info-bg);color:var(--info)}.status-badge.status-completed{background:var(--success-bg);color:var(--success)}.transaction-stats{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-top:15px}.customer-support .stat-card{background:linear-gradient(135deg,var(--brand-dark-2) 0,var(--brand-dark) 100%);border-radius:var(--radius-sm);color:#fff;padding:20px;text-align:center}.customer-support .stat-label{font-size:.9rem;margin-bottom:10px;opacity:.9}.customer-support .stat-value{font-size:2rem;font-weight:700}.reports-analytics{width:100%}.kpi-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:40px}.kpi-card{background:linear-gradient(135deg,var(--brand-dark-2) 0,var(--brand-dark) 100%);border-radius:var(--radius);box-shadow:var(--shadow);color:#fff;padding:25px;text-align:center}.kpi-label{font-size:.9rem;font-weight:500;margin-bottom:10px;opacity:.9}.kpi-value{font-size:2.5rem;font-weight:700}.chart-section{background:var(--bg);border-radius:var(--radius);box-shadow:var(--shadow);margin-bottom:40px;padding:25px}.chart-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.chart-header h3{color:var(--ink);font-size:1.3rem;margin:0}.export-button{background:#4caf50;border:none;border-radius:var(--radius-sm);color:#fff;cursor:pointer;font-size:.9rem;font-weight:500;padding:8px 16px}.export-button:hover{background:#45a049}.asset-management{width:100%}.asset-header{align-items:center;border-bottom:2px solid var(--border);display:flex;justify-content:space-between;margin-bottom:30px;padding-bottom:15px}.asset-header h2{margin:0}.add-button{background:#4caf50;border:none;border-radius:var(--radius-sm);color:#fff;cursor:pointer;font-size:1rem;font-weight:500;padding:12px 24px}.add-button:hover{background:#45a049}.form-section{background:var(--bg);border-radius:var(--radius);margin-bottom:30px;padding:25px}.form-section h3{color:var(--ink);margin-bottom:20px;margin-top:0}.form-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.form-group{display:flex;flex-direction:column;gap:8px}.form-group.full-width{grid-column:1/-1}.form-group label{color:var(--ink);font-size:.9rem;font-weight:600}.form-group input{border:1px solid var(--border);border-radius:var(--radius-sm);font-size:1rem;padding:10px}.image-upload-section{display:flex;flex-direction:column;gap:16px}.image-upload-options{align-items:center;display:flex;flex-wrap:wrap;gap:16px}.upload-option{align-items:center;display:flex;gap:12px}.upload-label{cursor:pointer}.upload-button{background:linear-gradient(135deg,var(--brand-dark-2) 0,var(--brand-dark) 100%);border-radius:var(--radius-sm);color:#fff;cursor:pointer;display:inline-block;font-size:.9rem;font-weight:500;padding:10px 20px;transition:transform .2s,box-shadow .2s}.upload-button:hover{box-shadow:0 4px 12px #49e87566;transform:translateY(-2px)}.upload-confirm-button{background:#4caf50;border:none;border-radius:var(--radius-sm);color:#fff;cursor:pointer;font-size:.9rem;font-weight:500;padding:10px 20px;transition:background .2s}.upload-confirm-button:hover:not(:disabled){background:#45a049}.upload-confirm-button:disabled{background:#ccc;cursor:not-allowed}.or-divider{color:var(--ink-muted);font-size:.9rem;font-weight:500}.url-option{flex:1 1;min-width:200px}.url-input{border:1px solid var(--border);border-radius:var(--radius-sm);font-size:1rem;padding:10px;width:100%}.image-preview-container{align-items:flex-start;display:flex;flex-direction:column;gap:8px;margin-top:16px}.image-preview{border:2px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow);max-height:300px;max-width:300px}.upload-hint{color:var(--warning);font-size:.85rem;font-style:italic;margin:0}.submit-button{background:var(--primary);border:none;border-radius:var(--radius-sm);color:var(--on-primary);cursor:pointer;font-size:1rem;font-weight:500;padding:12px 24px}.submit-button:hover{background:var(--primary-hover)}.cancel-button{background:#eef1f4;border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--ink);cursor:pointer;font-size:1rem;font-weight:500;padding:12px 24px}.cancel-button:hover{background:var(--border)}.battery-types-list h3{color:var(--ink);margin-bottom:20px}.battery-types-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.battery-type-card{background:var(--surface);border:2px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden;transition:transform .2s,box-shadow .2s}.battery-type-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.battery-image{height:200px;object-fit:cover;width:100%}.battery-type-info{padding:20px}.battery-type-info h4{color:var(--ink);font-size:1.3rem;margin:0 0 10px}.city{color:var(--ink-muted);font-size:.9rem}.city,.pricing{margin-bottom:15px}.pricing{background:#eef1f4;border-radius:var(--radius-sm);display:flex;flex-direction:column;gap:10px;padding:15px}.price-item{align-items:center;display:flex;justify-content:space-between}.price-item .label{color:var(--ink-muted);font-size:.9rem}.price-item .value{color:var(--ink);font-size:1rem;font-weight:600}.card-actions{display:flex;gap:10px;margin-top:15px}.delete-button,.edit-button{border:none;border-radius:var(--radius-sm);cursor:pointer;flex:1 1;font-size:.9rem;font-weight:500;padding:10px}.edit-button{background:var(--info);color:#fff}.edit-button:hover{background:#1976d2}.delete-button{background:var(--danger);color:#fff}.delete-button:hover{background:var(--biliti-danger)}.empty-state{color:var(--ink-muted);font-size:1.1rem;padding:60px 20px;text-align:center}.supervisor-management{padding:.25rem 0}.supervisor-management h2{color:var(--ink);margin-bottom:1.25rem}.sm-section{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);margin-bottom:1.25rem;padding:1.25rem}.sm-section h3{color:var(--ink);font-size:1rem;margin:0 0 .75rem}.sm-desc{color:var(--ink-muted);font-size:.9rem;margin-bottom:1rem}.sm-payout-row{align-items:center;display:flex;flex-wrap:wrap;gap:.6rem}.sm-percent-input{border:1px solid var(--border);border-radius:var(--radius-sm);font-size:1rem;padding:.45rem .6rem;width:80px}.sm-percent-input:focus{border-color:var(--primary);outline:none}.sm-percent-label{color:var(--ink);font-size:1rem}.sm-save-btn{background:var(--primary);border:none;border-radius:var(--radius-sm);color:var(--on-primary);cursor:pointer;font-weight:600;padding:.45rem 1.2rem}.sm-save-btn:disabled{cursor:not-allowed;opacity:.6}.sm-msg{font-size:.85rem}.sm-msg--success{color:var(--success)}.sm-msg--error{color:var(--danger)}.sm-section-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:.75rem}.sm-section-header h3{margin:0}.sm-refresh-btn{background:#eef1f4;border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;font-size:.85rem;padding:.35rem .9rem}.sm-table-wrap{overflow-x:auto}.sm-table{border-collapse:collapse;font-size:.9rem;width:100%}.sm-table td,.sm-table th{border-bottom:1px solid #f0f2f5;padding:var(--cell-pad);text-align:left}.sm-table th{border-bottom:2px solid var(--border);color:var(--ink-muted);font-weight:600}.sm-table tbody tr:hover td{background:var(--bg)}.sm-amount{color:var(--success);font-weight:700}.sm-booking-id{color:var(--ink-muted);font-family:monospace}.sm-empty,.sm-loading{color:var(--ink-muted);font-size:.9rem}.sq-intro{color:var(--ink-muted);font-size:.88rem;line-height:1.45;margin:0;max-width:640px}.sq-filters{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0}.sq-error{color:var(--danger)}.service-queue .mono{font-family:monospace}.sq-resolved{color:var(--ink-muted);font-size:.85rem}.sq-dismiss{font-size:.82rem;padding:5px 12px}.sq-asset-tag{background:#eef;border-radius:999px;color:#334;font-size:.68rem;margin-left:.4rem;padding:.1rem .5rem;white-space:nowrap}.sq-asset-tag.sq-vehicle{background:#fdeee8;color:#7a3d1d}.vm-error{background:#fdecea;background:var(--danger-bg,#fdecea);border:1px solid #f5c6cb;border:1px solid var(--danger,#f5c6cb);border-radius:8px;border-radius:var(--radius-sm,8px);color:#b71c1c;color:var(--danger,#b71c1c);font-size:.9rem;margin-bottom:16px;padding:10px 14px}.cost-link{background:none;border:none;color:#1982c4;color:var(--blue,#1982c4);cursor:pointer;font-size:.9rem;font-weight:600;padding:0;text-decoration:underline}.cost-link:hover{color:#115a8c;color:var(--blue-dark,#115a8c)}.add-asset-form{margin-bottom:24px}.add-asset-category{display:flex;gap:8px;margin-bottom:16px}.add-asset-category button{background:var(--surface);border:1px solid var(--border);border-radius:8px;border-radius:var(--radius-sm,8px);color:var(--ink);cursor:pointer;flex:1 1;font-family:inherit;font-size:.95rem;font-weight:600;padding:10px;transition:background .15s,color .15s}.add-asset-category button.active{background:var(--primary);border-color:var(--primary);color:var(--on-primary)}.add-asset-error{background:#fdecea;border:1px solid #f5c6cb;border-radius:8px;border-radius:var(--radius-sm,8px);color:#b71c1c;font-size:.9rem;margin-bottom:14px;padding:10px 12px}.geofence-shell{display:flex;gap:0;height:calc(100vh - 180px);min-height:500px;overflow:hidden}.geofence-list-panel{background:var(--surface);border-right:1px solid var(--border);flex-shrink:0;min-width:300px;overflow-y:auto;padding:1rem;width:380px}.geofence-list-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem}.geofence-list-header h2{font-size:1.125rem;font-weight:600;margin:0}.geofence-list-panel .admin-table{font-size:.8125rem;width:100%}.geofence-list-panel .admin-table th{border-bottom:1px solid var(--border);color:var(--muted);font-size:.75rem;font-weight:500;letter-spacing:.03em;padding:.5rem;text-align:left;text-transform:uppercase}.geofence-list-panel .admin-table td{border-bottom:1px solid var(--border);padding:.5rem;vertical-align:middle}.geofence-list-panel .admin-table tr:hover{background:var(--hover)}.geofence-list-panel .admin-table .td-name{font-weight:500;max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.geofence-editor-panel{background:var(--bg);flex:1 1;overflow-y:auto;padding:1rem}.geofence-editor-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem}.geofence-editor-header h3{font-size:1.0625rem;font-weight:600;margin:0}.geofence-form{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:1rem;padding:1rem}.geofence-form-row{display:flex;gap:1rem;margin-bottom:.75rem}.geofence-form-row label{color:var(--muted);display:flex;flex:1 1;flex-direction:column;font-size:.8125rem;font-weight:500;gap:.25rem}.geofence-form input,.geofence-form select{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);font-size:.875rem;padding:.5rem .625rem}.geofence-form input:focus,.geofence-form select:focus{border-color:var(--primary);box-shadow:0 0 0 2px #2563eb26;outline:none}.geofence-checkbox{align-items:center;color:var(--text);cursor:pointer;display:flex!important;flex-direction:row!important;font-size:.875rem;gap:.5rem}.geofence-checkbox input[type=checkbox]{cursor:pointer;height:1rem;width:1rem}.geofence-hint{color:#888;color:var(--text-muted,#888);font-size:.75rem;margin:0}.geofence-map-wrapper{border:1px solid var(--border);border-radius:var(--radius);margin-bottom:.75rem;overflow:hidden}.geofence-map-instructions{background:var(--surface);border-bottom:1px solid var(--border);color:var(--muted);font-size:.75rem;padding:.5rem .75rem}.geofence-polygon-controls{align-items:center;display:flex;justify-content:space-between;margin-bottom:.75rem;padding:.5rem 0}.geofence-vertex-count{color:var(--muted);font-size:.8125rem;font-weight:500}.geofence-polygon-controls .admin-btn{margin-left:.5rem}.geofence-save-row{border-top:1px solid var(--border);padding-top:.75rem}.badge-success{background:#22c55e1f;color:#16a34a}.badge-muted{background:#94a3b81f;color:#64748b}.row-active{background:#2563eb0f}@media (max-width:768px){.geofence-shell{flex-direction:column;height:auto}.geofence-list-panel{border-bottom:1px solid var(--border);border-right:none;max-height:40vh;min-width:0;min-width:auto;width:100%}.geofence-editor-panel{max-height:60vh}}.badge{border-radius:999px;font-size:.72rem;padding:.15rem .55rem;text-transform:capitalize;white-space:nowrap}.badge-success{background:var(--success-bg);color:var(--success)}.badge-warning{background:var(--warning-bg);color:var(--warning)}.badge-danger{background:var(--danger-bg);color:var(--danger)}.badge-info{background:var(--info-bg);color:var(--info)}.badge-neutral{background:#eef1f4;color:var(--ink-muted)}.admin-table{border-collapse:collapse;font-size:.9rem;width:100%}.admin-table th{border-bottom:2px solid var(--border);color:var(--ink-muted);font-weight:600;padding:var(--cell-pad);text-align:left;white-space:nowrap}.admin-table td{border-bottom:1px solid #f0f2f5;padding:var(--cell-pad)}.admin-table tbody tr:hover{background:var(--bg)}.admin-table-wrap{overflow-x:auto}.admin-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:16px}.admin-empty{font-size:.95rem;padding:48px 20px}.admin-empty,.admin-loading{color:var(--ink-muted);text-align:center}.admin-loading{font-size:1.05rem;padding:40px}.admin-section-head{align-items:center;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;margin-bottom:14px}.admin-filter{background:var(--surface);border:1px solid var(--border);border-radius:999px;color:var(--ink-muted);cursor:pointer;font-size:.85rem;padding:6px 12px}.admin-filter.active{background:var(--primary);border-color:var(--primary);color:var(--on-primary);font-weight:600}.admin-shell{background:var(--bg);display:flex;min-height:calc(100vh - 64px)}.admin-sidebar{align-self:flex-start;background:var(--brand-dark);color:#fff;flex-shrink:0;height:100vh;overflow-y:auto;padding:20px 12px;position:sticky;top:0;width:240px}.admin-brand{align-items:center;border-bottom:1px solid #ffffff1f;display:flex;gap:10px;margin-bottom:14px;padding:0 8px 18px}.admin-brand-mark{font-size:1.5rem}.admin-brand-title{font-size:1.05rem;font-weight:700}.admin-brand-user{font-size:.78rem;opacity:.65}.admin-nav-group{margin-bottom:14px}.admin-nav-section{font-size:.68rem;letter-spacing:.08em;opacity:.5;padding:0 8px 6px;text-transform:uppercase}.admin-nav-item{align-items:center;background:none;border:none;border-radius:var(--radius-sm);color:#ffffffd1;cursor:pointer;display:flex;font-family:inherit;font-size:.9rem;gap:10px;padding:9px 10px;text-align:left;transition:background .15s,color .15s;width:100%}.admin-nav-item:hover{background:#ffffff14;color:#fff}.admin-nav-item.active{background:var(--primary);color:var(--on-primary);font-weight:600}.admin-nav-icon{text-align:center;width:1.2rem}.admin-main{flex:1 1;min-width:0;padding:24px 28px 48px}.admin-topbar{align-items:center;display:flex;gap:12px;justify-content:space-between;margin-bottom:18px}.admin-topbar h1{color:var(--ink);font-size:1.5rem;margin:0}.topbar-add-btn{align-items:center;background:var(--primary);border:none;border-radius:8px;border-radius:var(--radius-sm,8px);color:var(--on-primary);cursor:pointer;display:inline-flex;font-family:inherit;font-size:.95rem;font-weight:600;gap:6px;padding:10px 16px;white-space:nowrap}.topbar-add-btn:hover{filter:brightness(1.06)}.admin-content{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);min-height:500px;padding:24px}@media (max-width:900px){.admin-shell{flex-direction:column}.admin-sidebar{height:auto;padding:12px;position:static;width:100%}.admin-brand{display:none}.admin-nav{display:flex;gap:6px;overflow-x:auto;padding-bottom:4px}.admin-nav-group{display:flex;gap:6px;margin-bottom:0}.admin-nav-section{display:none}.admin-nav-item{white-space:nowrap;width:auto}.admin-main{padding:16px}}.qr-scanner-overlay{align-items:center;background-color:#000c;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.qr-scanner-modal{background:#fff;border-radius:12px;box-shadow:0 4px 20px #0000004d;display:flex;flex-direction:column;max-height:90vh;max-width:500px;width:90%}.qr-scanner-header{align-items:center;border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;padding:20px}.qr-scanner-header h2{color:#333;font-size:1.5rem;margin:0}.qr-scanner-close{align-items:center;background:none;border:none;border-radius:50%;color:#666;cursor:pointer;display:flex;font-size:2rem;height:30px;justify-content:center;padding:0;transition:background-color .2s;width:30px}.qr-scanner-close:hover{background-color:#f0f0f0}.qr-scanner-content{flex:1 1;overflow-y:auto;padding:20px}.qr-scanner-content p{color:#666;font-size:.95rem;margin:10px 0}.qr-scanner-battery-id{background-color:#f5f5f5;border-radius:6px;font-size:.9rem;padding:10px}.qr-scanner-battery-id strong{color:#2196f3;font-family:monospace}.qr-reader-container{background-color:#000;border:2px solid #2196f3;border-radius:8px;margin:20px 0;overflow:hidden}.qr-scanner-status{color:#2196f3;font-weight:500;margin-top:10px;text-align:center}.qr-scanner-error{background-color:#ffebee;border-left:4px solid #c62828;border-radius:6px;color:#c62828;font-size:.9rem;margin:15px 0;padding:12px}.qr-error-mismatch{background-color:#fff3e0;border-left-color:#e65100;color:#e65100}.qr-scanner-footer{border-top:1px solid #e0e0e0;display:flex;gap:10px;justify-content:space-between;padding:20px}.qr-scanner-skip{background-color:#2196f3;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:1rem;padding:10px 20px;transition:background-color .2s}.qr-scanner-skip:hover{background-color:#1976d2}.qr-scanner-cancel{background-color:#f5f5f5;border:1px solid #ddd;border-radius:6px;color:#333;cursor:pointer;font-size:1rem;padding:10px 20px;transition:background-color .2s}.qr-scanner-cancel:hover{background-color:#e0e0e0}@media (max-width:600px){.qr-scanner-modal{width:95%}.qr-reader-container{margin:15px 0}}.map-view{display:flex;height:calc(100vh - 80px);overflow:hidden}.map-sidebar{background:var(--brand-dark);box-shadow:2px 0 8px #00000040;color:#ffffffd1;overflow-y:auto;padding:20px 12px;width:240px}.map-sidebar h2{color:#fff;margin-bottom:1rem}.location-info{background:var(--brand-dark-2);border:1px solid #ffffff1f;border-radius:8px;font-size:.9rem;margin-bottom:1rem;padding:.75rem}.location-info strong{color:#fff;display:block;margin-bottom:.35rem}.location-status{color:#ffffffb3;line-height:1.3;margin-bottom:.75rem}.location-error{color:#e74c3c;font-weight:600;margin-bottom:.75rem}.recenter-button{background-color:var(--primary);border:none;border-radius:4px;color:var(--on-primary);cursor:pointer;font-size:.85rem;font-weight:600;padding:.45rem .75rem;transition:background-color .2s ease,opacity .2s ease;width:100%}.recenter-button:hover:not(:disabled){background-color:var(--primary-hover)}.recenter-button:disabled{cursor:not-allowed;opacity:.75}.no-batteries{color:#fff9;padding:2rem;text-align:center}.batteries-list{gap:1rem}.batteries-list,.battery-item{display:flex;flex-direction:column}.battery-item{align-items:stretch;background:var(--brand-dark-2);border:1px solid #ffffff1f;border-radius:8px;color:#ffffffd1;cursor:pointer;gap:.5rem;padding:1rem;transition:all .2s}.battery-item:hover{border-color:var(--primary);box-shadow:0 2px 8px #49e87540}.battery-item.selected{background-color:#49e8751f;border-color:var(--primary)}.battery-info h3{color:#fff;margin-bottom:.25rem}.battery-info p{color:#ffffffb3;font-size:.9rem;margin-bottom:.5rem;overflow-wrap:anywhere}.battery-info p strong{color:#fff}.range-km{color:var(--biliti-green);font-weight:700}.range-pending{color:#ffffff80;font-style:italic}.status-badge{border-radius:12px;display:inline-block;font-size:.75rem;font-weight:600;padding:.25rem .5rem}.status-badge.available{background-color:#27ae60;color:#fff}.status-badge.rented{background-color:#e74c3c;color:#fff}.status-container{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.activity-badge{border-radius:12px;display:inline-block;font-size:.75rem;font-weight:600;padding:.25rem .5rem}.activity-badge.active{background-color:#27ae60;color:#fff}.activity-badge.inactive{background-color:#e74c3c;color:#fff}.activity-badge.unknown{background-color:#95a5a6;color:#fff}.timestamp-info{border-top:1px solid #ffffff1f;font-size:.85rem;margin-top:8px;padding-top:8px}.timestamp-item{color:#fff9;font-size:.8rem;margin:4px 0}.timestamp-item strong{color:#fff;margin-right:4px}.timestamp-item.time-ago{color:var(--primary);font-weight:500}.battery-item.availablbattery{border-left:4px solid #27ae60}.battery-item.rented-battery{border-left:4px solid #e74c3c;opacity:.85}.activity-filter{border-bottom:1px solid #ffffff1f;margin-bottom:1rem;padding-bottom:1rem}.filter-buttons{background-color:#ffffff0f;border-radius:8px;box-shadow:inset 0 1px 3px #0000004d;display:flex;gap:0;padding:4px}.filter-button{background-color:initial;border:none;border-radius:6px;color:#fff9;cursor:pointer;flex:1 1;font-size:.9rem;font-weight:600;padding:.6rem 1rem;position:relative;transition:all .2s ease}.filter-button:hover{background-color:#ffffff14;color:#fff}.filter-button.active{background-color:var(--primary);box-shadow:0 2px 4px #00000040;color:var(--on-primary);font-weight:700}.battery-actions{align-items:center;display:flex;flex-wrap:wrap;gap:10px;margin-top:.25rem}.detail-button,.rent-button,.rent-unavailable{white-space:nowrap}.detail-button{margin-left:auto}.rent-button{background-color:var(--primary);border:none;border-radius:4px;color:var(--on-primary);cursor:pointer;font-weight:600;padding:.5rem 1rem;transition:background-color .2s}.rent-button:hover{background-color:var(--primary-hover)}.rent-button:disabled{background-color:#7fb3d3;cursor:not-allowed;opacity:.6}.detail-button{background-color:#6c757d;border:none;border-radius:4px;color:#fff;cursor:pointer;font-weight:600;padding:.5rem 1rem;transition:background-color .2s}.detail-button:hover{background-color:#5a6268}.map-container{flex:1 1;position:relative}.battery-marker{background:#0000;border:none}.popup-rent-button{background-color:var(--primary);border:none;border-radius:4px;color:var(--on-primary);cursor:pointer;font-weight:600;margin-top:.5rem;padding:.5rem 1rem;width:100%}.popup-rent-button:hover{background-color:var(--primary-hover)}.popup-rent-button:disabled{background-color:#7fb3d3;cursor:not-allowed;opacity:.6}@media (max-width:768px){.map-view{flex-direction:column}.map-sidebar{max-height:300px;width:100%}}.battery-list-sidebar{background:var(--brand-dark);box-shadow:2px 0 8px #00000040;color:#ffffffd1;flex-shrink:0;gap:10px;overflow-y:auto;padding:20px 12px 12px;width:260px}.battery-list-sidebar,.bls-nav{display:flex;flex-direction:column}.bls-nav{border-bottom:1px solid #ffffff1f;gap:2px;margin-bottom:2px;padding-bottom:12px}.bls-nav-item{align-items:center;background:none;border:none;border-radius:6px;color:#ffffffd1;cursor:pointer;display:flex;font-family:inherit;font-size:.88rem;gap:8px;padding:9px 10px;text-align:left;transition:background .15s,color .15s;width:100%}.bls-nav-item:hover{background:#ffffff14;color:#fff}.bls-nav-icon{font-size:.9rem;text-align:center;width:1.2rem}.bls-pills{display:flex;flex-wrap:wrap;gap:6px}.bls-pill{background:#ffffff1a;border-radius:999px;color:#ffffffb3;font-size:.72rem;font-weight:600;padding:2px 10px}.bls-list-header{align-items:center;color:#ffffffa6;display:flex;font-size:.78rem;font-weight:600;justify-content:space-between;letter-spacing:.06em;padding:2px 4px;text-transform:uppercase}.bls-list{gap:5px}.bls-battery-item,.bls-list{display:flex;flex-direction:column}.bls-battery-item{background:var(--brand-dark-2);border:1px solid #ffffff2e;border-left:3px solid #0000;border-radius:6px;color:#ffffffd1;cursor:pointer;gap:4px;padding:10px}.bls-battery-item.active{background:#49e8751a;border-color:var(--primary)}.bls-battery-item.bls-available{border-left-color:#27ae60}.bls-battery-item.bls-rented{border-left-color:#e74c3c}.bls-battery-item.bls-charging{border-left-color:#f59e0b}.bls-battery-item.bls-maintenance{border-left-color:#95a5a6}.bls-battery-item.active{border-left-color:var(--primary)!important}.bls-battery-id{color:#ffffffd9;font-family:Courier New,monospace;font-size:.76rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bls-battery-meta{align-items:center;display:flex;gap:8px;justify-content:space-between}.bls-status{background:#ffffff1a;border-radius:999px;color:#ffffffb3;display:inline-block;font-size:.65rem;font-weight:700;letter-spacing:.02em;padding:1px 7px;text-transform:capitalize}.bls-status.bls-available{background:#27ae60;color:#fff}.bls-status.bls-rented{background:#e74c3c;color:#fff}.bls-status.bls-charging{background:#f59e0b;color:#191919}.bls-status.bls-maintenance{background:#95a5a6;color:#fff}.bls-soc{font-size:.82rem;font-weight:700;white-space:nowrap}.bls-empty,.bls-loading{color:#fff6;font-size:.82rem;padding:2rem 0;text-align:center}@media (max-width:768px){.battery-list-sidebar{flex-shrink:1;max-height:280px;width:100%}}.battery-detail-shell{background:#f5f5f5;display:flex;height:calc(100vh - 64px);overflow:hidden}.battery-detail{flex:1 1;min-width:0;overflow-y:auto;padding:20px}@media (max-width:768px){.battery-detail-shell{flex-direction:column}.battery-detail{padding:14px}}.battery-detail-header{align-items:center;display:flex;gap:20px;margin-bottom:30px}.back-button{background:var(--primary);border:none;border-radius:5px;color:var(--on-primary);cursor:pointer;font-size:16px;padding:10px 20px}.back-button:hover{background:var(--primary-hover)}.battery-detail-content{display:flex;flex-direction:column;gap:30px}.battery-info-section,.bms-section,.mosfet-control-section{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:20px}.battery-info-section h2,.bms-section h2,.mosfet-control-section h2{color:#333;margin-top:0}.bms-grid,.info-grid{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-top:15px}.bms-item,.info-item{display:flex;flex-direction:column;gap:5px}.bms-item label,.info-item label{color:#666;font-size:14px;font-weight:600}.bms-item span,.info-item span{color:#333;font-size:16px}.status.available{color:#28a745;font-weight:600}.status.rented{color:#dc3545;font-weight:600}.bms-item span.enabled{color:#28a745;font-weight:600}.bms-item span.disabled{color:#dc3545;font-weight:600}.control-grid{gap:20px;margin-top:15px}.control-grid,.control-item{display:flex;flex-direction:column}.control-item{gap:10px}.control-item label{color:#333;font-weight:600}.toggle-buttons{display:flex;gap:10px}.toggle-buttons button{background:#fff;border:2px solid var(--primary);border-radius:5px;color:var(--link);cursor:pointer;font-size:14px;padding:10px 20px;transition:all .3s}.toggle-buttons button.active,.toggle-buttons button:hover:not(:disabled){background:var(--primary);color:var(--on-primary)}.toggle-buttons button:disabled{cursor:not-allowed;opacity:.5}.pending-indicator{color:#ffc107;font-size:14px;font-style:italic}.control-info{background:#f8f9fa;border-radius:5px;color:#666;font-size:14px;margin-top:15px;padding:10px}.bms-item.highlight{background:#eafff1;border-left:4px solid var(--primary);border-radius:6px;padding:12px}.bms-item.highlight label{color:var(--link);font-weight:700}.bms-item.highlight span{color:var(--link);font-size:18px;font-weight:600}.cell-voltages-section{margin-top:24px}.cell-voltages-section h3{color:#333;font-size:15px;margin:0 0 12px}.cell-grid{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(auto-fill,minmax(72px,1fr))}.cell-item{align-items:center;border:1px solid #ddd;border-radius:6px;display:flex;flex-direction:column;padding:8px 6px}.cell-label{color:#666;font-size:11px;font-weight:600}.cell-voltage{font-size:13px;font-weight:600;margin-top:2px}.cell-ok{background:#e8f5e9;border-color:#a5d6a7}.cell-ok .cell-voltage{color:#2e7d32}.cell-warn{background:#fff8e1;border-color:#ffe082}.cell-warn .cell-voltage{color:#f57f17}.cell-low{background:#ffebee;border-color:#ef9a9a}.cell-low .cell-voltage{color:#c62828}.cell-stats{color:#555;display:flex;font-size:13px;gap:20px;margin-top:10px}.cell-stats span{font-weight:500}.no-data{color:#999;font-style:italic;padding:20px;text-align:center}.snapshot-section{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:20px}.snapshot-section h2{color:#333;margin-top:0}.snapshot-table-wrap{margin-top:12px;overflow-x:auto}.snapshot-table{border-collapse:collapse;font-size:14px;width:100%}.snapshot-table td,.snapshot-table th{border-bottom:1px solid #e0e0e0;padding:8px 12px;text-align:left}.snapshot-table th{background:#f5f5f5;color:#555;font-weight:600;white-space:nowrap}.snapshot-table tr:hover td{background:#fafafa}.delta-ok{color:#2e7d32;font-weight:600}.delta-warn{color:#f57f17;font-weight:600}.delta-bad{color:#c62828;font-weight:600}.badge{border-radius:12px;display:inline-block;font-size:12px;font-weight:600;padding:2px 8px}.badge-green{background:#e8f5e9;color:#2e7d32}.badge-red{background:#ffebee;color:#c62828}.error,.loading{font-size:18px;padding:40px;text-align:center}.error{color:#dc3545}.station-management{margin:0 auto;max-width:1200px;padding:20px}.station-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:30px}.station-header h1{color:#333;margin:0}.btn{border:none;border-radius:5px;cursor:pointer;font-size:14px;padding:10px 20px;transition:background-color .3s}.btn-primary{background-color:#007bff;color:#fff}.btn-primary:hover{background-color:#0056b3}.btn-secondary{background-color:#6c757d;color:#fff}.btn-secondary:hover{background-color:#545b62}.btn-sm{font-size:12px;padding:6px 12px}.error-message{background-color:#f8d7da;border-radius:5px;color:#721c24;margin-bottom:20px;padding:12px}.station-form-overlay{align-items:center;background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.station-form{background:#fff;border-radius:10px;max-height:90vh;max-width:500px;overflow-y:auto;padding:30px;width:90%}.station-form h2{margin-bottom:20px;margin-top:0}.form-group{margin-bottom:15px}.form-group label{color:#333;display:block;font-weight:500;margin-bottom:5px}.form-group input{border:1px solid #ddd;border-radius:4px;font-size:14px;padding:8px;width:100%}.form-row{grid-gap:15px;display:grid;gap:15px;grid-template-columns:1fr 1fr}.form-actions{display:flex;gap:10px;margin-top:20px}.stations-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.station-card{background:#fff;border:1px solid #ddd;border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:20px;transition:box-shadow .3s}.station-card:hover{box-shadow:0 4px 8px #00000026}.station-card-header{align-items:center;border-bottom:1px solid #eee;display:flex;justify-content:space-between;margin-bottom:15px;padding-bottom:10px}.station-card-header h3{color:#333;margin:0}.station-actions{display:flex;gap:5px}.btn-icon{background:none;border:none;cursor:pointer;font-size:18px;opacity:.7;padding:5px;transition:opacity .3s}.btn-icon:hover{opacity:1}.station-info{margin-bottom:15px}.station-info p{color:#666;font-size:14px;margin:8px 0}.station-actions-footer{border-top:1px solid #eee;margin-top:15px;padding-top:15px}.no-stations{color:#666;grid-column:1/-1}.loading,.no-stations{padding:40px;text-align:center}.loading{font-size:18px}.supervisor-page{margin:0 auto;max-width:600px;padding:1rem}.supervisor-loading{color:#666;padding:2rem;text-align:center}.supervisor-header{margin-bottom:1.5rem}.supervisor-header h1{font-size:1.4rem;font-weight:700;margin-bottom:.75rem}.supervisor-stats{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.5rem}.stat-pill{border-radius:999px;font-size:.8rem;font-weight:600;padding:.25rem .75rem}.stat-available{background:#d1fae5;color:#065f46}.stat-charging{background:#fef3c7;color:#92400e}.stat-rented{background:#dbeafe;color:#1e40af}.stat-maintenance{background:#fee2e2;color:#991b1b}.earnings-card{background:var(--brand-dark);border-radius:var(--radius);box-shadow:var(--shadow);color:#fff;margin-top:.75rem;padding:14px 16px}.earnings-title{color:#ffffffbf;font-size:.85rem;font-weight:600;margin-bottom:10px}.earnings-figures{display:flex;gap:12px}.earnings-fig{display:flex;flex:1 1;flex-direction:column;gap:2px}.earnings-amt{color:var(--biliti-green);font-size:1.25rem;font-weight:700}.earnings-lbl{color:#fff9;font-size:.72rem;letter-spacing:.04em;text-transform:uppercase}.earnings-sub{color:#ffffff8c;font-size:.75rem;margin-top:8px}.earnings-toggle{background:none;border:1px solid #fff3;border-radius:var(--radius-sm);color:var(--biliti-green);cursor:pointer;font-family:inherit;font-size:.78rem;font-weight:600;margin-top:10px;padding:5px 10px;transition:background .15s ease}.earnings-toggle:hover{background:#ffffff14}.earnings-list{border-top:1px solid #ffffff1f;margin-top:10px;max-height:260px;overflow-y:auto}.earnings-row{align-items:center;border-bottom:1px solid #ffffff14;display:flex;gap:12px;justify-content:space-between;padding:8px 0}.earnings-row-left{display:flex;flex-direction:column;gap:2px}.earnings-row-date{color:#fff;font-size:.82rem}.earnings-row-meta{color:#fffc;font-size:.78rem}.earnings-row-sub{color:#ffffff80;font-size:.7rem}.earnings-row-amt{color:var(--biliti-green);font-size:.95rem;font-weight:700;white-space:nowrap}.ble-hint{color:#6b7280;font-size:.78rem;margin-top:.25rem}.ble-warn{color:#b45309}.battery-list{display:flex;flex-direction:column;gap:.75rem}.battery-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 1px 3px #0000000f;padding:1rem}.battery-card.charging{border-left:4px solid #f59e0b}.battery-card.maintenance{border-left:4px solid #ef4444}.battery-card.available{border-left:4px solid #10b981}.battery-card.rented{border-left:4px solid var(--biliti-blue)}.battery-card-top{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:.6rem}.battery-info{display:flex;flex-direction:column}.battery-name{font-size:1rem;font-weight:700}.battery-station{color:#6b7280;font-size:.78rem}.battery-meta{align-items:flex-end;display:flex;flex-direction:column;gap:.25rem}.battery-status{border-radius:999px;font-size:.75rem;font-weight:600;padding:.15rem .6rem}.status-available{background:#d1fae5;color:#065f46}.status-charging{background:#fef3c7;color:#92400e}.status-rented{background:#dbeafe;color:#1e40af}.status-maintenance{background:#fee2e2;color:#991b1b}.ble-badge{background:#eafff1;color:var(--biliti-green-ink)}.ble-badge,.fault-badge{border-radius:999px;font-size:.7rem;font-weight:600;padding:.1rem .5rem}.fault-badge-critical{background:#fee2e2;color:#991b1b}.fault-badge-warning{background:#fef3c7;color:#92400e}.fault-reasons{display:flex;flex-direction:column;gap:.5rem;margin:.75rem 0}.fault-reason-option{align-items:center;border:1px solid #ddd;border-radius:8px;cursor:pointer;display:flex;font-size:.95rem;gap:.6rem;padding:.6rem .75rem}.fault-reason-option input{height:1.1rem;width:1.1rem}.fault-reason-option:has(input:checked){background:#f3fff8;border-color:#49e875;border-color:var(--biliti-green,#49e875)}.battery-card-bms{color:#374151;display:flex;font-size:.82rem;gap:1rem;margin-bottom:.75rem}.battery-card-bms .on{color:#059669}.battery-card-bms .off{color:#dc2626}.charging-indicator{border-radius:6px;font-size:.82rem;font-weight:600;margin-bottom:.75rem;padding:5px 10px}.charging-active{background:#d1fae5;color:#065f46}.charging-inactive{background:#fee2e2;color:#991b1b}.charging-unknown{background:#fef3c7;color:#92400e}.charging-amps{font-weight:400;opacity:.85}.maintenance-note{background:#fee2e2;border-radius:6px;color:#7f1d1d;font-size:.8rem;margin-bottom:.75rem;padding:.35rem .6rem}.battery-card-actions{display:flex;flex-wrap:wrap;gap:.5rem}.battery-card-actions button{border:none;border-radius:8px;cursor:pointer;flex:1 1;font-size:.85rem;font-weight:600;min-width:120px;padding:.5rem .75rem;transition:opacity .15s}.battery-card-actions button:disabled{cursor:not-allowed;opacity:.45}.btn-charge{background:#f59e0b;color:#fff}.btn-relock{background:var(--primary);color:var(--on-primary)}.btn-fault{background:#ef4444;color:#fff}.btn-cancel{background:#e5e7eb;color:#374151}.modal-overlay{align-items:center;background:#00000073;display:flex;inset:0;justify-content:center;padding:1rem;position:fixed;z-index:1000}.modal-box{background:#fff;border-radius:14px;max-width:380px;padding:1.5rem;width:100%}.modal-box h3{font-size:1.1rem;font-weight:700;margin-bottom:.4rem}.modal-box p{color:#6b7280;font-size:.85rem;margin-bottom:.75rem}.modal-box textarea{border:1px solid #d1d5db;border-radius:8px;box-sizing:border-box;font-size:.9rem;margin-bottom:1rem;padding:.5rem;resize:vertical;width:100%}.modal-actions{display:flex;gap:.5rem}.modal-actions button{border:none;border-radius:8px;cursor:pointer;flex:1 1;font-size:.9rem;font-weight:600;padding:.55rem}.unmatched-section{background:#fff8e1;border:1px solid #ffe082;border-radius:10px;margin-top:2rem;padding:1rem}.unmatched-section h3{font-size:1rem;font-weight:700;margin-bottom:.25rem}.unmatched-device{align-items:center;border-bottom:1px solid #ffe082;display:flex;gap:.5rem;padding:.5rem 0}.unmatched-device:last-child{border-bottom:none}.device-mac{flex:1 1;font-family:monospace;font-size:.85rem}.device-rssi{color:#888;font-size:.8rem}.btn-assign{background:#ff9800;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.85rem;font-weight:600;padding:.35rem .75rem}.assign-battery-list{display:flex;flex-direction:column;gap:.5rem;margin:1rem 0}.btn-assign-battery{background:var(--biliti-blue);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:.95rem;font-weight:600;padding:.6rem}.pending-approvals{margin-bottom:1.5rem}.pending-title{color:#d97706;font-size:1.1rem;font-weight:700;margin-bottom:.75rem}.approval-card{align-items:center;border-left:4px solid;border-radius:10px;display:flex;justify-content:space-between;margin-bottom:.6rem;padding:.75rem 1rem}.approval-start{background:#f0fdf4;border-color:#22c55e}.approval-end{background:#fff7ed;border-color:#f97316}.approval-info{flex-direction:column;gap:2px}.approval-type{font-size:.95rem;font-weight:700}.approval-user{color:#374151;font-size:.9rem}.approval-battery{color:#6b7280;font-size:.85rem}.approval-time{color:#9ca3af;font-size:.8rem}.btn-approve{border:none;border-radius:8px;cursor:pointer;font-size:.9rem;font-weight:700;padding:.5rem 1rem;white-space:nowrap}.btn-approve-start{background:var(--primary);color:var(--on-primary)}.btn-approve-end{background:#f97316;color:#fff}.btn-approve:disabled{cursor:not-allowed;opacity:.5}.pending-approval-msg{color:#374151;font-size:1rem;margin-bottom:.5rem}.pending-approval-sub{color:#9ca3af;font-size:.85rem}@media (max-width:480px){.supervisor-page{padding:.75rem .6rem}.supervisor-header h1{font-size:1.25rem}.battery-card-actions button{flex:1 1 100%;min-width:0}.approval-card{flex-wrap:wrap;gap:.5rem}.approval-info{flex:1 1 100%}.btn-approve{width:100%}.modal-box{padding:1.1rem}}.btn-bms-dashboard{background:#1a1a2e;border:1px solid #49e8754d;border-radius:6px;color:#49e875;cursor:pointer;font-size:.75rem;font-weight:600;padding:.45rem .7rem;transition:background .2s}.btn-bms-dashboard:hover{background:#49e8751a}.vehicle-approvals{border-left:3px solid #ff9800}.mono{font-family:Courier New,monospace;font-size:.8rem}.service-workspace{margin:0 auto;max-width:820px;padding:1rem 1rem 4rem}.service-workspace h1{font-size:1.4rem;margin-bottom:.25rem}.sw-sub{color:#666;font-size:.85rem;margin-bottom:1.25rem}.service-workspace h2{font-size:1.05rem;margin:1.5rem 0 .6rem}.muted{color:#999;font-size:.9rem}.approval-inbox{background:#fff8e6;border:1px solid #f3e2b0;border-radius:12px;margin-bottom:1rem;padding:.75rem .9rem}.approval-inbox h2{color:#8a6d1a;font-size:1.05rem;margin:0 0 .6rem}.approval-row{background:#fff;border:1px solid #eee;border-radius:8px;gap:.6rem;justify-content:space-between;margin-bottom:.5rem;padding:.55rem .7rem}.approval-info,.approval-row{align-items:center;display:flex;flex-wrap:wrap}.approval-info{font-size:.85rem;gap:.5rem}.ai-tag{border-radius:999px;font-size:.68rem;font-weight:700;padding:.1rem .5rem}.tag-estimate{background:#fff3cd;color:#856404}.tag-return{background:#e6f9ef;color:#137a43}.ai-batt{font-family:monospace;font-weight:600}.ai-amount{font-weight:700}.ai-eng{color:#888}.approval-actions,.ticket-list{display:flex;gap:.5rem}.ticket-list{flex-direction:column}.ticket-row{align-items:center;background:#fff;border:1px solid #e3e3e3;border-radius:10px;display:flex;justify-content:space-between;padding:.7rem .85rem}.t-batt{font-family:monospace;font-weight:600}.t-issue{align-items:center;color:#555;display:flex;font-size:.85rem;gap:.5rem}.t-sev{border-radius:999px;font-size:.7rem;padding:.05rem .45rem;text-transform:capitalize}.sev-critical{background:#fee2e2;color:#991b1b}.sev-warning{background:#fef3c7;color:#92400e}.repair-card{background:#fff;border:1px solid #e3e3e3;border-radius:10px;margin-bottom:.6rem;overflow:hidden}.repair-head{align-items:center;background:none;border:none;cursor:pointer;display:flex;flex-wrap:wrap;font-size:.95rem;gap:.6rem;padding:.75rem .85rem;text-align:left;width:100%}.repair-id{font-weight:700}.repair-batt{color:#444;font-family:monospace}.repair-stage{background:#eef;border-radius:999px;color:#334;font-size:.72rem;margin-left:auto;padding:.1rem .55rem}.stage-pending_approval{background:#fff3cd;color:#856404}.stage-approved{background:#e7f5ff;color:#0b5a9e}.stage-verified{background:#e6f9ef;color:#137a43}.stage-rejected{background:#fee2e2;color:#991b1b}.repair-caret{color:#999;font-size:.75rem}.repair-body{border-top:1px solid #f0f0f0;padding:0 .85rem .85rem}.repair-meta{grid-gap:.25rem 1rem;display:grid;font-size:.85rem;gap:.25rem 1rem;grid-template-columns:1fr 1fr;margin:.6rem 0}.lifetime-banner{background:#f3fff8;border:1px solid #d6f3e3;border-radius:8px;color:#14633c;font-size:.82rem;margin-bottom:.5rem;padding:.5rem .7rem}.repair-section{border-top:1px dashed #eee;margin-top:.75rem;padding-top:.75rem}.repair-section h4{font-size:.95rem;margin:0 0 .5rem}.repair-section.gate{background:#fafbff;border:1px solid #eef;border-radius:8px;padding:.75rem}.repair-section label{color:#555;display:block;font-size:.8rem;margin:.5rem 0 .2rem}.repair-section select,.repair-section textarea{border:1px solid #ccc;border-radius:6px;font-size:.9rem;padding:.5rem;width:100%}.awaiting,.diag{color:#555;font-size:.85rem}.awaiting{font-style:italic}.reject-note{color:#991b1b;font-size:.85rem}.li-editor{margin:.4rem 0}.li-row{align-items:center;display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:.4rem}.li-row select{flex:0 0 5rem}.li-desc,.li-row select{border:1px solid #ccc;border-radius:6px;padding:.4rem}.li-desc{flex:1 1 8rem}.li-qty{flex:0 0 3.5rem}.li-cost,.li-qty{border:1px solid #ccc;border-radius:6px;padding:.4rem}.li-cost,.li-total{flex:0 0 5rem}.li-total{color:#333;font-size:.85rem;text-align:right}.li-del{background:#fee2e2;border:none;border-radius:6px;color:#991b1b;cursor:pointer;flex:0 0 1.8rem;font-size:1rem}.li-add{background:none;border:1px dashed #aaa;border-radius:6px;cursor:pointer;font-size:.85rem;padding:.35rem .7rem}.li-grand{font-size:.95rem;margin-top:.4rem;text-align:right}.ro-items{font-size:.85rem;list-style:none;margin:.3rem 0;padding:0}.ro-items li{border-bottom:1px solid #f3f3f3;padding:.2rem 0}.btn-row{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:.6rem}.btn-danger,.btn-primary,.btn-secondary{border:none;border-radius:8px;cursor:pointer;font-size:.9rem;font-weight:600;padding:.55rem 1rem}.btn-primary{background:#49e875;background:var(--biliti-green,#49e875);color:#0c2b18}.btn-secondary{background:#eef;color:#334}.btn-danger{background:#fee2e2;color:#991b1b}.btn-danger:disabled,.btn-primary:disabled,.btn-secondary:disabled{cursor:default;opacity:.55}.link-toggle{background:none;border:none;color:#0b5a9e;cursor:pointer;font-size:.8rem;font-weight:600;margin-left:.6rem;text-decoration:underline}.completed-summary{background:#f6fff9;border-radius:8px;padding:.6rem}.verify-ok{color:#137a43}.verify-fail,.verify-ok{font-size:.88rem;font-weight:600}.verify-fail{color:#991b1b}@media (max-width:520px){.repair-meta{grid-template-columns:1fr}.li-total{flex:1 1 100%;text-align:left}}.repair-asset-tag{background:#eef;border-radius:999px;color:#334;font-size:.72rem;margin-left:.35rem;padding:.1rem .55rem}.repair-asset-tag.asset-vehicle{background:#fdeee8;color:#7a3d1d}.vehicle-verify{display:flex;flex-direction:column;gap:.5rem}.photo-label{color:#555;font-size:.8rem}.verify-busy{color:#888;font-size:.8rem;font-style:italic}.verify-photos{display:flex;flex-wrap:wrap;gap:.4rem}.verify-thumb{border:1px solid #ddd;border-radius:6px;height:64px;object-fit:cover;width:64px}.bms-theme{--bg-deep:#000d21;--bg-surface:#051535;--bg-card:#0d2149;--border-card:#1a3560;--green:#49e875;--blue:#1982c4;--yellow:#ffca3a;--danger:#f44;--text-primary:#fff;--text-muted:#89b}.bms-header{color:var(--text-primary)}.bms-shell{height:calc(100vh - 64px);overflow:hidden}.bms-page,.bms-shell{background:linear-gradient(180deg,#000d21,#1565c0);display:flex}.bms-page{--bg-deep:#000d21;--bg-surface:#051535;--bg-card:#0d2149;--border-card:#1a3560;--green:#49e875;--blue:#1982c4;--yellow:#ffca3a;--danger:#f44;--text-primary:#fff;--text-muted:#89b;--cell-high:#49e875;--cell-mid:#1982c4;--cell-low:#ffca3a;--cell-alert:#f44;align-items:center;color:var(--text-primary);flex:1 1;flex-direction:column;font-family:Montserrat,sans-serif;min-width:0;overflow-y:auto}.bms-page>*{max-width:480px;width:100%}.bms-header{align-items:center;display:flex;gap:.75rem;padding:.75rem 1rem}.bms-header h2{flex:1 1;font-size:1.1rem;font-weight:600;letter-spacing:.5px;margin:0}.bms-id{background:var(--bg-card);border:1px solid var(--border-card);border-radius:6px;color:var(--text-muted);font-family:monospace;font-size:.65rem;padding:.2rem .5rem}.bms-back{background:none;border:none;color:var(--green);cursor:pointer;font-size:.85rem;font-weight:500;padding:0}.bms-back,.bms-banner{font-family:Montserrat,sans-serif}.bms-banner{border-radius:10px;font-size:.8rem;margin:0 1rem .75rem;padding:.6rem 1rem}.bms-banner-warn{background:#ffca3a1f;border:1px solid #ffca3a40;color:var(--yellow)}.bms-connect-bar{align-items:center;display:flex;gap:.75rem;justify-content:center;padding:.5rem 1rem .75rem}.bms-btn{border:none;border-radius:12px;cursor:pointer;font-family:Montserrat,sans-serif;font-size:.8rem;font-weight:600;letter-spacing:.5px;padding:.55rem 1.25rem}.bms-btn:disabled{cursor:default;opacity:.4}.bms-btn-connect{background:var(--green);color:#000d21}.bms-btn-disconnect{background:var(--bg-card);border:1px solid var(--border-card);color:var(--text-primary)}.bms-connected-indicator{color:var(--green);font-size:.8rem;font-weight:600}.bms-error-text{color:var(--danger);font-size:.8rem}.bms-connecting{align-items:center;color:var(--text-muted);display:flex;font-size:.8rem;gap:.5rem}.bms-spinner{animation:bms-spin .7s linear infinite;border:2px solid #ffffff26;border-radius:50%;border-top:2px solid var(--green);height:18px;width:18px}@keyframes bms-spin{to{transform:rotate(1turn)}}.bms-loading{color:#fff9;font-size:.9rem;padding:3rem 1rem;text-align:center}.bms-soc-section{align-items:center;display:flex;flex-direction:column;padding:.5rem 1rem 0}.bms-soc-gauge-wrap{height:210px;position:relative;width:210px}.bms-soc-gauge-wrap canvas{display:block}.bms-soc-center{left:50%;position:absolute;text-align:center;top:50%;transform:translate(-50%,-55%)}.bms-lock-icon{font-size:3.2rem;line-height:1}.bms-soc-pct{color:var(--text-primary);font-size:1.8rem;font-weight:700;line-height:1}.bms-soc-label-bottom{bottom:10px;box-sizing:border-box;display:flex;justify-content:space-between;padding:0 15px;position:absolute;width:100%}.bms-soc-label-bottom span{color:#ffffff8a;font-size:.75rem}.bms-balancing-badge{color:var(--green);font-size:.7rem;font-weight:600;margin-top:2px}.bms-metrics-row{display:flex;justify-content:space-evenly;padding:.5rem 1rem 0}.bms-metric-circle{align-items:center;display:flex;flex-direction:column;gap:6px}.bms-metric-circle-inner{align-items:center;border-radius:50%;display:flex;height:82px;justify-content:center;width:82px}.bms-metric-circle-inner span{color:#fff;font-size:1.05rem;font-weight:700}.bms-metric-circle-label{color:#fff9;font-size:.68rem;font-weight:500}.bms-stats{background:#fff;border-radius:20px 20px 0 0;flex:1 1;margin-top:1rem;padding:.5rem 0 .75rem}.bms-stats-row{color:#111;display:flex;font-size:.8rem;justify-content:space-between;padding:.7rem 1rem}.bms-stats-row+.bms-stats-row{border-top:1px solid #eee}.bms-stats-label{color:#666;font-weight:500}.bms-stats-value{color:#111;font-weight:600}.bms-prot-status{color:var(--danger)!important}.bms-tab-bar{background:#fff;border-bottom:1px solid #eee;display:flex;margin-top:.5rem}.bms-tab{background:none;border:none;border-bottom:2.5px solid #0000;color:#999;cursor:pointer;flex:1 1;font-family:Montserrat,sans-serif;font-size:.8rem;font-weight:600;padding:.75rem 0;transition:color .2s,border-color .2s}.bms-tab.active{border-bottom-color:var(--blue);color:#111}.bms-tab-content{padding:0}.bms-cell-summary-strip-light{background:#f8f9fa;border-bottom:1px solid #eee;display:flex;justify-content:space-around;padding:.6rem 1rem}.bms-stat-chip{text-align:center}.bms-stat-chip-label{font-size:.6rem;font-weight:700;letter-spacing:1.2px;margin-bottom:1px}.bms-stat-chip-value{color:#111;font-size:.8rem;font-weight:700}.bms-cells-grid{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(3,1fr);padding:.75rem}.bms-cell-card{background:#fff;border:1px solid #e5e5e5;border-radius:10px;box-shadow:0 2px 4px #0000000d;display:flex;flex-direction:column;overflow:hidden}.bms-cell-card.max,.bms-cell-card.min{border-width:2px}.bms-cell-card-header{font-size:.68rem;font-weight:700;padding:.3rem 0;text-align:center}.bms-cell-card-body{align-items:center;display:flex;flex:1 1;flex-direction:column;min-height:100px;padding:.3rem .5rem}.bms-cell-card-fill-track{background:#eee;border-radius:6px;flex:1 1;min-height:60px;overflow:hidden;position:relative;width:100%}.bms-cell-card-fill{border-radius:0 0 6px 6px;bottom:0;left:0;position:absolute;right:0;transition:height .4s}.bms-cell-card-fill-pct{color:#444;font-size:.6rem;font-weight:700;left:50%;pointer-events:none;position:absolute;top:50%;transform:translate(-50%,-50%)}.bms-cell-card-volt{font-size:.68rem;font-weight:700;margin-top:.2rem;text-align:center}.bms-cell-card-balance{font-size:.7rem}.bms-cell-card-badge{font-size:.5rem;font-weight:800;letter-spacing:.5px;padding:.15rem 0;text-align:center}.bms-section-label{color:var(--text-muted);font-size:.68rem;font-weight:600;letter-spacing:1.2px;padding:1rem 1rem .5rem;text-transform:uppercase}.bms-prot-list{padding:0}.bms-prot-row{align-items:center;border-bottom:1px solid #eee;display:flex;justify-content:space-between;padding:.7rem 1rem}.bms-prot-row-label{color:#555;font-size:.82rem}.bms-prot-pill{border-radius:12px;font-size:.7rem;font-weight:700;letter-spacing:.3px;padding:.15rem .65rem}.bms-prot-pill.ok{background:#49e8751f;color:#49e875}.bms-prot-pill.fault{background:#ff44441f;color:#f44}.bms-fault-indicator{color:var(--danger);font-size:.75rem;font-weight:600}.bms-ok-indicator{color:var(--green);font-size:.75rem;font-weight:600}.bms-alarms{display:flex;flex-wrap:wrap;gap:4px;padding:0 1rem .5rem}.bms-alarm-chip{background:#ff444426;border-radius:6px;color:var(--danger);font-size:.65rem;font-weight:600;padding:.15rem .5rem}.bms-danger-banner{align-items:flex-start;background:#ff444414;border:1px solid #ff444440;border-radius:12px;color:var(--danger);display:flex;font-size:.7rem;gap:.5rem;margin:0 1rem .75rem;padding:.75rem .85rem}.bms-fet-status-row{background:var(--bg-card);border:1px solid var(--border-card);border-radius:16px;margin:0 1rem;overflow:hidden}.bms-fet-status-item{align-items:center;display:flex;justify-content:space-between;padding:.75rem 1rem}.bms-fet-status-item+.bms-fet-status-item{border-top:1px solid var(--border-card)}.bms-fet-status-label{color:var(--text-muted);font-size:.8rem}.bms-fet-status-badge{border-radius:6px;font-size:.7rem;font-weight:700;padding:.2rem .6rem}.bms-fet-status-badge.on{background:#49e87526;color:var(--green)}.bms-fet-status-badge.off{background:#ff444426;color:var(--danger)}.bms-fet-card{background:var(--bg-card);border:1px solid var(--border-card);border-radius:16px;gap:1rem;margin:.5rem 1rem;padding:1rem}.bms-fet-card,.bms-fet-icon{align-items:center;display:flex}.bms-fet-icon{border-radius:12px;flex-shrink:0;font-size:1.3rem;height:48px;justify-content:center;width:48px}.bms-fet-icon.on{background:#49e8752e}.bms-fet-icon.off{background:#ff44442e}.bms-fet-info{flex:1 1}.bms-fet-info .bms-fet-name{font-size:.9rem;font-weight:600}.bms-fet-info .bms-fet-hint{color:var(--text-muted);font-size:.7rem;margin-top:2px}.bms-fet-switch{flex-shrink:0}.bms-fet-switch input{display:none}.bms-fet-toggle{border:none;border-radius:13px;cursor:pointer;height:26px;position:relative;transition:background .2s;width:48px}.bms-fet-toggle.on{background:var(--green)}.bms-fet-toggle.off{background:var(--danger)}.bms-fet-toggle:after{background:#fff;border-radius:50%;content:"";height:20px;position:absolute;top:3px;transition:transform .2s;width:20px}.bms-fet-toggle.on:after{left:3px;transform:translateX(22px)}.bms-fet-toggle.off:after{left:3px;transform:translateX(0)}.bms-fet-toggle:disabled{cursor:default;opacity:.5}.bms-fet-note{color:var(--text-muted);font-size:.65rem;padding:.25rem 1rem}.bms-danger-banner-light{align-items:flex-start;background:#ff44440f;border:1px solid #ff44442e;border-radius:10px;color:#d63031;display:flex;font-size:.7rem;gap:.5rem;margin:.5rem 1rem .75rem;padding:.6rem .75rem}.bms-fet-status-row-light{background:#f8f9fa;border:1px solid #eee;border-radius:10px;margin:0 1rem .5rem;overflow:hidden}.bms-fet-status-item-light{align-items:center;display:flex;justify-content:space-between;padding:.6rem .85rem}.bms-fet-status-item-light+.bms-fet-status-item-light{border-top:1px solid #eee}.bms-fet-status-label-light{color:#555;font-size:.8rem;font-weight:500}.bms-fet-card-light{align-items:center;background:#f8f9fa;border:1px solid #eee;border-radius:12px;display:flex;gap:.85rem;margin:.5rem 1rem;padding:.85rem}.bms-charts-grid{grid-gap:.5rem;display:grid;gap:.5rem;grid-template-columns:1fr 1fr;padding:0 1rem .5rem}.bms-mini-chart{background:var(--bg-card);border:1px solid var(--border-card);border-radius:16px;padding:.6rem}.bms-mini-chart-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:4px}.bms-mini-chart-label{color:var(--text-muted);font-size:.6rem;letter-spacing:.5px;text-transform:uppercase}.bms-mini-chart-value{font-size:.8rem;font-weight:700}.bms-mini-chart-svg{height:55px;width:100%}.bms-footer{color:#fff6;display:flex;flex-wrap:wrap;font-size:.65rem;gap:.75rem;justify-content:center;padding:.75rem 1rem 2rem}@media (max-width:768px){.bms-shell{flex-direction:column}.bms-page>*{max-width:100%}}.vd-shell{background:linear-gradient(180deg,#000d21,#1565c0);color:#fff;display:flex;font-family:Montserrat,sans-serif;justify-content:center;min-height:100vh}.vd-content{display:flex;flex-direction:column;max-width:720px;width:100%}.vd-error,.vd-loading{align-items:center;background:#0d2149;color:#ccc;display:flex;justify-content:center;min-height:100vh}.vd-content .bms-stats{flex:none}.vd-status{margin:0 1rem .25rem;text-align:center}.vd-status-badge{border-radius:999px;display:inline-block;font-size:.78rem;font-weight:600;padding:.2rem .7rem;text-transform:capitalize}.vd-status-badge.vd-available{background:#49e87526;color:#49e875}.vd-status-badge.vd-rented{background:#1982c433;color:#6bb8e8}.vd-status-badge.vd-maintenance{background:#ffca3a26;color:#ffca3a}.vd-status-badge.vd-in_repair{background:#ff444426;color:#f44}.vd-controls{display:flex;flex-wrap:wrap;gap:.6rem;justify-content:center;padding:1rem}.vd-btn{border:none;border-radius:12px;cursor:pointer;font-family:Montserrat,sans-serif;font-size:.85rem;font-weight:600;letter-spacing:.3px;padding:.6rem 1.4rem}.vd-btn:disabled{cursor:default;opacity:.5}.vd-mobilize{background:#49e875;color:#000d21}.vd-immobilize{background:#f44;color:#fff}.vd-fault{background:#0000;border:1px solid #ffca3a80;color:#ffca3a}.vd-controls-note{color:#ffffff80;font-size:.7rem;margin:0;padding:0 1rem 2rem;text-align:center}.driver-dashboard{margin:0 auto;max-width:600px;padding:20px}.dd-welcome{padding:40px 0 24px;text-align:center}.dd-welcome h2{color:#e0e0e0;font-size:1.4rem;margin:0 0 8px}.dd-welcome p{color:#888;margin:0}.dd-actions{display:flex;flex-wrap:wrap;gap:16px;justify-content:center}.dd-btn{border:none;border-radius:10px;cursor:pointer;font-size:1rem;font-weight:600;padding:14px 28px;transition:transform .1s,background .2s}.dd-btn:hover{transform:scale(1.02)}.dd-btn:disabled{cursor:not-allowed;opacity:.5;transform:none}.dd-btn.primary{background:#1565c0;color:#fff}.dd-btn.primary:hover{background:#1976d2}.dd-btn.secondary{background:#2a2a3e;border:1px solid #444;color:#ccc}.dd-btn.secondary:hover{background:#333}.dd-btn.danger{background:#f4433626;border:1px solid #f443364d;color:#f44336}.dd-btn.danger:hover{background:#f4433640}.dd-btn.warning{background:#ff980026;border:1px solid #ff980059;color:#ffb74d}.dd-btn.warning:hover{background:#ff980040}.dd-rental-card{background:#1e1e2f;border-radius:12px;padding:24px}.dd-rental-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.dd-rental-header h2{color:#e0e0e0;font-size:1.2rem;margin:0}.dd-status{border-radius:12px;font-size:.8rem;font-weight:600;padding:4px 12px}.dd-status-pending_approval{background:#ff980033;color:#ff9800}.dd-status-active{background:#4caf5033;color:#4caf50}.dd-status-pending_return_approval{background:#2196f333;color:#2196f3}.dd-paused-note{background:#ff98001f;border:1px solid #ff98004d;border-radius:8px;color:#ffb74d;font-size:.9rem;margin:0 0 16px;padding:10px 14px}.dd-rental-details{margin-bottom:20px}.dd-detail-row{border-bottom:1px solid #2a2a3e;display:flex;justify-content:space-between;padding:8px 0}.dd-label{color:#777;font-size:.85rem}.dd-value{color:#ccc;font-size:.9rem;font-weight:500}.dd-value.mono{font-family:Courier New,monospace}.dd-rental-actions{display:flex;flex-wrap:wrap;gap:12px}.dd-charging-note{background:#2196f31f;border:1px solid #2196f34d;border-radius:8px;color:#64b5f6;font-size:.9rem;margin:16px 0 0;padding:10px 14px}.error-banner{background:#f4433626;border-radius:6px;color:#f44336;cursor:pointer;font-size:.9rem;margin-bottom:16px;padding:10px 16px}.vehicle-browser{margin:0 auto;max-width:900px;padding:20px}.vb-header{align-items:center;display:flex;gap:16px;margin-bottom:20px}.vb-header h2{color:#e0e0e0;flex:1 1;font-size:1.3rem;margin:0}.vb-count{color:#888;font-size:.85rem}.vb-empty{color:#888;padding:40px;text-align:center}.vb-empty p{margin-bottom:16px}.vb-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}.vb-card{background:#1e1e2f;border:1px solid #0000;border-radius:10px;display:flex;flex-direction:column;gap:12px;padding:20px;transition:border-color .2s}.vb-card:hover{border-color:#333}.vb-card-header{align-items:center;display:flex;justify-content:space-between}.vb-card-header h3{color:#e0e0e0;font-size:1.05rem;margin:0}.vb-card-details{font-size:.85rem}.vb-row{color:#777;display:flex;justify-content:space-between;padding:4px 0}.vb-row span:last-child{color:#aaa}.vb-row .mono{font-family:Courier New,monospace;font-size:.8rem}.vb-request-btn{margin-top:auto;width:100%}.back-btn{background:none;border:none;color:#888;cursor:pointer;font-size:.95rem;padding:0}.back-btn:hover{color:#e0e0e0}.wallet-container{max-width:640px}.wallet-balance-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;box-shadow:0 2px 8px #0000000f;display:flex;flex-direction:column;gap:6px;margin-bottom:20px;padding:22px 24px}.wallet-balance-label{color:var(--ink-muted);font-size:13px;letter-spacing:.5px;text-transform:uppercase}.wallet-balance-value{color:var(--ink);font-size:36px;font-weight:700}.wallet-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;box-shadow:0 2px 8px #0000000f;margin-bottom:20px;padding:20px 24px}.wallet-card h2{color:var(--ink);font-size:17px;margin:0 0 14px}.wallet-presets{flex-wrap:wrap;margin-bottom:14px}.wallet-custom,.wallet-presets{display:flex;gap:10px}.wallet-custom input{background:var(--bg);border:1px solid var(--border);border-radius:8px;color:var(--ink);flex:1 1;font-size:15px;padding:10px 12px}.wallet-notice{color:var(--success)}.wallet-error,.wallet-notice{font-size:14px;margin:12px 0 0}.wallet-error{color:var(--danger)}.wallet-muted{color:var(--ink-muted);font-size:14px}.wallet-txns{list-style:none;margin:0;padding:0}.wallet-txn{align-items:center;border-bottom:1px solid var(--border);display:flex;gap:12px;justify-content:space-between;padding:12px 0}.wallet-txn:last-child{border-bottom:none}.wallet-txn-main{display:flex;flex-direction:column;gap:2px;min-width:0}.wallet-txn-kind{color:var(--ink);font-size:14px;font-weight:600}.wallet-txn-note{color:var(--ink-muted);font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wallet-txn-side{align-items:flex-end;display:flex;flex-direction:column;flex-shrink:0;gap:2px}.wallet-txn-amount{font-size:15px;font-weight:600}.wallet-txn-amount.credit{color:var(--success)}.wallet-txn-amount.debit{color:var(--ink)}.wallet-txn-date{color:var(--ink-muted);font-size:12px}.sub-page{margin:0 auto;max-width:720px;padding:20px 16px 40px}.sub-page h1{font-size:22px;margin:0 0 8px}.sub-balance{color:#444;font-size:14px;margin-bottom:16px}.sub-link{background:none;border:none;color:#1565c0;cursor:pointer;font-weight:600;padding:0}.sub-error,.sub-notice{border-radius:8px;cursor:pointer;font-size:14px;margin-bottom:12px;padding:10px 14px}.sub-notice{background:#e6fffa;color:#234e52}.sub-error{background:#fff0f0;color:#9b1c1c}.sub-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;margin-bottom:20px;padding:18px}.sub-card h2{font-size:16px;margin:0 0 14px}.sub-muted{color:#888;font-size:14px}.sub-list{list-style:none;margin:0;padding:0}.sub-item{border:1px solid #eef0f2;border-radius:10px;margin-bottom:10px;padding:14px}.sub-item-top{align-items:center;display:flex;gap:8px;justify-content:space-between}.sub-item-title{font-size:15px;font-weight:600}.sub-item-meta{color:#666;display:flex;flex-wrap:wrap;font-size:13px;gap:12px;margin:8px 0}.sub-item-meta code{background:#f3f4f6;border-radius:4px;padding:1px 6px}.sub-status{border-radius:12px;font-size:12px;font-weight:600;padding:3px 9px;white-space:nowrap}.sub-status.pending{background:#fef3c7;color:#92400e}.sub-status.active{background:#d1fae5;color:#065f46}.sub-status.due{background:#fee2e2;color:#991b1b}.sub-status.suspended{background:#e5e7eb;color:#374151}.sub-status.done{background:#e0e7ff;color:#3730a3}.sub-progress{background:#eef0f2;border-radius:9px;height:18px;margin:8px 0;overflow:hidden;position:relative}.sub-progress-bar{background:#34d399;border-radius:9px;height:100%;transition:width .3s}.sub-progress-label{color:#111;font-size:11px;font-weight:600;inset:0;line-height:18px;position:absolute;text-align:center}.sub-tabs{display:flex;gap:8px;margin-bottom:14px}.sub-tab{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;cursor:pointer;flex:1 1;font-size:14px;font-weight:600;padding:10px}.sub-tab.on{background:#e0e7ff;border-color:#6366f1;color:#3730a3}.sub-plan-grid{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(3,1fr);margin-bottom:16px}.sub-plan{background:#fff;border:2px solid #e5e7eb;border-radius:10px;cursor:pointer;padding:14px 8px;text-align:center}.sub-plan.selected{background:#f0fdf4;border-color:#16a34a}.sub-plan-term{color:#666;font-size:13px}.sub-plan-price{font-size:20px;font-weight:700;margin:4px 0}.sub-plan-sub{color:#888;font-size:12px}.sub-form{align-items:flex-end;display:flex;flex-wrap:wrap;gap:12px}.sub-field{color:#555;display:flex;flex:1 1;flex-direction:column;font-size:13px;gap:4px;min-width:220px}.sub-field select{background:#fff;border:1px solid #e5e7eb;border-radius:8px;font-size:14px;padding:10px}.sub-btn{border:none;border-radius:8px;cursor:pointer;font-size:14px;font-weight:600;padding:10px 18px}.sub-btn.primary{background:#16a34a;color:#fff}.sub-btn.primary:disabled{background:#9ca3af;cursor:not-allowed}.sub-btn.danger{background:#fff;border:1px solid #fca5a5;color:#b91c1c;margin-top:10px}@media (max-width:480px){.sub-plan-grid{grid-template-columns:1fr}.sub-form{align-items:stretch;flex-direction:column}}.App{display:flex;flex-direction:column;min-height:100vh}.loading{align-items:center;color:#666;display:flex;font-size:1.5rem;justify-content:center;min-height:calc(100vh - 80px)}