@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;600&display=swap";@import"https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.0/css/all.min.css";.leaflet-pane,.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-tile-container,.leaflet-pane>svg,.leaflet-pane>canvas,.leaflet-zoom-box,.leaflet-image-layer,.leaflet-layer{position:absolute;left:0;top:0}.leaflet-container{overflow:hidden}.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow{-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-user-drag:none}.leaflet-tile::selection{background:transparent}.leaflet-safari .leaflet-tile{image-rendering:-webkit-optimize-contrast}.leaflet-safari .leaflet-tile-container{width:1600px;height:1600px;-webkit-transform-origin:0 0}.leaflet-marker-icon,.leaflet-marker-shadow{display:block}.leaflet-container .leaflet-overlay-pane svg{max-width:none!important;max-height:none!important}.leaflet-container .leaflet-marker-pane img,.leaflet-container .leaflet-shadow-pane img,.leaflet-container .leaflet-tile-pane img,.leaflet-container img.leaflet-image-layer,.leaflet-container .leaflet-tile{max-width:none!important;max-height:none!important;width:auto;padding:0}.leaflet-container img.leaflet-tile{mix-blend-mode:plus-lighter}.leaflet-container.leaflet-touch-zoom{-ms-touch-action:pan-x pan-y;touch-action:pan-x pan-y}.leaflet-container.leaflet-touch-drag{-ms-touch-action:pinch-zoom;touch-action:none;touch-action:pinch-zoom}.leaflet-container.leaflet-touch-drag.leaflet-touch-zoom{-ms-touch-action:none;touch-action:none}.leaflet-container{-webkit-tap-highlight-color:transparent}.leaflet-container a{-webkit-tap-highlight-color:rgba(51,181,229,.4)}.leaflet-tile{filter:inherit;visibility:hidden}.leaflet-tile-loaded{visibility:inherit}.leaflet-zoom-box{width:0;height:0;-moz-box-sizing:border-box;box-sizing:border-box;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{width:1px;height:1px}.lvml{behavior:url(#default#VML);display:inline-block;position:absolute}.leaflet-control{position:relative;z-index:800;pointer-events:visiblePainted;pointer-events:auto}.leaflet-top,.leaflet-bottom{position:absolute;z-index:1000;pointer-events:none}.leaflet-top{top:0}.leaflet-right{right:0}.leaflet-bottom{bottom:0}.leaflet-left{left:0}.leaflet-control{float:left;clear:both}.leaflet-right .leaflet-control{float:right}.leaflet-top .leaflet-control{margin-top:10px}.leaflet-bottom .leaflet-control{margin-bottom:10px}.leaflet-left .leaflet-control{margin-left:10px}.leaflet-right .leaflet-control{margin-right:10px}.leaflet-fade-anim .leaflet-popup{opacity:0;-webkit-transition:opacity .2s linear;-moz-transition:opacity .2s linear;transition:opacity .2s linear}.leaflet-fade-anim .leaflet-map-pane .leaflet-popup{opacity:1}.leaflet-zoom-animated{-webkit-transform-origin:0 0;-ms-transform-origin:0 0;transform-origin:0 0}svg.leaflet-zoom-animated{will-change:transform}.leaflet-zoom-anim .leaflet-zoom-animated{-webkit-transition:-webkit-transform .25s cubic-bezier(0,0,.25,1);-moz-transition:-moz-transform .25s cubic-bezier(0,0,.25,1);transition:transform .25s cubic-bezier(0,0,.25,1)}.leaflet-zoom-anim .leaflet-tile,.leaflet-pan-anim .leaflet-tile{-webkit-transition:none;-moz-transition:none;transition:none}.leaflet-zoom-anim .leaflet-zoom-hide{visibility:hidden}.leaflet-interactive{cursor:pointer}.leaflet-grab{cursor:-webkit-grab;cursor:-moz-grab;cursor:grab}.leaflet-crosshair,.leaflet-crosshair .leaflet-interactive{cursor:crosshair}.leaflet-popup-pane,.leaflet-control{cursor:auto}.leaflet-dragging .leaflet-grab,.leaflet-dragging .leaflet-grab .leaflet-interactive,.leaflet-dragging .leaflet-marker-draggable{cursor:move;cursor:-webkit-grabbing;cursor:-moz-grabbing;cursor:grabbing}.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-image-layer,.leaflet-pane>svg path,.leaflet-tile-container{pointer-events:none}.leaflet-marker-icon.leaflet-interactive,.leaflet-image-layer.leaflet-interactive,.leaflet-pane>svg path.leaflet-interactive,svg.leaflet-image-layer.leaflet-interactive path{pointer-events:visiblePainted;pointer-events:auto}.leaflet-container{background:#ddd;outline-offset:1px}.leaflet-container a{color:#0078a8}.leaflet-zoom-box{border:2px dotted #38f;background:#ffffff80}.leaflet-container{font-family:Helvetica Neue,Arial,Helvetica,sans-serif;font-size:12px;font-size:.75rem;line-height:1.5}.leaflet-bar{box-shadow:0 1px 5px #000000a6;border-radius:4px}.leaflet-bar a{background-color:#fff;border-bottom:1px solid #ccc;width:26px;height:26px;line-height:26px;display:block;text-align:center;text-decoration:none;color:#000}.leaflet-bar a,.leaflet-control-layers-toggle{background-position:50% 50%;background-repeat:no-repeat;display:block}.leaflet-bar a:hover,.leaflet-bar a:focus{background-color:#f4f4f4}.leaflet-bar a:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.leaflet-bar a:last-child{border-bottom-left-radius:4px;border-bottom-right-radius:4px;border-bottom:none}.leaflet-bar a.leaflet-disabled{cursor:default;background-color:#f4f4f4;color:#bbb}.leaflet-touch .leaflet-bar a{width:30px;height:30px;line-height:30px}.leaflet-touch .leaflet-bar a:first-child{border-top-left-radius:2px;border-top-right-radius:2px}.leaflet-touch .leaflet-bar a:last-child{border-bottom-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{box-shadow:0 1px 5px #0006;background:#fff;border-radius:5px}.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);width:36px;height: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{width:44px;height:44px}.leaflet-control-layers .leaflet-control-layers-list,.leaflet-control-layers-expanded .leaflet-control-layers-toggle{display:none}.leaflet-control-layers-expanded .leaflet-control-layers-list{display:block;position:relative}.leaflet-control-layers-expanded{padding:6px 10px 6px 6px;color:#333;background:#fff}.leaflet-control-layers-scrollbar{overflow-y:scroll;overflow-x:hidden;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{height:0;border-top:1px solid #ddd;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{padding:0 5px;color:#333;line-height:1.4}.leaflet-control-attribution a{text-decoration:none}.leaflet-control-attribution a:hover,.leaflet-control-attribution a:focus{text-decoration:underline}.leaflet-attribution-flag{display:inline!important;vertical-align:baseline!important;width:1em;height:.6669em}.leaflet-left .leaflet-control-scale{margin-left:5px}.leaflet-bottom .leaflet-control-scale{margin-bottom:5px}.leaflet-control-scale-line{border:2px solid #777;border-top:none;line-height:1.1;padding:2px 5px 1px;white-space:nowrap;-moz-box-sizing:border-box;box-sizing:border-box;background:#fffc;text-shadow:1px 1px #fff}.leaflet-control-scale-line:not(:first-child){border-top:2px solid #777;border-bottom:none;margin-top:-2px}.leaflet-control-scale-line:not(:first-child):not(:last-child){border-bottom:2px solid #777}.leaflet-touch .leaflet-control-attribution,.leaflet-touch .leaflet-control-layers,.leaflet-touch .leaflet-bar{box-shadow:none}.leaflet-touch .leaflet-control-layers,.leaflet-touch .leaflet-bar{border:2px solid rgba(0,0,0,.2);background-clip:padding-box}.leaflet-popup{position:absolute;text-align:center;margin-bottom:20px}.leaflet-popup-content-wrapper{padding:1px;text-align:left;border-radius:12px}.leaflet-popup-content{margin:13px 24px 13px 20px;line-height:1.3;font-size:13px;font-size:1.08333em;min-height:1px}.leaflet-popup-content p{margin:1.3em 0}.leaflet-popup-tip-container{width:40px;height:20px;position:absolute;left:50%;margin-top:-1px;margin-left:-20px;overflow:hidden;pointer-events:none}.leaflet-popup-tip{width:17px;height:17px;padding:1px;margin:-10px auto 0;pointer-events:auto;-webkit-transform:rotate(45deg);-moz-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg)}.leaflet-popup-content-wrapper,.leaflet-popup-tip{background:#fff;color:#333;box-shadow:0 3px 14px #0006}.leaflet-container a.leaflet-popup-close-button{position:absolute;top:0;right:0;border:none;text-align:center;width:24px;height:24px;font:16px/24px Tahoma,Verdana,sans-serif;color:#757575;text-decoration:none;background:transparent}.leaflet-container a.leaflet-popup-close-button:hover,.leaflet-container a.leaflet-popup-close-button:focus{color:#585858}.leaflet-popup-scrolled{overflow:auto}.leaflet-oldie .leaflet-popup-content-wrapper{-ms-zoom:1}.leaflet-oldie .leaflet-popup-tip{width:24px;margin:0 auto;-ms-filter:"progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678)";filter:progid:DXImageTransform.Microsoft.Matrix(M11=.70710678,M12=.70710678,M21=-.70710678,M22=.70710678)}.leaflet-oldie .leaflet-control-zoom,.leaflet-oldie .leaflet-control-layers,.leaflet-oldie .leaflet-popup-content-wrapper,.leaflet-oldie .leaflet-popup-tip{border:1px solid #999}.leaflet-div-icon{background:#fff;border:1px solid #666}.leaflet-tooltip{position:absolute;padding:6px;background-color:#fff;border:1px solid #fff;border-radius:3px;color:#222;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;pointer-events:none;box-shadow:0 1px 3px #0006}.leaflet-tooltip.leaflet-interactive{cursor:pointer;pointer-events:auto}.leaflet-tooltip-top:before,.leaflet-tooltip-bottom:before,.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{position:absolute;pointer-events:none;border:6px solid transparent;background:transparent;content:""}.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{bottom:0;margin-bottom:-12px;border-top-color:#fff}.leaflet-tooltip-bottom:before{top:0;margin-top:-12px;margin-left:-6px;border-bottom-color:#fff}.leaflet-tooltip-left{margin-left:-6px}.leaflet-tooltip-right{margin-left:6px}.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{top:50%;margin-top:-6px}.leaflet-tooltip-left:before{right:0;margin-right:-12px;border-left-color:#fff}.leaflet-tooltip-right:before{left:0;margin-left:-12px;border-right-color:#fff}@media print{.leaflet-control{-webkit-print-color-adjust:exact;print-color-adjust:exact}}:root{--primary-orange: #ff7a00;--primary-orange-light: #ffbb66;--primary-orange-dark: #e96b00;--surface-primary: #ffffff;--text-primary: #000;--sidebar-width: 27%;--sidebar-scrollbar-gutter: 12px;--color-powered-on: #1cb956;--color-powered-off: #e53935;--color-battery-connected: #ff7a00;--color-battery-disconnected: #dc2626;--color-offline: #9ca3af;--color-powered-on-map: #1cb956;--color-battery-ok: #1cb956;--color-battery-warn: #ffb300;--color-battery-low: #e53935;--color-text-dark: #2b2b2b;--color-text-mid: #666;--color-text-light: #9ca3af;--color-border-soft: #f0f0f0;--color-border-mid: #e0e3e8}body,html{margin:0;padding:0;height:100%;font-family:Inter,sans-serif;width:100vw;background-color:#fefefe}.container{display:flex;flex-direction:row;height:100vh;width:100vw}.sidebar{position:relative;display:flex;flex-direction:column;flex:0 0 var(--sidebar-width);width:var(--sidebar-width);max-width:var(--sidebar-width);padding:30px 10px 0 20px;overflow-y:auto;box-shadow:2px 0 5px #0000001a}.welcome-message{font-weight:600;color:#2b2b2b;font-size:20px;margin-bottom:14px;padding:10px 0}.welcome-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.sidebar-loading-state{min-height:220px;display:flex;flex-direction:column}.sidebar-loading-logout{margin-top:auto;padding-top:12px}.sidebar .card{background-color:#fff;padding:18px;border-radius:16px;cursor:pointer;transition:transform ease .18s;will-change:transform;margin-bottom:16px;position:relative;box-shadow:0 4px 8px #0003,0 1px 2px #0000000d}.sidebar .card:hover,.search-input:hover{transform:translateY(-2px);box-shadow:0 6px 14px #0000004d,0 2px 4px #0000000d}.sidebar .card.selected{box-shadow:0 4px 8px #ff7a0066,0 2px 4px #0000000d;cursor:default}.sidebar .card .actions{margin-top:14px;display:flex;gap:12px;flex-wrap:wrap}.sidebar .card .actions button{flex:1;padding:8px 14px;background:linear-gradient(to right,#ff7a00,#fb6);border:none;color:#fff;font-weight:500;border-radius:8px;cursor:pointer;transition:background .3s ease}.sidebar .card .actions button:hover:not(:disabled){background:linear-gradient(to right,#e96b00,#ffa940)}.sidebar .card .actions button:disabled{background:linear-gradient(to right,#454545,#a8a8a8);cursor:not-allowed;box-shadow:none;opacity:.5}.map-container{flex:1;min-width:0;height:100%;position:relative}.map-container .leaflet-container{background:radial-gradient(circle at 30% 25%,#e7eef5,#d8e3ee 55%,#cfdce9)}.map-container .leaflet-tile-pane{background:linear-gradient(180deg,#dde6efbf,#d2deebbf)}.map-container .leaflet-tile{transition:opacity .16s ease-out}.text-card{line-height:.8;margin-bottom:0}.battery-indicator{position:absolute;top:10px;right:10px;width:46px;height:20px;border:1px solid #999;border-radius:5px;overflow:hidden;background-color:#eee;font-size:11px;color:#000;font-weight:600;line-height:22px;text-align:center}.battery-fill{height:100%;background-color:#4caf50;text-align:center;transition:width .3s ease}.battery-text{position:absolute;top:0;left:0;width:100%;height:100%;z-index:2;display:flex;align-items:center;justify-content:center;color:#000;pointer-events:none}.lock-status{margin-top:6px;text-align:right;font-size:18px;color:#ff7a00}.fa-solid fa-spinner fa-spin{margin-top:6px;text-align:right;font-size:18px;color:#ff7a00}.notification{position:fixed;top:68px;bottom:auto;left:calc(var(--sidebar-width) / 2 + 50vw);transform:translate(-50%);background:#fff;color:#2b2b2b;padding:14px 16px;border-radius:14px;z-index:1000;text-align:left;min-width:320px;max-width:min(560px,calc(100vw - 32px));box-shadow:0 12px 30px #14141424;display:flex;align-items:center;gap:12px;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);overflow:hidden}.notification-icon{width:36px;height:36px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:#ff7a001f;color:#ff7a00;flex-shrink:0;margin-top:0}.notification-body{display:flex;flex-direction:column;gap:4px;min-width:0;flex:1}.notification-message{font-size:14px;font-weight:600;line-height:1.35;word-break:break-word}.notification-meta{font-size:12px;color:#8a6a4a}.notification-close{margin-left:auto;width:28px;height:28px;border:none;border-radius:0;background:transparent;color:#243b55;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;align-self:flex-start;transition:opacity .2s ease,color .2s ease;opacity:.75;padding:0}.notification-close:hover{color:#162736;opacity:1}@media (max-width: 768px){.notification{left:50%;top:12px;min-width:calc(100vw - 24px);max-width:calc(100vw - 24px);padding:12px 14px}.notification-icon{width:32px;height:32px}.notification-close{width:26px;height:26px}}.gridStats{margin-top:10px;font-size:14px;display:grid;grid-template-columns:1fr 1fr;gap:10px}.scooter-tooltip{font-size:17px;padding:8px 18px;border-radius:8px;background:#fff;color:#000;box-shadow:0 2px 8px #0000001f;font-weight:600}.scooter-marker-halo{background:none!important;border:none!important;box-shadow:none!important;overflow:visible!important}.scooter-cluster-icon{display:flex;align-items:center;justify-content:center;background:#ff7a00;color:#fff;font-weight:700;font-size:14px;line-height:1;padding:1px 0 0;border-radius:50%;border:3px solid #fff;box-shadow:0 2px 10px #ff7a0080;transition:transform .15s ease;box-sizing:border-box}.scooter-cluster-icon:hover{transform:scale(1.12)}.search-input{flex:1;min-width:0;margin:0;display:block;padding:10px 22px;border-radius:100px;border:0px;font-size:16px;outline:none;box-sizing:border-box;box-shadow:0 4px 8px #0003,0 1px 2px #0000000d;transition:all .25s ease}.search-sort-row{width:90%;margin:0 auto 20px;display:flex;align-items:center;gap:8px}.sort-btn{flex-shrink:0;width:40px;height:40px;border-radius:50%;border:none;background:#fff;color:#ff7a00;box-shadow:0 4px 8px #0003,0 1px 2px #0000000d;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .22s ease;padding:0}.sort-btn:hover{background:#ff7a00;color:#fff;transform:scale(1.08);box-shadow:0 6px 14px #ff7a0059}.sort-btn:active{transform:scale(.95)}.scooter-name-input{font-size:1em;border:none;outline:none;background:transparent;width:120px}.dashboard-fab-btn{position:absolute;top:20px;right:30px;z-index:900;background:#fff;color:#ff7a00;border:0px;border-radius:8px;width:40px;height:40px;font-size:18px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .2s,color .2s}.dashboard-fab-btn:hover{background:#ff7a00;color:#fff}.dashboard-fab-btn:active{opacity:.85}.mobile-list-button{display:none;position:fixed;top:20px;left:50%;transform:translate(-50%);background-color:#fff;color:#000;border:none;border-radius:50px;padding:12px 24px;font-size:16px;font-weight:400;z-index:1000;box-shadow:0 4px 12px #0000004d;transition:all .3s ease;align-items:center;gap:8px}.mobile-map-button{display:none;background:#fff;color:#000;border:none;border-radius:50px;width:55px;height:55px;font-size:1em;font-weight:600;transition:all .3s ease;align-items:center;gap:6px;box-shadow:0 4px 6px #0000004d}.mobile-sidebar-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background-color:#0000004d;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);z-index:1000;opacity:0;visibility:hidden;transition:opacity .25s ease,visibility .25s ease}.mobile-sidebar-overlay.visible{opacity:1;visibility:visible}@media (max-width: 768px){.leaflet-control-container{display:none}.container{flex-direction:row;position:relative;height:100dvh}.sidebar{position:fixed;top:0;left:-100%;width:100vw;max-width:100vw;height:100vh;max-height:none;overflow-y:auto;border-bottom:none;box-shadow:none;background-color:#fefefe;z-index:1001;transition:left .3s ease;padding:20px;padding-bottom:calc(76px + env(safe-area-inset-bottom,0px));box-sizing:border-box}.sidebar.mobile-visible{left:0}.mobile-map-button{display:flex;justify-content:center}.mobile-list-button{display:flex}.map-container{width:100vw;height:100dvh}.welcome-row{flex-direction:row-reverse;justify-content:space-between;align-items:center;margin-bottom:20px}.welcome-message{font-size:18px;padding:8px 0;margin-bottom:0}.sidebar .card{padding:16px;font-size:15px;border-radius:12px;margin-bottom:12px}.sidebar .card .actions{flex-direction:row;gap:8px}.sidebar .card .actions button{flex:1;font-size:14px;padding:10px 12px}.battery-indicator{top:8px;right:8px;width:40px;height:16px;font-size:10px;line-height:16px}.sidebar.mobile-visible~.mobile-list-button{display:none}.notification{top:16px;left:50vw;transform:translate(-50%);max-width:90vw}}@media (max-width: 480px){.sidebar{padding:15px;padding-bottom:calc(71px + env(safe-area-inset-bottom,0px))}.mobile-list-button{padding:10px 20px;font-size:14px}.welcome-message{font-size:16px}}.notif-panel{position:fixed;top:70px;right:14px;z-index:1400;width:300px;max-height:60vh;display:flex;flex-direction:column;border-radius:14px;overflow:hidden;box-shadow:0 8px 32px #00000038;pointer-events:all;animation:notif-panel-in .2s cubic-bezier(.34,1.56,.64,1)}@keyframes notif-panel-in{0%{opacity:0;transform:translateY(-10px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.notif-panel-header{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;font-size:13px;font-weight:700;color:#fff;background:#ff7a00;flex-shrink:0}.notif-panel-close{background:none;border:none;color:#fff;cursor:pointer;font-size:15px;padding:2px 4px;opacity:.85;transition:opacity .15s}.notif-panel-close:hover{opacity:1}.notif-panel-list{overflow-y:auto;display:flex;flex-direction:column;gap:2px;padding:4px 0;background:#fffffff5;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}.notif-panel-list::-webkit-scrollbar{width:4px}.notif-panel-list::-webkit-scrollbar-thumb{background:#e0e0e0;border-radius:4px}.notif-panel-item{display:flex;flex-direction:column;gap:2px;padding:9px 14px;border-bottom:1px solid rgba(0,0,0,.05)}.notif-panel-item:last-child{border-bottom:none}.notif-panel-msg{font-size:13px;color:#222;line-height:1.35}.notif-panel-time{font-size:11px;color:#999;font-variant-numeric:tabular-nums}.notif-panel-empty{padding:20px 14px;font-size:13px;color:#aaa;text-align:center;background:#fffffff5}@media (max-width: 768px){.notif-panel{top:0;right:0;left:0;bottom:0;width:100%;max-height:100%;border-radius:0;animation:none}.notif-panel-list{flex:1;backdrop-filter:none;-webkit-backdrop-filter:none;background:#fff;padding-bottom:calc(56px + env(safe-area-inset-bottom,0px))}.notif-panel-header{display:none}.notif-panel-close{font-size:18px}}.loading-screen{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#fff!important;display:flex;justify-content:center;align-items:center;z-index:9999;animation:fadeIn .3s ease-in;border:none!important;box-shadow:none!important}.loading-screen--inline{position:relative;width:100%;height:100%;z-index:auto;flex:1}.loading-screen--compact .loading-spinner{width:40px;height:40px}.loading-screen--compact .spinner{border-width:4px!important;border-top-width:4px!important;border-right-width:4px!important;border-bottom-width:4px!important;border-left-width:4px!important}.loading-screen--compact .loading-text{font-size:16px;margin-left:0}.loading-screen.fade-out{animation:fadeOut .5s ease-out forwards}.loading-content{display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:none!important;background:transparent!important;border:none!important;padding:0!important;margin:0 auto!important}.loading-spinner{position:relative;width:80px;height:80px;background:transparent!important;border:none!important;box-shadow:none!important;padding:0!important;margin:0!important}.spinner{width:100%;height:100%;border:6px solid transparent!important;border-top:6px solid #ff9800!important;border-right:6px solid #ff9800!important;border-bottom:6px solid rgba(255,152,0,.3)!important;border-left:6px solid rgba(255,152,0,.3)!important;border-radius:50%;animation:spin .8s linear infinite;background:transparent!important;box-shadow:0 0 25px #ff980066!important;padding:0!important;margin:0!important}.loading-text{color:#ff9800!important;font-size:26px;font-weight:700;margin-left:-7%;padding:0!important;letter-spacing:.5px;animation:pulse 1.5s ease-in-out infinite;background:transparent!important;border:none!important;box-shadow:none!important;text-align:center}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@media (max-width: 768px){.loading-text{font-size:16px;padding:0 10px!important}.loading-spinner{width:60px;height:60px}}.update-scooter-btn{background:none;border:none;cursor:pointer;padding:4px 8px;font-size:20px;color:#000;transition:color .2s;display:inline-flex;align-items:center}.update-scooter-btn:hover .fa-rotate-right{animation:spin 1.2s linear infinite;color:#ff7a00}.update-scooter-btn:disabled{opacity:.5;cursor:not-allowed}.admin-sms-command{width:100%;margin-top:16px;position:relative}.admin-sms-notification{margin-bottom:12px;padding:10px 12px;border-radius:6px;display:flex;align-items:center;animation:slideDown .3s ease;font-size:13px}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.admin-sms-notification-success{background-color:#4caf5026;border:1px solid rgba(76,175,80,.3);color:#2e7d32}.admin-sms-notification-error{background-color:#f4433626;border:1px solid rgba(244,67,54,.3);color:#c62828}.admin-sms-notification-content{display:flex;align-items:center;gap:8px;width:100%;font-size:13px;font-weight:500}.admin-sms-notification i{font-size:14px;flex-shrink:0}.admin-sms-container{display:flex;gap:8px;align-items:stretch;flex-direction:column}.admin-sms-input{flex:1;padding:10px 12px;border:1px solid #e0e0e0;border-radius:6px;background-color:#fafafa;color:#2b2b2b;font-size:13px;font-family:inherit;transition:all .3s ease}.admin-sms-input::placeholder{color:#999}.admin-sms-input:focus{outline:none;border-color:#ff7a00;background-color:#fff;box-shadow:0 0 0 2px #ff7a0014}.admin-sms-input:disabled{opacity:.6;cursor:not-allowed;background-color:#f5f5f5}.admin-sms-button{padding:10px 16px;background:linear-gradient(to right,#ff7a00,#fb6);color:#fff;border:none;border-radius:6px;font-size:13px;font-weight:600;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;gap:8px;white-space:nowrap;box-shadow:0 2px 4px #ff7a0040}.admin-sms-button:hover:not(:disabled){background:linear-gradient(to right,#e96b00,#ffa940);transform:translateY(-2px);box-shadow:0 4px 8px #ff7a0059}.admin-sms-button:active:not(:disabled){transform:translateY(0);box-shadow:0 2px 4px #ff7a0040}.admin-sms-button:disabled{opacity:.6;cursor:not-allowed}.admin-sms-test-button{padding:10px 16px;background:linear-gradient(to right,#243b55,#486581);color:#fff;border:none;border-radius:6px;font-size:13px;font-weight:600;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;gap:8px;white-space:nowrap;box-shadow:0 2px 4px #243b5540}.admin-sms-test-button:hover:not(:disabled){background:linear-gradient(to right,#1b2d40,#375a72);transform:translateY(-2px);box-shadow:0 4px 8px #243b5559}.admin-sms-test-button:disabled{opacity:.6;cursor:not-allowed}.admin-sms-test-button i,.admin-sms-button i{font-size:13px}.admin-sms-button .fa-spinner{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media (max-width: 768px){.admin-sms-command{padding:14px;margin:12px 0}.admin-sms-container{flex-direction:column;gap:8px}.admin-sms-button,.admin-sms-test-button{padding:10px 14px}}.admin-sms-history{margin-top:16px;border-top:1px solid #ddd;padding-top:12px}.admin-sms-history-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.admin-sms-history-header h4{margin:0;font-size:14px;color:#333;font-weight:600}.admin-sms-refresh-button{background:none;border:none;color:#666;cursor:pointer;padding:4px 8px;border-radius:4px;transition:all .3s ease;font-size:14px}.admin-sms-refresh-button:hover:not(:disabled){background-color:#f0f0f0;color:#333}.admin-sms-refresh-button:disabled{opacity:.5;cursor:not-allowed}.admin-sms-list{list-style:none;padding:0;margin:0;max-height:200px;overflow-y:auto}.admin-sms-item{display:flex;flex-direction:column;gap:7px;padding:10px 12px;margin-bottom:8px;background:#fff;border:1px solid rgba(255,122,0,.1);border-radius:10px;font-size:12px;box-shadow:0 1px 4px #0000000a}.admin-sms-item-header{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.admin-sms-date{display:inline-flex;align-items:center;padding:4px 8px;border-radius:999px;background:#ff7a001f;color:#a95200;font-weight:700;letter-spacing:.01em}.admin-sms-time{display:inline-flex;align-items:center;padding:4px 8px;border-radius:999px;background:#243b5514;color:#243b55;font-weight:600}.admin-sms-content{color:#2c2c2c;line-height:1.45;word-break:break-word}@media (max-width: 768px){.admin-sms-history{margin-top:12px}.admin-sms-list{max-height:150px}.admin-sms-item{padding:6px;font-size:11px}}.recenter-control{margin-bottom:10px!important;margin-left:10px!important;border:none!important;border-radius:0!important;box-shadow:none!important;background:transparent!important}.recenter-control .recenter-btn{display:flex;align-items:center;justify-content:center;width:42px;height:42px;padding:0;border:none;border-radius:12px;outline:none;background:#fffffff7;color:#444;font-size:16px;cursor:pointer;box-shadow:0 3px 12px #0000002e;transition:background .15s,color .15s,box-shadow .15s}.recenter-control .recenter-btn:hover{background:#ff7a00;color:#fff;box-shadow:0 3px 14px #ff7a0059}.leaflet-cluster-anim .leaflet-marker-icon,.leaflet-cluster-anim .leaflet-marker-shadow{-webkit-transition:-webkit-transform .3s ease-out,opacity .3s ease-in;-moz-transition:-moz-transform .3s ease-out,opacity .3s ease-in;-o-transition:-o-transform .3s ease-out,opacity .3s ease-in;transition:transform .3s ease-out,opacity .3s ease-in}.leaflet-cluster-spider-leg{-webkit-transition:-webkit-stroke-dashoffset .3s ease-out,-webkit-stroke-opacity .3s ease-in;-moz-transition:-moz-stroke-dashoffset .3s ease-out,-moz-stroke-opacity .3s ease-in;-o-transition:-o-stroke-dashoffset .3s ease-out,-o-stroke-opacity .3s ease-in;transition:stroke-dashoffset .3s ease-out,stroke-opacity .3s ease-in}.marker-cluster-small{background-color:#b5e28c99}.marker-cluster-small div{background-color:#6ecc3999}.marker-cluster-medium{background-color:#f1d35799}.marker-cluster-medium div{background-color:#f0c20c99}.marker-cluster-large{background-color:#fd9c7399}.marker-cluster-large div{background-color:#f1801799}.leaflet-oldie .marker-cluster-small{background-color:#b5e28c}.leaflet-oldie .marker-cluster-small div{background-color:#6ecc39}.leaflet-oldie .marker-cluster-medium{background-color:#f1d357}.leaflet-oldie .marker-cluster-medium div{background-color:#f0c20c}.leaflet-oldie .marker-cluster-large{background-color:#fd9c73}.leaflet-oldie .marker-cluster-large div{background-color:#f18017}.marker-cluster{background-clip:padding-box;border-radius:20px}.marker-cluster div{width:30px;height:30px;margin-left:5px;margin-top:5px;text-align:center;border-radius:15px;font:12px Helvetica Neue,Arial,Helvetica,sans-serif}.marker-cluster span{line-height:30px}.drc-root{display:flex;flex-direction:column;gap:8px;-webkit-user-select:none;user-select:none}.drc-header{display:flex;align-items:center;justify-content:space-between}.drc-month-label{font-size:13px;font-weight:700;color:#2b2b2b;text-transform:capitalize;letter-spacing:.3px}.drc-nav{background:none;border:1px solid #e0e0e0;cursor:pointer;font-size:16px;color:#555;width:26px;height:26px;display:flex;align-items:center;justify-content:center;border-radius:4px;line-height:1;transition:all .12s}.drc-nav:hover{background:#ffe0b2;border-color:#ff9800;color:#e65100}.drc-grid{display:grid;grid-template-columns:repeat(7,1fr)}.drc-day-label{text-align:center;font-size:10px;font-weight:700;color:#bbb;padding:2px 0 5px;cursor:default!important}.drc-cell{position:relative;text-align:center;font-size:12px;padding:6px 1px;cursor:pointer;color:#2b2b2b;border-radius:4px;transition:background .08s,color .08s}.drc-cell-empty{cursor:default}.drc-cell:not(.drc-cell-empty):not(.drc-day-label):not(.drc-start):not(.drc-end):not(.drc-single):hover{background:#ffe0b2;color:#e65100}.drc-in-range{background:#fff4e8;color:#e65100;border-radius:0}.drc-start{background:#ff7a00;color:#fff;border-radius:4px 0 0 4px}.drc-end{background:#ff7a00;color:#fff;border-radius:0 4px 4px 0}.drc-single{background:#ff7a00;color:#fff;border-radius:4px}.drc-day-count{display:block;font-size:8px;line-height:1;color:#ff9800;font-weight:700;margin-top:1px;opacity:.85}.drc-start .drc-day-count,.drc-end .drc-day-count,.drc-single .drc-day-count{color:#ffffffd9}.drc-hint{text-align:center;font-size:11px;color:#aaa;min-height:15px;padding:1px 0}.drc-times{display:flex;flex-direction:column;gap:6px;padding-top:8px;border-top:1px solid #f0f0f0}.drc-time-row{display:flex;align-items:center;gap:8px}.drc-time-label{font-size:11px;font-weight:600;color:#888;width:72px;flex-shrink:0}.drc-time-input{flex:1;border:1px solid #ddd;border-radius:4px;padding:3px 6px;font-size:12px;color:#2b2b2b;outline:none;transition:border-color .15s;height:26px;box-sizing:border-box}.drc-time-input:focus{border-color:#ff9800}.drc-time-input:disabled{opacity:.35;background:#f5f5f5;cursor:not-allowed}.dataraw-card-body{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1;gap:14px;text-align:center}.dataraw-card-desc{color:#666;font-size:13px;margin:0;line-height:1.5}.dataraw-open-btn{background:#ff7a00;color:#fff;border:none;border-radius:8px;padding:10px 22px;font-size:14px;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:8px;transition:background .15s}.dataraw-open-btn:hover{background:#e06800}.dataraw-page{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:#fff;display:flex;flex-direction:column;font-family:inherit;cursor:default}.dataraw-page .dashboard-header{flex-shrink:0}.dataraw-controls{display:flex;align-items:center;gap:8px;flex-wrap:nowrap;margin-left:auto}.dataraw-controls-scroll{display:flex;align-items:center;gap:8px;flex-wrap:nowrap;flex-shrink:0}.dataraw-vehicle-selector{position:relative}.dataraw-search-input{border:1px solid #ddd;border-radius:6px;padding:5px 10px;font-size:13px;width:220px;outline:none;color:#2b2b2b;transition:border-color .15s}.dataraw-search-input:focus{border-color:#ff7a00}.dataraw-dropdown{position:absolute;top:calc(100% + 4px);left:0;min-width:100%;background:#fff;border:1px solid #ddd;border-radius:6px;box-shadow:0 4px 14px #0000001f;z-index:10001;max-height:220px;overflow-y:auto}.dataraw-dropdown-item{display:flex;align-items:center;gap:10px;padding:7px 12px;cursor:pointer;font-size:13px;transition:background .1s}.dataraw-dropdown-item:hover,.dataraw-dropdown-item.active{background:#fff4e8}.dataraw-dropdown-name{font-weight:600;color:#2b2b2b}.dataraw-dropdown-imei{color:#888;font-size:12px;font-family:monospace}.dataraw-periods{display:flex;align-items:center;gap:3px}.dataraw-period-btn{background:#f5f5f5;border:1px solid #e0e0e0;border-radius:5px;padding:5px 10px;font-size:12px;font-weight:600;cursor:pointer;color:#555;transition:all .15s;display:flex;align-items:center;gap:5px;white-space:nowrap}.dataraw-period-btn:hover:not(:disabled){background:#ffe0b2;border-color:#ff9800;color:#e65100}.dataraw-period-btn.active{background:#ff7a00;border-color:#ff7a00;color:#fff}.dataraw-period-btn:disabled{opacity:.5;cursor:not-allowed}.dataraw-range-label-inline{font-size:11px;font-weight:600;max-width:200px;overflow:hidden;text-overflow:ellipsis}.dataraw-range-picker{position:relative}.dataraw-range-popover{position:absolute;top:calc(100% + 6px);right:0;background:#fff;border:1px solid #ddd;border-radius:8px;box-shadow:0 6px 20px #00000024;padding:14px 14px 12px;z-index:10002;width:310px;display:flex;flex-direction:column;gap:10px}.dataraw-range-popover.dataraw-range-popover--up{top:auto;bottom:calc(100% + 6px)}.dataraw-range-row{display:flex;align-items:center;gap:8px}.dataraw-range-label{font-size:12px;font-weight:600;color:#666;width:22px;flex-shrink:0}.dataraw-range-input{flex:1;border:1px solid #ddd;border-radius:5px;padding:4px 8px;font-size:12px;color:#2b2b2b;outline:none;transition:border-color .15s;height:28px;box-sizing:border-box}.dataraw-range-input:focus{border-color:#ff9800}.dataraw-range-presets{display:flex;gap:4px;padding-top:2px;border-top:1px solid #f0f0f0}.dataraw-range-preset-btn{flex:1;background:#f5f5f5;border:1px solid #e0e0e0;border-radius:4px;padding:3px 0;font-size:11px;font-weight:700;cursor:pointer;color:#555;transition:all .12s}.dataraw-range-preset-btn:hover{background:#ffe0b2;border-color:#ff9800;color:#e65100}.dataraw-range-actions{display:flex;justify-content:flex-end;gap:6px;padding-top:2px;border-top:1px solid #f0f0f0}.dataraw-range-cancel{background:none;border:1px solid #e0e0e0;border-radius:5px;padding:4px 12px;font-size:12px;cursor:pointer;color:#666;transition:all .12s}.dataraw-range-cancel:hover{background:#f5f5f5;border-color:#bbb}.dataraw-range-apply{background:#ff7a00;border:none;border-radius:5px;padding:4px 14px;font-size:12px;font-weight:600;cursor:pointer;color:#fff;display:flex;align-items:center;gap:5px;transition:background .12s}.dataraw-range-apply:hover:not(:disabled){background:#e06800}.dataraw-range-apply:disabled{opacity:.45;cursor:not-allowed}.dataraw-icon-btn{background:#f5f5f5;border:1px solid #e0e0e0;border-radius:6px;width:32px;height:32px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:14px;color:#555;transition:all .15s;flex-shrink:0}.dataraw-icon-btn:hover:not(:disabled){background:#ffe0b2;border-color:#ff9800;color:#e65100}.dataraw-icon-btn:disabled{opacity:.45;cursor:not-allowed}.dataraw-close-btn:hover:not(:disabled){background:#ffebee;border-color:#e53935;color:#e53935}.dataraw-tabs{display:flex;align-items:center;gap:4px;padding:6px 12px;border-bottom:1px solid #e8e8e8;background:#fafafa;flex-shrink:0;min-width:0;position:relative;z-index:10}.dataraw-tabs-scroll{display:flex;align-items:center;gap:4px;min-width:0;max-width:100%;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scrollbar-width:none;touch-action:pan-x;overscroll-behavior-x:contain;scroll-snap-type:x proximity;scroll-padding-inline:12px;position:relative}.dataraw-tabs-scroll::-webkit-scrollbar{display:none}.dataraw-tabs-scroll-hint{position:absolute;right:8px;top:50%;transform:translateY(-50%);display:inline-flex;align-items:center;justify-content:flex-end;width:54px;height:calc(100% - 8px);pointer-events:none;z-index:2}.dataraw-tabs-scroll-fade{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,#fafafa00,#fafafaeb 55%,#fafafa)}.dataraw-tabs-scroll-hint i{position:relative;z-index:1;color:#c66d08;font-size:12px}.dataraw-tab{background:transparent;border:1px solid transparent;border-radius:5px;padding:4px 12px;font-size:12px;font-weight:600;cursor:pointer;color:#666;display:flex;align-items:center;gap:5px;flex-shrink:0;white-space:nowrap;scroll-snap-align:start;transition:all .15s}.dataraw-tab:hover{background:#fff4e8;border-color:#ffc87a;color:#e06800}.dataraw-tab.active{background:#ff7a00;border-color:#ff7a00;color:#fff}.dataraw-tab.missing{opacity:.5}.dataraw-tab-count{background:#0000001a;border-radius:10px;padding:0 6px;font-size:10px;font-weight:700}.dataraw-tab.active .dataraw-tab-count{background:#ffffff40}.dataraw-tab-missing{font-size:11px}.dataraw-filter-bar{position:relative;z-index:5;display:flex;align-items:flex-start;gap:10px;padding:6px 12px;border-bottom:1px solid #e8e8e8;background:#fafafa;flex-shrink:0;flex-wrap:nowrap;min-height:38px}.dataraw-filter-rows{display:flex;flex-direction:column;gap:4px;flex:1;min-width:0}.dataraw-filter-row{display:flex;align-items:center;gap:6px;min-height:28px}.dataraw-filter-col{border:1px solid #ddd;border-radius:5px;padding:3px 6px;font-size:12px;color:#2b2b2b;background:#fff;outline:none;min-width:130px;max-width:200px;height:28px;box-sizing:border-box;cursor:pointer;transition:border-color .15s}.dataraw-filter-col:focus{border-color:#ff9800}.dataraw-filter-op{border:1px solid #ddd;border-radius:5px;padding:3px 6px;font-size:12px;color:#2b2b2b;background:#fff;outline:none;width:80px;height:28px;box-sizing:border-box;cursor:pointer;transition:border-color .15s}.dataraw-filter-op:focus{border-color:#ff9800}.dataraw-filter-val{border:1px solid #ddd;border-radius:5px;padding:3px 8px;font-size:12px;font-family:monospace;color:#2b2b2b;background:#fff;outline:none;flex:1;min-width:80px;height:28px;line-height:1.2;box-sizing:border-box;transition:border-color .15s}.dataraw-filter-val:focus{border-color:#ff9800}.dataraw-filter-remove{background:none;border:none;cursor:pointer;color:#bbb;font-size:13px;padding:2px 5px;border-radius:4px;display:flex;align-items:center;flex-shrink:0;transition:all .12s}.dataraw-filter-remove:hover{color:#e53935;background:#ffebee}.dataraw-filter-actions{display:flex;align-items:center;gap:6px;flex-shrink:0;height:28px}.dataraw-filter-add{background:#fff;border:1px solid #ff9800;color:#ff7a00;border-radius:5px;padding:0 10px;height:28px;font-size:12px;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:5px;white-space:nowrap;transition:all .15s}.dataraw-filter-add:hover{background:#fff4e8}.dataraw-filter-reset{background:#fff;border:1px solid #e0e0e0;color:#666;border-radius:5px;padding:0 10px;height:28px;font-size:12px;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:5px;white-space:nowrap;transition:all .15s}.dataraw-filter-reset:hover{background:#f7f7f7;border-color:#bdbdbd;color:#333}.dataraw-filter-clear-all{background:none;border:1px solid #e0e0e0;color:#aaa;border-radius:5px;padding:0 8px;height:28px;font-size:12px;cursor:pointer;display:flex;align-items:center;transition:all .15s}.dataraw-filter-clear-all:hover{background:#ffebee;border-color:#e53935;color:#e53935}.dataraw-row-count{font-size:11px;color:#888;white-space:nowrap;flex-shrink:0}.dataraw-table-area{flex:1;min-height:0;position:relative;overflow:hidden}.dataraw-content-layout{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;min-width:0;min-height:0}.dataraw-table-pane{position:relative;flex:1;min-width:0;min-height:0}.dataraw-error{padding:12px 16px;color:#c62828;background:#ffebee;font-size:13px;display:flex;align-items:center;gap:8px;flex-shrink:0}.dataraw-loading{display:flex;align-items:center;justify-content:center;gap:10px;padding:32px;color:#888;font-size:14px;position:absolute;top:0;right:0;bottom:0;left:0}.dataraw-scroll{position:absolute;top:0;right:0;bottom:0;left:0;overflow:auto}.dataraw-mobile-scroll{display:none}.dataraw-table{border-collapse:collapse;font-size:11px;line-height:1.3;table-layout:fixed}.dataraw-table thead th{position:sticky;top:0;z-index:2;background:#f4f4f4;color:#111;text-align:left;border-bottom:1px solid #d0d0d0;border-right:1px solid #ececec;padding:4px 8px;white-space:nowrap;font-weight:700;overflow:hidden;text-overflow:ellipsis}.dataraw-table tbody td{border-bottom:1px solid #f0f0f0;border-right:1px solid #f4f4f4;padding:3px 8px;white-space:nowrap;vertical-align:top;color:#333;cursor:default;overflow:hidden;text-overflow:ellipsis}.dataraw-table tbody tr:hover td{background:#fff8f0}.dataraw-table tbody tr{cursor:pointer}.dataraw-table tbody tr.dataraw-row-selected td{background:#fff0df}.dataraw-table tbody tr.dataraw-row-selected .dataraw-index{background:#ffe0bf;color:#9a5200}.dataraw-index{background:#f7f7f7;color:#888;font-weight:600;text-align:right;width:28px;min-width:28px;max-width:28px;font-size:10px;padding:3px 4px}.dataraw-th-index{width:28px;min-width:28px;max-width:28px;text-align:right;padding:4px}.dataraw-th-sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.dataraw-th-sortable:hover{color:#ff7a00}.dataraw-sort-arrow{color:#ff7a00;font-size:11px;margin-left:2px}.dataraw-empty{text-align:center;color:#888;padding:32px 16px;font-size:13px;white-space:normal;overflow:visible;text-overflow:clip;line-height:1.5}.dataraw-empty-state{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;padding:24px}.dataraw-empty-state-card{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:28px 36px;max-width:420px;text-align:center;border-radius:16px;color:#7c7c7c}.dataraw-empty-state-card i{font-size:28px;color:#ff7a00}.dataraw-empty-state-title{margin:0;font-size:14px;line-height:1.5}.dataraw-col-manager-wrap{position:relative}.dataraw-eye-btn{background:none;border:1px solid #e0e0e0;border-radius:5px;padding:0 10px;height:28px;font-size:13px;color:#888;cursor:pointer;display:flex;align-items:center;gap:5px;transition:all .15s;white-space:nowrap}.dataraw-eye-btn:hover:not(:disabled){background:#fff4e8;border-color:#ff9800;color:#e06800}.dataraw-eye-btn.active{background:#fff4e8;border-color:#ff9800;color:#e06800}.dataraw-eye-btn:disabled{opacity:.4;cursor:not-allowed}.dataraw-col-manager{position:absolute;top:calc(100% + 6px);right:0;width:280px;background:#fff;border:1px solid #ddd;border-radius:8px;box-shadow:0 6px 24px #00000021;z-index:10002;display:flex;flex-direction:column;max-height:380px}.dataraw-col-manager-header{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;border-bottom:1px solid #f0f0f0;font-size:12px;font-weight:700;color:#444;flex-shrink:0;gap:8px;flex-wrap:wrap}.dataraw-col-manager-action{background:none;border:1px solid #e0e0e0;border-radius:4px;padding:2px 7px;font-size:11px;cursor:pointer;color:#666;white-space:nowrap;transition:all .12s}.dataraw-col-manager-action:hover{background:#fff4e8;border-color:#ff9800;color:#e06800}.dataraw-col-manager-list{overflow-y:auto;flex:1;padding:4px 0}.dataraw-col-manager-item{display:flex;align-items:center;gap:8px;padding:5px 12px;cursor:grab;-webkit-user-select:none;user-select:none;transition:background .1s}.dataraw-col-manager-item:hover{background:#f9f9f9}.dataraw-col-manager-item:active{cursor:grabbing}.dataraw-col-drag-handle{color:#ccc;font-size:11px;flex-shrink:0}.dataraw-col-manager-label{flex:1;font-size:12px;font-family:monospace;color:#333;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:default}.dataraw-col-toggle{position:relative;display:inline-block;width:34px;height:20px;flex-shrink:0;cursor:pointer}.dataraw-col-toggle input{opacity:0;width:0;height:0;position:absolute}.dataraw-col-slider{position:absolute;top:0;right:0;bottom:0;left:0;background:#ddd;border-radius:20px;transition:background .2s}.dataraw-col-slider:before{content:"";position:absolute;width:14px;height:14px;left:3px;top:3px;background:#fff;border-radius:50%;box-shadow:0 1px 3px #0003;transition:transform .2s}.dataraw-col-toggle input:checked+.dataraw-col-slider{background:#ff7a00}.dataraw-col-toggle input:checked+.dataraw-col-slider:before{transform:translate(14px)}.dataraw-draggable-th{cursor:grab}.dataraw-draggable-th:active{cursor:grabbing}.dataraw-mobile-card{border:1px solid #ececec;border-radius:14px;background:#fff;box-shadow:0 2px 8px #0000000a}.dataraw-mobile-card.is-open{border-color:#ffcf9a;box-shadow:0 6px 18px #ff7a001f}.dataraw-mobile-card-toggle{width:100%;border:none;background:transparent;padding:14px;display:flex;flex-direction:column;align-items:flex-start;gap:10px;text-align:left;cursor:pointer;color:#232323;font-family:inherit}.dataraw-mobile-card-toggle>i{align-self:flex-end;color:#b8782a;font-size:12px;transition:transform .18s ease}.dataraw-mobile-card.is-open .dataraw-mobile-card-toggle>i{transform:rotate(180deg)}.dataraw-mobile-card-header{display:flex;align-items:center;gap:8px;min-width:0}.dataraw-mobile-index-badge{display:inline-flex;align-items:center;justify-content:center;min-width:34px;height:24px;padding:0 8px;border-radius:999px;background:#fff3e5;color:#c86a00;font-size:11px;font-weight:800}.dataraw-mobile-card-title{font-size:12px;font-weight:700;color:#585858}.dataraw-mobile-summary-list{width:100%;display:grid;grid-template-columns:1fr;gap:8px}.dataraw-mobile-summary-item,.dataraw-mobile-field{display:flex;flex-direction:column;gap:4px;min-width:0}.dataraw-mobile-summary-item{padding:9px 10px;border-radius:10px;background:#faf7f3}.dataraw-mobile-summary-label,.dataraw-mobile-field-label{font-size:10px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#9a8d80}.dataraw-mobile-summary-value,.dataraw-mobile-field-value{min-width:0;color:#232323;word-break:break-word}.dataraw-mobile-summary-value{font-size:12px;font-weight:600}.dataraw-mobile-field-value{font-family:monospace;font-size:11px;line-height:1.45}.dataraw-mobile-card-body{display:grid;grid-template-columns:1fr;gap:10px;padding:0 14px 14px}@media (max-width: 1280px){.dataraw-json-panel{width:320px;min-width:320px;max-width:320px}}@media (max-width: 768px){.dataraw-page .dashboard-header{padding:10px 12px}.dataraw-page .dashboard-header h2{font-size:18px}.dataraw-tabs{flex-wrap:wrap;gap:0;padding:0 6px;overflow:hidden}.dataraw-tabs-scroll{width:100%;display:flex;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scrollbar-width:none;flex-wrap:nowrap;padding:6px 38px 6px 0;touch-action:pan-x;overscroll-behavior-x:contain;scroll-snap-type:x proximity}.dataraw-tabs-scroll::-webkit-scrollbar{display:none}.dataraw-tab{flex-shrink:0;scroll-snap-align:start}.dataraw-tabs-scroll-hint{right:6px;width:42px;height:calc(100% - 10px)}.dataraw-tabs-scroll-hint i{font-size:11px}.dataraw-controls{width:100%;margin-left:0;padding:4px 0;flex-wrap:wrap;gap:6px;overflow:visible}.dataraw-vehicle-selector{width:100%}.dataraw-search-input{width:100%;box-sizing:border-box;min-height:38px;padding:8px 12px;font-size:14px}.dataraw-dropdown{z-index:10010}.dataraw-controls-scroll{width:100%;overflow-x:auto;overflow-y:visible;-webkit-overflow-scrolling:touch;scrollbar-width:none;flex-wrap:nowrap;padding-bottom:2px}.dataraw-controls-scroll::-webkit-scrollbar{display:none}.dataraw-periods{flex-wrap:nowrap;flex-shrink:0}.dataraw-period-btn{flex-shrink:0;min-height:34px;padding:6px 10px}.dataraw-filter-bar{flex-direction:column;padding:8px 10px;gap:6px}.dataraw-filter-row{overflow-x:auto;-webkit-overflow-scrolling:touch;flex-wrap:nowrap;scrollbar-width:none;padding-bottom:2px;gap:8px;min-height:34px}.dataraw-filter-row::-webkit-scrollbar{display:none}.dataraw-filter-col{min-width:110px;flex-shrink:0;height:34px}.dataraw-filter-op{flex-shrink:0;height:34px}.dataraw-filter-val{min-width:80px;flex-shrink:0;height:34px}.dataraw-filter-actions{overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;flex-wrap:nowrap;height:auto;padding-bottom:2px}.dataraw-filter-actions::-webkit-scrollbar{display:none}.dataraw-page{padding-bottom:env(safe-area-inset-bottom,0)}.dataraw-table-area{padding-bottom:calc(64px + env(safe-area-inset-bottom,0))}.dataraw-content-layout{position:absolute;top:0;right:0;bottom:0;left:0}.dataraw-table-pane{padding:10px}.dataraw-scroll{display:none}.dataraw-mobile-scroll{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;gap:10px;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;padding-bottom:calc(56px + env(safe-area-inset-bottom,0px))}.dataraw-empty-state{padding:16px}.dataraw-empty-state-card{gap:10px;padding:22px 18px}.dataraw-col-manager{right:0;left:auto;width:min(300px,calc(100vw - 20px))}.dataraw-json-panel{display:none}}.trackit-mode-panel{position:absolute;left:50%;transform:translate(-50%);bottom:18px;z-index:900;display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:640px;max-width:calc(100% - 24px);padding:10px 14px;border-radius:12px;background:#fffffff5;border:1px solid rgba(0,0,0,.1);box-shadow:0 6px 16px #0000002e}.trackit-mode-panel.trackit-mode-panel-data-open{bottom:calc(20% + 14px)}.trackit-mode-panel.trackit-mode-panel-no-admin{min-width:unset;width:fit-content}.trackit-mode-left{display:flex;align-items:center;gap:8px}.trackit-mode-title{font-size:12px;font-weight:700;color:#222}.trackit-scooter-select{border:1px solid #d0d0d0;background:#fff;color:#222;border-radius:8px;padding:5px 8px;font-size:12px;font-weight:600;cursor:pointer;max-width:160px;outline:none}.trackit-scooter-select:focus{border-color:#ff7a00;box-shadow:0 0 0 2px #ff7a0033}.trackit-scooter-select:disabled{opacity:.6;cursor:not-allowed}.trackit-mode-data-toggle{border:1px solid #111;background:#111;color:#fff;border-radius:8px;padding:6px 14px;font-size:12px;font-weight:700;cursor:pointer;min-width:130px;transition:background .15s,color .15s}.trackit-mode-data-toggle:hover:not(:disabled){background:#333;border-color:#333}.trackit-eye-btn{width:32px;height:32px;border:1px solid #d0d0d0;border-radius:8px;background:#fff;color:#333;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:background .15s,color .15s,border-color .15s}.trackit-eye-btn:hover:not(:disabled){background:#f5f5f5;border-color:#aaa}.trackit-eye-btn.active{border-color:#ff7a00;color:#ff7a00}.trackit-mode-ranges{display:flex;align-items:center;gap:6px;border-left:1px solid #e0e0e0;padding-left:12px}.trackit-range-btn{border:1px solid #d0d0d0;background:#fff;color:#333;border-radius:8px;padding:6px 8px;font-size:12px;font-weight:700;cursor:pointer;min-width:42px;transition:background .15s,color .15s,border-color .15s}.trackit-range-btn:hover:not(:disabled):not(.active){background:#f5f5f5;border-color:#aaa}.trackit-range-btn.active{border-color:#ff7a00;background:#ff7a00;color:#fff}.trackit-range-btn.active:hover:not(:disabled){background:#e06900;border-color:#e06900}.trackit-mode-exit{border:1px solid #333;background:#fff;color:#222;border-radius:8px;padding:6px 8px;font-size:12px;font-weight:600;cursor:pointer;transition:background .15s,color .15s,border-color .15s}.trackit-mode-exit:hover:not(:disabled){background:#222;color:#fff}.trackit-mode-exit:disabled,.trackit-range-btn:disabled,.trackit-mode-data-toggle:disabled,.trackit-eye-btn:disabled{opacity:.6;cursor:not-allowed}.trackit-load-btn{border:1px solid #ff7a00;background:#ff7a00;color:#fff;border-radius:8px;padding:6px 14px;font-size:12px;font-weight:700;cursor:pointer;transition:background .15s,color .15s,border-color .15s}.trackit-load-btn:hover:not(:disabled){background:#e06900;border-color:#e06900}.trackit-load-btn:disabled{opacity:.6;cursor:not-allowed}.trackit-data-panel{position:absolute;left:0;bottom:0;width:100%;height:20%;z-index:910;background:#fffffff7;border-top:1px solid #d5d5d5}.trackit-data-table-scroll{width:100%;height:100%;overflow:auto}.trackit-data-table{width:100%;border-collapse:collapse;font-size:11px;line-height:1.2}.trackit-data-table thead th{position:sticky;top:0;z-index:2;background:#f4f4f4;color:#111;text-align:left;border-bottom:1px solid #d8d8d8;border-right:1px solid #ececec;padding:4px 5px;white-space:nowrap;font-weight:700}.trackit-data-table tbody td{border-bottom:1px solid #ececec;border-right:1px solid #f0f0f0;padding:3px 5px;white-space:nowrap;vertical-align:top}.trackit-data-table tbody tr{cursor:pointer}.trackit-data-table tbody tr:hover{background:#fff4e8}.trackit-data-table tbody tr.active{background:#ffe7cf}.trackit-data-table tbody tr.active td{background-color:#fff3e0!important;border-left:3px solid #ff7a00}.trackit-data-index{font-weight:600;text-align:center;background:#f5f5f5;min-width:40px;color:#666}.trackit-data-table tbody tr.active .trackit-data-index{background-color:#ffe0b2;color:#e65100}.trackit-hexdata-th{min-width:250px}.trackit-hexdata-td{min-width:250px;max-width:250px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer}.trackit-hexdata-td.expanded{white-space:normal;overflow:visible;max-width:250px;word-break:break-all}.trackit-data-empty-cell{text-align:center;color:#666;padding:8px}@media (max-width: 768px){.trackit-mode-panel{left:8px;right:8px;width:auto;transform:none;min-width:0;bottom:calc(70px + env(safe-area-inset-bottom,0px));border-radius:10px;padding:8px;gap:8px;flex-direction:column;align-items:stretch}.trackit-mode-panel.trackit-mode-panel-data-open{bottom:calc(22% + 70px + env(safe-area-inset-bottom,0px))}.trackit-mode-left{flex-wrap:wrap;gap:6px;justify-content:space-between}.trackit-scooter-select{max-width:100%;flex:1 1 auto}.trackit-mode-ranges{justify-content:space-between;border-left:none;padding-left:0;border-top:1px solid #e0e0e0;padding-top:8px}.trackit-range-btn{flex:1}.trackit-data-panel{height:22%;bottom:calc(56px + env(safe-area-inset-bottom,0px))}.trackit-data-table{font-size:10px}}.zone-panel{position:absolute;bottom:130px;left:16px;z-index:1200;background:#fff;border-radius:12px;box-shadow:0 4px 20px #00000026;padding:12px 14px;min-width:240px;max-width:300px;max-height:420px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:rgba(0,0,0,.2) transparent;transition:bottom .25s ease}.zone-panel::-webkit-scrollbar{width:4px}.zone-panel::-webkit-scrollbar-thumb{background:#0003;border-radius:2px}.zone-panel-toggle{display:flex;align-items:center;gap:8px;background:none;border:none;padding:0;cursor:pointer;font-family:inherit;flex:1;min-width:0;color:#ff7a00}.zone-panel-chevron{font-size:10px;color:#6b7280;transition:transform .2s;margin-left:auto;display:none}.zone-panel-chevron--open{transform:rotate(180deg)}.zone-panel-body{display:flex;flex-direction:column}.zone-panel-header{display:flex;align-items:center;gap:8px;margin-bottom:10px;color:#ff7a00;font-weight:700;font-size:13px}.zone-panel-title{flex:1;font-size:13px;font-weight:700;color:#222}.zone-add-btn{display:flex;align-items:center;gap:5px;background:#ff7a00;color:#fff;border:none;border-radius:8px;padding:4px 10px;font-size:12px;font-weight:600;cursor:pointer;transition:background .15s;white-space:nowrap}.zone-add-btn:hover{background:#e06500}.zone-add-btn.active{background:#1565c0;animation:pulse-zone 1.2s infinite}@keyframes pulse-zone{0%,to{opacity:1}50%{opacity:.75}}.zone-max-reached{font-size:11px;color:#999;font-style:italic}.zone-empty{font-size:12px;color:#888;text-align:center;line-height:1.5;margin:8px 0}.zone-list{display:flex;flex-direction:column;gap:10px}.zone-item{background:#f9f9f9;border-radius:8px;padding:8px 10px;border:1.5px solid #eee;transition:border-color .15s}.zone-item.expanded{border-color:#ff7a00}.zone-item-header{display:flex;align-items:center;gap:6px}.zone-color-dot{width:12px;height:12px;border-radius:50%;flex-shrink:0;border:1.5px solid rgba(0,0,0,.1)}.zone-name{flex:1;font-size:13px;font-weight:600;color:#222;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.zone-name-input{flex:1;font-size:13px;font-weight:600;border:1px solid #ff7a00;border-radius:4px;padding:1px 5px;outline:none;color:#222}.zone-radius-badge{font-size:10px;color:#888;background:#eee;border-radius:4px;padding:1px 5px;white-space:nowrap;flex-shrink:0}.zone-icon-btn{background:none;border:none;cursor:pointer;padding:3px 5px;border-radius:5px;line-height:1;font-size:12px;transition:color .15s,background .15s}.zone-edit-btn{color:#aaa}.zone-edit-btn:hover,.zone-edit-btn.active{color:#ff7a00;background:#fff3e0}.zone-delete-btn{color:#aaa}.zone-delete-btn:hover{color:#e53935;background:#fdecea}.zone-editor{margin-top:8px;display:flex;flex-direction:column;gap:8px}.zone-validate-btn{align-self:flex-end;background:#fff;color:#ff7a00;border:1.5px solid #ff7a00;border-radius:7px;padding:4px 14px;font-size:12px;font-weight:600;cursor:pointer;transition:background .15s,color .15s}.zone-validate-btn:hover{background:#ff7a00;color:#fff}.zone-radius-row{display:flex;flex-direction:column;gap:4px}.zone-radius-label{font-size:11px;color:#666;display:flex;align-items:center;gap:5px}.zone-radius-label i{color:#ff7a00}.zone-radius-slider{width:100%;accent-color:#ff7a00;cursor:pointer}@media (max-width: 768px){.zone-panel{display:none}}.zone-placement-mode .leaflet-container{cursor:crosshair!important}.zone-tooltip{background:#000000a6!important;border:none!important;color:#fff!important;font-size:11px!important;font-weight:600!important;border-radius:6px!important;padding:3px 8px!important;box-shadow:none!important}.zone-tooltip:before{display:none!important}.connection-summary-overlay{position:absolute;bottom:16px;right:16px;z-index:900;display:flex;flex-direction:column;align-items:stretch;gap:8px}@media (max-width: 768px){.connection-summary-overlay{bottom:calc(66px + env(safe-area-inset-bottom,0));right:10px;left:10px;gap:8px}}.connection-summary{display:flex;flex-direction:column;gap:6px}.connection-summary-toggle{display:flex;align-items:center;justify-content:space-between;padding:7px 12px;background:#fff;border:none;border-radius:10px;box-shadow:0 3px 10px -2px #00000040;cursor:pointer;font-family:inherit;gap:8px;width:100%}.connection-summary-title{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:#333}.connection-summary-chevron{font-size:11px;color:#888;transition:transform .2s ease;transform:rotate(-90deg)}.connection-summary-chevron--open{transform:rotate(0)}.connection-summary-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px}.connection-summary-box{position:relative;display:flex;flex-direction:row;align-items:center;gap:8px;padding:14px 10px 10px 12px;background:#fff;border-radius:10px;box-shadow:0 3px 10px -2px #00000040}.connection-summary-dot{position:absolute;top:8px;right:8px;width:10px;height:10px;border-radius:50%;flex-shrink:0}.connection-summary-count{font-size:26px;font-weight:700;line-height:1;color:#000;font-family:inherit;flex-shrink:0}.connection-summary-label{font-size:10px;font-weight:700;letter-spacing:.3px;text-transform:uppercase;color:#555;line-height:1.2;font-family:inherit}@media (min-width: 769px){.connection-summary-toggle{display:none}}.connection-summary-box--powered-on .connection-summary-dot{background-color:var(--color-powered-on)!important}.hsc-container{background:#fff;border-radius:10px;box-shadow:0 3px 10px -2px #00000040;padding:8px 10px;min-width:206px;font-family:inherit;position:relative;transition:background .2s,border-color .2s;border:2px solid transparent}.hsc-container.hsc-historical{background:#ff8c00;border-color:#e07800;color:#fff}.hsc-live-row{display:flex;align-items:center;justify-content:space-between;gap:6px}.hsc-live-label{display:flex;align-items:center;gap:5px;font-size:11px;font-weight:500;color:#444;letter-spacing:.2px;white-space:nowrap}.hsc-icon{font-size:12px;opacity:.7}.hsc-calendar-btn{background:#f0f0f0;border:none;border-radius:6px;width:26px;height:26px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:13px;color:#555;flex-shrink:0;transition:background .15s,color .15s}.hsc-calendar-btn:hover{background:#e0e0e0;color:#222}.hsc-historical-row{display:flex;align-items:center;gap:7px}.hsc-historical-row .hsc-icon{font-size:13px;opacity:1;color:#fff;flex-shrink:0}.hsc-historical-label{flex:1;font-size:11px;font-weight:600;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hsc-reset-btn{background:#ffffff40;border:none;border-radius:6px;width:24px;height:24px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:13px;color:#fff;flex-shrink:0;transition:background .15s}.hsc-reset-btn:hover{background:#ffffff73}.hsc-reset-btn:disabled{opacity:.5;cursor:not-allowed}.hsc-picker-popup{position:absolute;bottom:calc(100% + 8px);right:0;background:#fff;border-radius:10px;box-shadow:0 6px 20px -4px #0000004d;padding:12px;min-width:240px;z-index:1000}.hsc-picker-title{font-size:12px;font-weight:600;color:#333;margin-bottom:8px}.hsc-datetime-input{width:100%;box-sizing:border-box;padding:6px 8px;border:1px solid #ddd;border-radius:6px;font-size:13px;font-family:inherit;color:#333;outline:none;transition:border-color .15s}.hsc-datetime-input:focus{border-color:#ff8c00}.hsc-picker-actions{display:flex;gap:6px;margin-top:8px}.hsc-apply-btn{flex:1;padding:6px 0;background:#ff8c00;border:none;border-radius:6px;color:#fff;font-size:12px;font-weight:600;cursor:pointer;font-family:inherit;transition:background .15s}.hsc-apply-btn:hover:not(:disabled){background:#e07800}.hsc-apply-btn:disabled{background:#ccc;cursor:not-allowed}.hsc-cancel-btn{flex:1;padding:6px 0;background:#f0f0f0;border:none;border-radius:6px;color:#555;font-size:12px;font-weight:500;cursor:pointer;font-family:inherit;transition:background .15s}.hsc-cancel-btn:hover{background:#e0e0e0}@media (max-width: 768px){.hsc-container{min-width:unset;width:100%;box-sizing:border-box}.hsc-picker-popup{right:0;left:0;min-width:unset}}.facture-button{background-color:#fff;border:none;padding:10px 20px;border-radius:8px;font-size:1em;cursor:pointer;box-shadow:0 4px 6px #0000004d;transition:all .25s ease}.facture-button:hover{transform:translateY(-2px);background-color:#fafafa;box-shadow:0 6px 14px #0000004d,0 2px 4px #0000000d}@media (max-width: 768px){.facture-button{border-radius:50px;width:55px;height:55px}}.facture-card{background-color:#fff;padding:18px;border-radius:16px;margin-bottom:16px;box-shadow:0 4px 8px #0003,0 1px 2px #0000000d;display:flex;align-items:center;justify-content:space-between;transition:all .25s ease}.facture-card:hover{transform:translateY(-2px);background-color:#fafafa;box-shadow:0 6px 14px #0000004d,0 2px 4px #0000000d}.facture-ident{font-weight:500;color:#2b2b2b;font-size:17px}.facture-link{padding:8px 14px;border-radius:8px;color:#000;font-size:18px;text-decoration:none;display:flex;align-items:center;transition:background .3s;border:none}.facture-date{color:orange;font-size:13px;font-weight:500;margin-bottom:2px;letter-spacing:.5px}.skeleton-card{background:#ececec;box-shadow:none}.skeleton{background:linear-gradient(90deg,#ececec 25%,#cacaca,#afafaf 75%);background-size:200% 100%;animation:skeleton-loading 2s infinite linear;border-radius:6px}.skeleton-date{width:80px;height:13px;margin-bottom:8px}.skeleton-ident{width:120px;height:18px}.skeleton-icon{width:36px;height:36px;margin-left:8px}@keyframes skeleton-loading{0%{background-position:200% 0}to{background-position:-200% 0}}.scooter-detail-panel{position:fixed;background:#fff;border-radius:12px;box-shadow:0 8px 32px #0000001f;z-index:1500;overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;scrollbar-color:rgba(0,0,0,.3) transparent}.scooter-detail-panel::-webkit-scrollbar{width:8px}.scooter-detail-panel::-webkit-scrollbar-track{background:transparent;margin:12px 0}.scooter-detail-panel::-webkit-scrollbar-thumb{background:#ff7a004d;border-radius:4px;transition:background .3s ease}.scooter-detail-panel::-webkit-scrollbar-thumb:hover{background:#ff7a0080}.scooter-detail-panel::-webkit-scrollbar-corner{background:transparent}.scooter-detail-panel.desktop{top:50%;left:calc(27% + 20px);transform:translateY(-50%);width:350px;max-height:80vh}.scooter-detail-panel.mobile{position:relative;width:100%;margin-top:16px;border-radius:8px;max-height:calc(100vh - 120px);height:auto}.detail-panel-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;background:linear-gradient(135deg,#ff7a00,#fb6);color:#fff;border-radius:12px 12px 0 0}.scooter-detail-panel.mobile .detail-panel-header{border-radius:8px 8px 0 0}.detail-panel-title{margin:0;font-size:18px;font-weight:600}.detail-panel-close{background:none;border:none;color:#fff;font-size:18px;cursor:pointer;padding:4px;border-radius:4px;transition:background-color .2s}.detail-panel-close:hover{background-color:#fff3}.detail-panel-content{padding:0}.detail-vehicle-hero{display:flex;align-items:center;gap:16px;padding:18px 20px;border-bottom:1px solid rgba(0,0,0,.05);background:linear-gradient(180deg,#ff7a000f,#ff7a0000)}.detail-vehicle-hero-media{width:86px;height:86px;border-radius:18px;background:#fff;display:flex;align-items:center;justify-content:center;box-shadow:inset 0 0 0 1px #ff7a0014;flex-shrink:0}.detail-vehicle-hero-image{width:72px;height:72px;object-fit:contain}.detail-vehicle-hero-copy{display:flex;flex-direction:column;gap:8px;min-width:0}.detail-vehicle-hero-model{margin:0;font-size:12px;font-weight:700;color:#ff7a00;text-transform:uppercase;letter-spacing:.08em}.detail-vehicle-hero-chip{display:inline-flex;align-items:center;align-self:flex-start;min-height:28px;padding:4px 10px;border-radius:999px;background:#fff;color:#666;font-size:12px;font-weight:600;box-shadow:inset 0 0 0 1px #0000000d}.detail-section{padding:16px 20px;border-bottom:1px solid rgba(0,0,0,.05)}.detail-section:last-child{border-bottom:none;padding-bottom:20px}.detail-section-title{display:flex;align-items:center;gap:8px;font-weight:600;font-size:14px;color:#ff7a00;margin-bottom:12px;text-transform:uppercase;letter-spacing:.5px}.detail-section-title i{font-size:16px}.detail-item{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;padding:4px 0}.detail-item:last-child{margin-bottom:0}.detail-label{font-size:13px;color:#666;font-weight:500}.detail-value{font-size:13px;color:#333;font-weight:600;text-align:right;max-width:70%;word-break:break-word}.scooter-detail-panel .actions{display:flex;gap:10px;padding:0 20px 20px}.scooter-detail-panel .actions button.lock-action-btn{flex:1;padding:8px 22px;border:none;border-radius:7px;background:linear-gradient(to right,#ff7a00,#fb6);color:#fff;font-weight:600;font-size:14px;cursor:pointer;transition:transform .18s ease,filter .18s ease,box-shadow .18s ease,background .18s ease;box-shadow:0 3px 10px #ff7a0029}.scooter-detail-panel .actions button.lock-action-btn:hover:not(:disabled){filter:brightness(1.03);transform:translateY(-1px);box-shadow:0 5px 14px #ff7a003d}.scooter-detail-panel .actions button.lock-action-btn:disabled{background:linear-gradient(180deg,#dbe4ee,#b8c2d1);cursor:not-allowed;transform:none;box-shadow:inset 0 1px #ffffff8c;filter:none}.scooter-detail-toggle{position:absolute;top:67px;right:8px;background:#fff;border:none;color:#ff7a00;width:32px;height:32px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:14px;transition:all .22s ease;box-shadow:0 4px 8px #0003,0 1px 2px #0000000d;z-index:10}.scooter-detail-toggle:hover{background:#ff7a00;color:#fff;box-shadow:0 6px 14px #ff7a0059}.scooter-detail-toggle.active{background:#ff7a00;color:#fff;box-shadow:0 4px 10px #ff7a0059}.battery-cells-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(50px,1fr));gap:6px;margin-top:12px;padding:8px;border-radius:6px}.battery-cell{display:flex;flex-direction:column;align-items:center;padding:6px 4px;background:#e8f5e8;border:1px solid #c3e6c3;border-radius:4px;font-size:11px;transition:all .2s ease}.battery-cell:hover{transform:translateY(-1px);box-shadow:0 2px 4px #0000001a}.battery-cell.critical{background:#ffe6e6;border-color:#f99;color:#c00}.battery-cell.empty{background:#f0f0f0;border-color:#d0d0d0;color:#aaa;opacity:.6}.cell-number{font-weight:600;font-size:10px;color:#666;margin-bottom:2px}.battery-cell.critical .cell-number{color:#c00}.cell-voltage{font-weight:700;font-size:11px}.battery-cell.critical .cell-voltage{color:#c00}.critical-alert{color:#f44;margin-left:8px;animation:pulse 2s infinite}@keyframes pulse{0%{opacity:1}50%{opacity:.5}to{opacity:1}}.detail-item.critical{background:#ff44440d;padding:6px 8px;border-radius:4px;margin:4px 0}.critical-text{color:#f44!important;font-weight:700}@media (max-width: 768px){.scooter-detail-panel.desktop{display:none}.scooter-detail-panel.mobile{margin-top:12px;border-radius:6px}.detail-panel-header{padding:12px 16px}.detail-panel-title{font-size:16px}.detail-section{padding:12px 16px}.detail-vehicle-hero{padding:14px 16px}.detail-vehicle-hero-media{width:72px;height:72px;border-radius:14px}.detail-vehicle-hero-image{width:60px;height:60px}.detail-item{flex-direction:column;align-items:flex-start;gap:4px}.detail-value{text-align:left;max-width:100%}.scooter-detail-toggle{width:28px;height:28px;font-size:12px}.sidebar .card.selected{padding-right:40px}.detail-panel-close{display:none}.battery-cells-grid{grid-template-columns:repeat(auto-fit,minmax(45px,1fr));gap:4px;margin-top:8px;padding:6px}.battery-cell{padding:4px 2px;font-size:10px}.cell-number{font-size:9px}.cell-voltage{font-size:10px}}.scooter-detail-panel.desktop{animation:slideInRight .3s ease-out}@keyframes slideInRight{0%{opacity:0;transform:translateY(-50%) translate(20px)}to{opacity:1;transform:translateY(-50%) translate(0)}}.mobile-detail-panel-container{animation:slideInFromRight .3s ease-out}.scooter-detail-panel.mobile{position:relative;width:100%;margin-top:0;max-height:calc(100vh - 100px);height:auto}.scooter-detail-panel.mobile .detail-panel-header{border-radius:0}@keyframes slideInFromRight{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}@media (max-width: 768px){.mobile-detail-panel-container{width:100%;height:100%}}.dashboard-wrapper{--dashboard-accent: #ff7a00;--dashboard-accent-soft: #fff7ef;--dashboard-border-soft: #f0f0f0;--dashboard-border-hover: #ffb878;--dashboard-shadow-rest: 0 2px 8px rgba(0, 0, 0, .08);--dashboard-shadow-hover: 0 6px 18px rgba(255, 122, 0, .14);--dashboard-transition: .18s ease;flex:1;display:flex;flex-direction:column;background-color:#fefefe;overflow:hidden}.dashboard-header{background:#fff;padding:20px 30px;display:flex;justify-content:space-between;align-items:center;border-bottom:2px solid #f0f0f0;box-shadow:0 2px 4px #0000000d}.dashboard-header h2{margin:0;color:#2b2b2b;font-size:24px;font-weight:600;display:flex;align-items:center;gap:12px}.dashboard-header h2 i{color:var(--dashboard-accent);font-size:26px}.dashboard-close-btn{background:transparent;border:2px solid var(--dashboard-accent);color:var(--dashboard-accent);width:40px;height:40px;border-radius:8px;cursor:pointer;font-size:18px;display:flex;align-items:center;justify-content:center;transition:background-color var(--dashboard-transition),color var(--dashboard-transition),border-color var(--dashboard-transition),transform var(--dashboard-transition)}.dashboard-close-btn:hover{background:var(--dashboard-accent);color:#fff;transform:translateY(-1px)}.admin-module-badge{position:absolute;top:10px;right:10px;z-index:10;display:inline-flex;align-items:center;gap:4px;background:var(--dashboard-accent);color:#fff;font-size:9px;font-weight:700;letter-spacing:.4px;text-transform:uppercase;padding:2px 7px;border-radius:20px;line-height:1.4;pointer-events:none;box-shadow:0 1px 4px #ff7a0059}.dashboard-content{flex:1;padding:20px;overflow-y:auto;background-color:#fefefe}.dashboard-content::-webkit-scrollbar{width:6px}.dashboard-content::-webkit-scrollbar-track{background:#f0f0f0}.dashboard-content::-webkit-scrollbar-thumb{background:#ccc;border-radius:3px}.dashboard-content::-webkit-scrollbar-thumb:hover{background:#999}.dashboard-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:20px;grid-auto-flow:dense}.dashboard-draggable{cursor:grab;height:350px;position:relative}.dashboard-draggable:active{cursor:grabbing}.dashboard-draggable.dragging{opacity:.45}.dashboard-draggable.drag-over{outline:2px dashed var(--dashboard-accent);outline-offset:6px;border-radius:12px}.dashboard-drag-handle{position:absolute;top:0;right:12px;transform:translateY(-45%);z-index:20;width:30px;height:30px;border:1px solid #ffd4ad;border-radius:8px;background:#fffffff5;color:var(--dashboard-accent);display:inline-flex;align-items:center;justify-content:center;cursor:grab;opacity:.92;box-shadow:0 3px 10px #0000001f;transition:opacity .18s ease,transform .18s ease,background .18s ease,border-color .18s ease,box-shadow .18s ease}.dashboard-drag-handle:hover{opacity:1;transform:translateY(calc(-45% - 1px));border-color:var(--dashboard-border-hover);background:var(--dashboard-accent-soft);box-shadow:0 5px 14px #ff7a0033}.dashboard-drag-handle:active{cursor:grabbing;transform:translateY(-45%);background:var(--dashboard-accent);border-color:var(--dashboard-accent);color:#fff}.dashboard-draggable.dragging .dashboard-drag-handle{opacity:1;background:var(--dashboard-accent);border-color:var(--dashboard-accent);color:#fff}.dashboard-module{background:#fff;border-radius:12px;padding:20px;box-shadow:var(--dashboard-shadow-rest);transition:border-color var(--dashboard-transition),box-shadow var(--dashboard-transition),transform var(--dashboard-transition),background-color var(--dashboard-transition),opacity var(--dashboard-transition);border:1px solid var(--dashboard-border-soft);height:100%;display:flex;flex-direction:column;box-sizing:border-box}.dashboard-draggable .module-content{flex:1;min-height:0;overflow-y:auto}.dashboard-draggable.module-co2Savings .module-content,.dashboard-draggable.module-uptimeStats .module-content{overflow:hidden}.dashboard-draggable.module-maintenanceModule{grid-column:span 2}.dashboard-draggable.module-tripHistory,.dashboard-draggable.module-activityTimeline,.dashboard-draggable.module-activityHeatmap{grid-column:1 / -1;height:auto}.dashboard-draggable.module-activityHeatmap .module-content{overflow:visible}.dashboard-draggable.module-lockStateOverview{grid-column:1 / -1;height:700px}.dashboard-draggable.module-hexFrameParser{grid-column:1 / -1;height:auto}.dashboard-draggable.module-hexFrameParser .module-content{overflow:visible}.dashboard-module:hover{box-shadow:var(--dashboard-shadow-hover);border-color:var(--dashboard-accent);transform:translateY(-2px)}.module-header{display:flex;align-items:center;gap:10px;margin-bottom:16px;padding-bottom:12px;border-bottom:2px solid #f5f5f5}.module-header i{font-size:20px;color:var(--dashboard-accent)}.module-header h3{margin:0;font-size:16px;color:#2b2b2b;font-weight:600}.module-content{color:#555}.vehicle-stats .stat-total{text-align:center;margin-bottom:20px;padding:20px;border-radius:10px;border:1px solid #e0e0e0}.vehicle-stats .stat-number{display:block;font-size:52px;font-weight:700;color:var(--dashboard-accent);line-height:1;text-shadow:0 2px 4px rgba(255,122,0,.1)}.vehicle-stats .stat-label{display:block;font-size:14px;color:#666;margin-top:8px;font-weight:500}.vehicle-stats .stat-breakdown{display:flex;justify-content:space-around;gap:10px;margin-bottom:16px}.vehicle-stats .stat-item{display:flex;align-items:center;gap:10px;padding:12px 16px;border-radius:8px;background:#fff;transition:border-color var(--dashboard-transition),box-shadow var(--dashboard-transition),transform var(--dashboard-transition),background-color var(--dashboard-transition);flex:1;border:1px solid #e0e0e0}.vehicle-stats .stat-item:hover{box-shadow:0 4px 12px #ff7a001f;border-color:var(--dashboard-accent);transform:translateY(-1px)}.vehicle-stats .stat-item.connected{border-left:3px solid #4caf50}.vehicle-stats .stat-item.disconnected{border-left:3px solid #e53935}.vehicle-stats .stat-icon{font-size:22px}.vehicle-stats .stat-item.connected .stat-icon{color:#4caf50}.vehicle-stats .stat-item.disconnected .stat-icon{color:#e53935}.vehicle-stats .stat-details{display:flex;flex-direction:column}.vehicle-stats .stat-value{font-size:20px;font-weight:700;color:#2b2b2b}.vehicle-stats .stat-percent{font-size:13px;color:#666;margin-left:4px}.vehicle-stats .stat-label-small{font-size:11px;color:#888}.vehicle-stats .connection-progress{height:8px;background:#e0e0e0;border-radius:8px;overflow:hidden;position:relative}.vehicle-stats .progress-connected{height:100%;background:linear-gradient(90deg,#4caf50,#66bb6a);transition:width .5s ease;border-radius:8px;box-shadow:0 0 8px #4caf504d}.activity-timeline-content{display:flex;flex-direction:column;gap:14px}.activity-timeline-nav{margin-left:auto;display:inline-flex;align-items:center;gap:8px}.activity-nav-button{width:30px;height:30px;border:1px solid #dadada;background:#fff;color:#4b4b4b;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:border-color var(--dashboard-transition),color var(--dashboard-transition),background-color var(--dashboard-transition),box-shadow var(--dashboard-transition),transform var(--dashboard-transition),opacity var(--dashboard-transition)}.activity-nav-button:hover:not(:disabled){border-color:var(--dashboard-accent);color:var(--dashboard-accent);background:var(--dashboard-accent-soft);box-shadow:0 4px 10px #ff7a001f;transform:translateY(-1px)}.activity-nav-button:disabled{opacity:.4;cursor:not-allowed}.activity-export-button{border:1px solid #ff7a00;background:#ff7a00;color:#fff;border-radius:999px;height:30px;padding:0 12px;display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:700;cursor:pointer;box-shadow:0 2px 8px #ff7a0040;transition:border-color var(--dashboard-transition),color var(--dashboard-transition),background-color var(--dashboard-transition),box-shadow var(--dashboard-transition),transform var(--dashboard-transition),opacity var(--dashboard-transition)}.activity-export-button i{color:#fff}.activity-export-button:hover:not(:disabled){border-color:#ff7a00;color:#fff;background:#ff7a00;box-shadow:0 4px 16px #ff7a0066;transform:translateY(-1px)}.activity-export-button:active:not(:disabled){box-shadow:0 2px 8px #ff7a0040}.activity-export-button:disabled{opacity:.5;cursor:not-allowed}.activity-timeline-period{display:inline-flex;flex-direction:column;align-items:center;min-width:142px;line-height:1.1}.activity-period-name{font-size:11px;color:#666;font-weight:700;text-transform:uppercase;letter-spacing:.03em}.activity-period-range{font-size:12px;color:#222;font-weight:600}.activity-timeline-summary-cards{display:flex}.activity-timeline-summary-card{background:#fff;border:1px solid #ececec;border-radius:12px;padding:12px 14px;display:flex;flex-direction:column;gap:10px;width:100%}.activity-summary-card-header{display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:700;color:#888;text-transform:uppercase;letter-spacing:.05em}.activity-summary-card-header i{color:#ff7a00}.activity-summary-item{display:flex;flex-direction:column;gap:2px}.activity-summary-kpis-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.activity-summary-value{font-size:22px;font-weight:800;color:#222;line-height:1}.activity-summary-label{font-size:12px;color:#666}.activity-timeline-status{font-size:14px;color:#555;display:inline-flex;align-items:center;gap:8px}.activity-timeline-error{color:#c62828}.activity-timeline-warning{color:#8a5a00}.activity-timeline-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:10px}.activity-day-card{background:#fff;border:1px solid #ececec;border-radius:10px;padding:10px;display:flex;flex-direction:column;gap:8px;min-width:0}.activity-day-head{display:flex;justify-content:space-between;align-items:baseline;border-bottom:1px solid #f2f2f2;padding-bottom:6px}.activity-day-label{font-size:12px;color:#333;font-weight:700;text-transform:capitalize}.activity-day-date{font-size:11px;color:#777}.activity-metric{display:grid;grid-template-columns:minmax(52px,68px) minmax(0,1fr) minmax(54px,72px);align-items:center;gap:8px;min-width:0}.activity-metric-label{font-size:10px;color:#666;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.activity-metric-track{height:8px;border-radius:999px;background:#efefef;overflow:hidden}.activity-metric-fill{height:100%;border-radius:inherit;transition:width .22s ease}.activity-metric-trips .activity-metric-fill{background:#ff7a00}.activity-metric-scooters .activity-metric-fill{background:#6d4c41}.activity-metric-distance .activity-metric-fill{background:#1565c0}.activity-metric-duration .activity-metric-fill{background:#2e7d32}.activity-metric-value{font-size:10px;color:#333;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:right}@media (max-width: 1200px){.activity-timeline-grid{grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}}@media (max-width: 860px){.activity-timeline-nav{width:100%;justify-content:center;flex-wrap:wrap;margin-left:0;margin-top:6px}.activity-timeline-summary-cards{display:flex}.activity-summary-kpis-grid,.activity-timeline-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 560px){.activity-timeline-grid{grid-template-columns:1fr}.activity-metric{grid-template-columns:minmax(58px,76px) minmax(0,1fr) minmax(62px,86px)}.activity-metric-label,.activity-metric-value{font-size:11px}}.co2-savings .co2-main-stat{display:flex;align-items:center;justify-content:center;gap:10px;margin-bottom:10px;padding:12px;background:linear-gradient(135deg,#4caf50,#5bb75f);border-radius:10px;color:#fff;box-shadow:0 4px 12px #4caf504d}.co2-savings .co2-icon{font-size:26px;opacity:.9}.co2-savings .co2-value{display:flex;flex-direction:column;align-items:center}.co2-savings .co2-value .number{font-size:24px;font-weight:700;line-height:1}.co2-savings .co2-value .unit,.co2-savings .co2-subtitle{font-size:12px;opacity:.9}.co2-savings .co2-details{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-bottom:8px}.co2-savings .co2-detail-item:first-child{grid-column:1 / -1}.co2-savings .co2-detail-item{display:flex;align-items:center;gap:6px;padding:8px;background:#fff;border-radius:8px;border:1px solid #e8f5e9;transition:all .2s}.co2-savings .co2-detail-item:hover{box-shadow:0 2px 8px #4caf5026;border-color:#ff7a00}.co2-savings .co2-detail-item i{font-size:16px;color:#4caf50;flex-shrink:0}.co2-savings .co2-detail-item div{display:flex;flex-direction:column;align-items:flex-start;flex:1;min-width:0}.co2-savings .detail-value{font-size:14px;font-weight:700;color:#2b2b2b}.co2-savings .detail-label{font-size:9px;color:#666;line-height:1.1}.co2-savings .co2-formula{display:flex;align-items:center;gap:5px;font-size:10px;color:#666;padding:8px;background:#f0f7ff;border-radius:6px;border-left:3px solid #2196f3;border:1px solid #bbdefb;overflow-wrap:anywhere}.co2-savings .co2-formula i{color:#2196f3}.maintenance-module .module-content{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;align-content:start}.maintenance-module .maintenance-summary{display:flex;flex-direction:column;gap:15px;margin-bottom:0;grid-column:1}.maintenance-module .maintenance-item{display:flex;align-items:center;gap:12px;padding:14px 16px;border-radius:8px;transition:all .2s;border:1px solid transparent}.maintenance-module .maintenance-item:hover{box-shadow:0 2px 8px #00000014;border-color:#ff7a00}.maintenance-module .maintenance-item.urgent{border-left:4px solid #e53935;border-color:#ffcdd2}.maintenance-module .maintenance-item.warning{border-left:4px solid #ff7a00;border-color:#ffe0b2}.maintenance-module .maintenance-item.good{background:linear-gradient(135deg,#f9fef9,#e8f5e9);border-left:4px solid #4caf50;border-color:#c8e6c9}.maintenance-module .maintenance-icon{font-size:22px}.maintenance-module .maintenance-item.urgent .maintenance-icon{color:#e53935}.maintenance-module .maintenance-item.warning .maintenance-icon{color:#ff7a00}.maintenance-module .maintenance-item.good .maintenance-icon{color:#4caf50}.maintenance-module .maintenance-info{display:flex;flex-direction:column;flex:1}.maintenance-module .maintenance-count{font-size:22px;font-weight:700;color:#2b2b2b}.maintenance-module .maintenance-label{font-size:13px;color:#666;font-weight:500}.maintenance-module .maintenance-threshold{font-size:10px;color:#888}.maintenance-module .maintenance-list{margin-top:0;grid-column:2;padding:14px;border-radius:8px;border-left:4px solid #e53935;border:1px solid #ffcdd2}.maintenance-module .list-header{font-weight:600;color:#2b2b2b;margin-bottom:8px;display:flex;align-items:center;gap:6px;font-size:13px}.maintenance-module .scooter-list{display:flex;flex-direction:column;gap:6px}.maintenance-module .scooter-maintenance-item{display:flex;justify-content:space-between;padding:6px 10px;background:#fff;border-radius:6px;font-size:12px}.maintenance-module .scooter-name{color:#2b2b2b;font-weight:500}.maintenance-module .scooter-km{color:#e53935;font-weight:600}.maintenance-module .scooter-more{padding:6px;text-align:center;color:#666;font-size:11px;font-style:italic}.maintenance-module .maintenance-note{margin-top:0;grid-column:2;padding:10px;background:linear-gradient(135deg,#fff5eb,#ffe8d1);border-radius:6px;font-size:11px;color:#666;display:flex;align-items:center;gap:6px;border:1px solid #ffe0b2}.maintenance-module .maintenance-note i{color:#ff7a00}.battery-overview .battery-avg{display:flex;justify-content:center;margin-bottom:20px}.battery-overview .battery-circle{width:90px;height:90px;margin:0 auto;display:block;filter:drop-shadow(0 2px 8px rgba(0,0,0,.1));transition:all .2s}.battery-overview .battery-circle:hover{filter:drop-shadow(0 2px 8px rgba(255,122,0,.25))}.battery-overview .battery-distribution{margin-bottom:20px}.battery-overview .battery-bar-container{margin-bottom:12px}.battery-overview .battery-bar{height:28px;background:#e0e0e0;border-radius:14px;overflow:hidden;display:flex}.battery-overview .battery-segment{height:100%;transition:width .5s ease;cursor:pointer;position:relative}.battery-overview .battery-segment:hover{opacity:.85;filter:brightness(1.1)}.battery-overview .battery-segment.critical{background:#d32f2f}.battery-overview .battery-segment.low{background:#ff7a00}.battery-overview .battery-segment.high{background:#4caf50}.battery-overview .battery-legend{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.battery-overview .legend-item{display:flex;align-items:center;gap:6px;font-size:12px}.battery-overview .legend-color{width:16px;height:16px;border-radius:3px}.battery-overview .legend-color.critical{background:#e53935}.battery-overview .legend-color.low{background:#ff7a00}.battery-overview .legend-color.high{background:#4caf50}.battery-overview .legend-text{color:#666}.battery-overview .battery-alerts{margin-top:16px;padding:14px;background:linear-gradient(135deg,#fff5eb,#ffe8d1);border-radius:8px;border-left:4px solid #ff7a00;border:1px solid #ffe0b2}.battery-overview .alert-header{font-weight:600;color:#2b2b2b;margin-bottom:8px;display:flex;align-items:center;gap:6px;font-size:13px}.battery-overview .alert-list{display:flex;flex-direction:column;gap:6px}.battery-overview .alert-item{display:flex;justify-content:space-between;padding:6px 10px;background:#fff;border-radius:6px;font-size:12px}.battery-overview .battery-value{color:#e53935;font-weight:600}.uptime-stats .uptime-main{text-align:center;margin-bottom:20px;padding:15px;border-radius:10px;border:1px solid #e0e0e0}.uptime-stats .uptime-gauge{width:100px;height:55px;margin:0 auto 8px}.uptime-stats .gauge-svg{width:100%;height:100%}.uptime-stats .gauge-value{font-size:16px;font-weight:700}.uptime-stats .uptime-label{font-size:13px;color:#666}.uptime-stats .uptime-breakdown{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:16px}.uptime-stats .uptime-item{display:flex;align-items:center;gap:8px;padding:12px 14px;border-radius:8px;background:#fff;transition:all .2s;border:1px solid #e0e0e0}.uptime-stats .uptime-item:hover{box-shadow:0 2px 8px #0000001a;border-color:#ff7a00}.uptime-stats .uptime-item i{font-size:10px}.uptime-stats .uptime-item.excellent i{color:#4caf50}.uptime-stats .uptime-item.good i{color:#66bb6a}.uptime-stats .uptime-item.warning i{color:#ff7a00}.uptime-stats .uptime-item.inactive i{color:#e53935}.uptime-stats .uptime-count{font-size:18px;font-weight:700;color:#2b2b2b;margin-right:4px}.uptime-stats .uptime-text{font-size:11px;color:#666}.uptime-stats .uptime-alerts{display:flex;gap:8px;flex-wrap:wrap}.uptime-stats .alert-badge{padding:6px 10px;border-radius:20px;font-size:10px;font-weight:600;display:flex;align-items:center;gap:5px;border:1px solid}.uptime-stats .alert-badge.error{background:linear-gradient(135deg,#ffe0e0,#fcc);color:#e53935;border-color:#ffcdd2}.uptime-stats .alert-badge.warning{background:linear-gradient(135deg,#fff5eb,#ffe8d1);color:#ff7a00;border-color:#ffe0b2}.location-stats .location-main{display:flex;align-items:center;justify-content:space-around;margin-bottom:20px;padding:15px;border-radius:10px;border:1px solid #e0e0e0}.location-stats .location-chart{width:70px;height:70px}.location-stats .location-pie{width:100%;height:100%}.location-stats .location-percent{font-size:16px;font-weight:700;fill:#2b2b2b}.location-stats .location-summary{display:flex;flex-direction:column;gap:10px}.location-stats .location-stat{display:flex;align-items:center;gap:8px;padding:10px 14px;background:#fff;border-radius:8px;border:1px solid #e0e0e0;transition:all .2s}.location-stats .location-stat:hover{box-shadow:0 2px 8px #0000001a;border-color:#ff7a00}.location-stats .location-stat i{font-size:18px;color:#4caf50}.location-stats .location-stat.lost i{color:#e53935}.location-stats .location-stat .stat-value{font-size:18px;font-weight:700;color:#2b2b2b;margin-right:4px}.location-stats .location-stat .stat-label{font-size:11px;color:#666}.location-stats .location-details{display:flex;flex-direction:column;gap:10px;margin-bottom:16px}.location-stats .location-detail-row{display:flex;align-items:center;gap:12px;padding:12px;background:#fff;border-radius:8px;border:1px solid #e0e0e0;transition:all .2s}.location-stats .location-detail-row:hover{box-shadow:0 2px 8px #00000014;border-color:#ff7a00}.location-stats .detail-icon{width:36px;height:36px;background:#ff7a00;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:16px}.location-stats .detail-info{display:flex;flex-direction:column;flex:1}.location-stats .detail-label{font-size:11px;color:#666}.location-stats .detail-value{font-size:16px;font-weight:700;color:#2b2b2b}.location-stats .location-activity{padding:12px 14px;background:linear-gradient(135deg,#e3f2fd,#bbdefb);border-radius:8px;border-left:4px solid #2196f3;font-size:12px;color:#666;display:flex;align-items:center;gap:6px;border:1px solid #90caf9}.location-stats .location-activity i{color:#2196f3;font-size:14px}@media (max-width: 1200px){.dashboard-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.dashboard-draggable.module-maintenanceModule{grid-column:span 1}.dashboard-draggable.module-activityHeatmap{grid-column:span 1;height:auto}}@media (max-width: 768px){.dashboard-header{padding:12px 14px}.dashboard-header h2{font-size:18px;gap:8px}.dashboard-header h2 i{font-size:20px}.dashboard-content{padding:12px;padding-bottom:calc(68px + env(safe-area-inset-bottom,0px))}.dashboard-grid{grid-template-columns:1fr;gap:12px}.dashboard-draggable{height:auto}.dashboard-module{padding:14px;border-radius:10px}.module-header{gap:8px;margin-bottom:12px;padding-bottom:10px}.module-header i{font-size:18px}.module-header h3{font-size:15px}.maintenance-module .module-content{grid-template-columns:1fr}.maintenance-module .maintenance-summary,.maintenance-module .maintenance-list,.maintenance-module .maintenance-note{grid-column:1}.vehicle-stats .stat-breakdown{flex-direction:column;gap:8px}.co2-savings .co2-details,.uptime-stats .uptime-breakdown{grid-template-columns:1fr}}.admin-add-scooter{overflow:hidden}.admin-add-scooter .admin-add-form{display:flex;flex-direction:column;gap:14px;width:100%}.admin-add-scooter .admin-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;width:100%}.admin-add-scooter input,.admin-add-scooter select{width:100%;min-width:0;box-sizing:border-box;border:1px solid #e0e0e0;border-radius:8px;padding:10px 12px;font-size:13px;outline:none;transition:border-color .2s,box-shadow .2s;background:#fff}.admin-add-scooter select{appearance:none;-webkit-appearance:none;-moz-appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 20 20'%3E%3Cpath fill='%23ff7a00' d='M5.25 7.5L10 12.25 14.75 7.5 16 8.75 10 14.75 4 8.75z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;background-size:14px;padding-right:40px}.admin-add-scooter select::-ms-expand{display:none}.admin-add-scooter select:hover{border-color:#ffb06b;box-shadow:0 2px 8px #ff7a001f}.admin-add-scooter input:focus,.admin-add-scooter select:focus{border-color:#ff7a00;box-shadow:0 0 0 3px #ff7a0026;outline:none}.admin-add-scooter select:focus-visible,.admin-add-scooter select:active{outline:none;border-color:#ff7a00;box-shadow:0 0 0 3px #ff7a0026}.admin-add-scooter select option{background:#fff;color:#2b2b2b}.admin-add-scooter select option:checked{background:#ff7a00;color:#fff}.admin-add-scooter button{border:0;border-radius:8px;padding:11px 14px;font-weight:600;cursor:pointer;background:#ff7a00;color:#fff;transition:all .2s}.admin-add-scooter button:hover:not(:disabled){background:#e66e00}.admin-add-scooter button:disabled{opacity:.6;cursor:not-allowed}.admin-add-account .admin-demo-credentials{margin-top:-4px;margin-bottom:12px;border:1px dashed #ffd9bb;border-radius:8px;padding:8px 10px;background:#fff9f2}.admin-add-account .admin-demo-credentials-top{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:12px;color:#8a5a2b}.admin-add-account .admin-demo-toggle{font-size:11px;padding:5px 8px;border-radius:6px;background:#fff;color:#b05a00;border:1px solid #ffc58e}.admin-add-account .admin-demo-toggle:hover:not(:disabled){background:#fff2e3}.admin-add-account .admin-demo-credentials-text{margin:8px 0 0;font-size:12px;color:#5b4631;word-break:break-all}@media (max-width: 768px){.admin-add-scooter .admin-form-grid{grid-template-columns:1fr}}.dashboard-draggable.module-vehicleDataExplorer{grid-column:1 / -1;grid-row:span 2;height:auto;min-height:700px}.vehicle-data-explorer{min-height:700px}.vehicle-data-content{display:flex;flex-direction:column;gap:12px;overflow-y:auto}.vehicle-data-header{justify-content:space-between}.vehicle-data-title{display:flex;align-items:center;gap:10px}.vehicle-data-toolbar{display:grid;grid-template-columns:2fr 1fr auto;gap:12px;align-items:end}.vehicle-data-field{display:flex;flex-direction:column;gap:6px}.vehicle-data-field label{font-size:12px;color:#000;font-weight:600}.vehicle-data-field select{border:1px solid #ddd;border-radius:8px;padding:8px 10px;background:#fff;color:#2b2b2b}.vehicle-data-refresh-btn,.vehicle-data-more-btn,.vehicle-data-copy-btn{border:1px solid #ff7a00;background:#fff;color:#ff7a00;border-radius:8px;padding:8px 12px;font-weight:600;cursor:pointer;display:inline-flex;gap:8px;align-items:center;justify-content:center}.vehicle-data-copy-btn{padding:4px 8px;font-size:11px}.vehicle-data-refresh-btn:hover,.vehicle-data-more-btn:hover,.vehicle-data-copy-btn:hover{background:#ff7a00;color:#fff}.vehicle-data-refresh-btn:disabled{opacity:.65;cursor:not-allowed}.vehicle-data-meta{font-size:12px;color:#666}.vehicle-data-error,.vehicle-data-empty{border:1px dashed #ddd;border-radius:8px;padding:10px;color:#666;background:#fafafa}.vehicle-data-error{border-color:#ffb3b3;color:#c62828;background:#fff5f5}.vehicle-data-sections{display:flex;flex-direction:column;gap:14px}.vehicle-data-block{border:1px solid #ececec;border-radius:10px;padding:12px;background:#fff}.vehicle-data-block.is-expanded{border-color:#ffd4aa;box-shadow:0 6px 20px #ff7a0014}.vehicle-data-block-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px;width:100%;padding:0 0 8px;margin-bottom:10px;border-bottom:1px solid #f1f1f1}.vehicle-data-block-trigger{display:inline-flex;align-items:center;gap:8px;border:none;background:transparent;padding:0;cursor:pointer;text-align:left;font-family:inherit}.vehicle-data-block-title-wrap{display:inline-flex;align-items:center;gap:8px}.vehicle-data-block-header h4{margin:0;color:#2b2b2b;font-size:15px}.vehicle-data-block-count{display:inline-flex;align-items:center;justify-content:center;min-width:28px;height:22px;padding:0 7px;border-radius:999px;background:#fff3e5;color:#c86a00;font-size:11px;font-weight:800}.vehicle-data-block-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-left:auto}.vehicle-data-block-meta{display:flex;gap:10px;color:#777;font-size:12px}.vehicle-data-trackit-btn{border:1px solid #ff7a00;background:#ff7a00;color:#fff;border-radius:8px;padding:6px 10px;font-weight:700;cursor:pointer}.vehicle-data-trackit-btn:hover{opacity:.9}.vehicle-data-trackit-btn:disabled{opacity:.6;cursor:not-allowed}.vehicle-data-block-chevron{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:999px;color:#c86a00;background:#fff7ef;flex-shrink:0}.vehicle-data-block-toggle{border:none;background:transparent;padding:0;cursor:pointer}.vehicle-data-block.is-expanded .vehicle-data-block-chevron i{transform:rotate(180deg)}.vehicle-data-block-chevron i{transition:transform .18s ease}.vehicle-data-rows{display:flex;flex-direction:column;gap:8px}.vehicle-data-row{border:1px solid #f0f0f0;border-radius:8px;background:#fcfcfc;padding:10px;display:flex;flex-wrap:wrap;gap:8px}.vehicle-data-cell{flex:1 1 160px;display:flex;flex-direction:column;gap:4px;min-width:0}.vehicle-data-cell[data-key=id],.vehicle-data-cell[data-key=timestamp],.vehicle-data-cell[data-key=created_at],.vehicle-data-cell[data-key=date],.vehicle-data-cell[data-key=last_update],.vehicle-data-cell[data-key=updated_at]{flex:0 0 100px;max-width:120px}.vehicle-data-cell[data-key=imei]{flex:0 0 160px;max-width:180px}.vehicle-data-cell[data-key=hexdata]{flex:3 1 420px}.vehicle-data-key{font-size:11px;font-weight:700;color:#000;text-transform:uppercase}.vehicle-data-value-wrapper{display:flex;align-items:center;gap:8px;min-width:0}.vehicle-data-value{font-size:12px;color:#ff7a00;font-weight:600;word-break:break-word}@media (max-width: 1200px){.dashboard-draggable.module-vehicleDataExplorer{min-height:620px}.vehicle-data-toolbar{grid-template-columns:1fr 1fr}.vehicle-data-refresh-btn{grid-column:span 2}}@media (max-width: 768px){.dashboard-draggable.module-vehicleDataExplorer{min-height:auto}.vehicle-data-explorer{min-height:0}.vehicle-data-content{gap:10px}.vehicle-data-toolbar{grid-template-columns:1fr;gap:10px}.vehicle-data-refresh-btn{grid-column:span 1;width:100%}.vehicle-data-header{align-items:flex-start;gap:8px}.vehicle-data-title h3{font-size:15px}.vehicle-data-block{padding:10px}.vehicle-data-block-header{align-items:flex-start;gap:10px;margin-bottom:8px}.vehicle-data-block-actions{width:100%;margin-left:0;justify-content:space-between}.vehicle-data-block-meta{flex-wrap:wrap;gap:6px;font-size:11px}.vehicle-data-row{padding:8px;gap:6px}.vehicle-data-cell{flex:1 1 100%}.vehicle-data-cell[data-key=id],.vehicle-data-cell[data-key=timestamp],.vehicle-data-cell[data-key=created_at],.vehicle-data-cell[data-key=date],.vehicle-data-cell[data-key=last_update],.vehicle-data-cell[data-key=updated_at],.vehicle-data-cell[data-key=imei],.vehicle-data-cell[data-key=hexdata]{flex:1 1 100%;max-width:none}}.activity-heatmap-module{gap:14px}.activity-heatmap-header{justify-content:space-between;align-items:center;gap:16px}.activity-heatmap-title{display:inline-flex;align-items:center;gap:10px}.activity-heatmap-title h3{margin:0}.activity-heatmap-mode-switch{display:inline-flex;gap:8px;flex-wrap:wrap}.activity-heatmap-mode-switch button{border:1px solid #d9d9d9;background:#fff;color:#575757;border-radius:999px;padding:7px 12px;font-size:12px;font-weight:600;cursor:pointer;transition:all .2s ease}.activity-heatmap-mode-switch button:hover:not(:disabled){border-color:#ff7a00;color:#ff7a00}.activity-heatmap-mode-switch button.active{background:#ff7a00;border-color:#ff7a00;color:#fff}.activity-heatmap-mode-switch button:disabled{opacity:.55;cursor:default}.activity-heatmap-content{display:grid;grid-template-columns:220px minmax(0,1fr) 220px;align-items:stretch;gap:12px;overflow:hidden}.activity-heatmap-side{display:flex;flex-direction:column;gap:10px;min-width:0}.activity-heatmap-summary{display:flex;flex-direction:column;gap:10px}.activity-heatmap-stat,.activity-heatmap-panel,.activity-heatmap-legend-panel{border:1px solid #f0e4da;background:linear-gradient(180deg,#fffaf5,#fff);border-radius:12px;padding:10px 12px}.activity-heatmap-stat{display:flex;flex-direction:column;gap:6px}.activity-heatmap-stat-value{font-size:20px;font-weight:700;color:#2f2f2f}.activity-heatmap-stat-label,.activity-heatmap-panel-title{font-size:12px;color:#6b6b6b}.activity-heatmap-panel-title{margin-bottom:6px;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.activity-heatmap-panel-value{font-size:14px;font-weight:600;color:#2f2f2f;line-height:1.35}.activity-heatmap-legend-list{display:flex;flex-direction:column;gap:8px;font-size:12px;color:#6b6b6b}.activity-heatmap-legend-list span{display:inline-flex;align-items:center}.legend-dot{width:12px;height:12px;border-radius:50%;display:inline-block;margin-right:6px}.legend-dot.low{background:#ffe082}.legend-dot.medium{background:#ffb300}.legend-dot.high{background:#cf2f12}.activity-heatmap-map-shell{position:relative;flex:1;min-height:300px;border-radius:16px;overflow:hidden;border:1px solid #ececec;background:#f7f8fa}.activity-heatmap-map,.activity-heatmap-placeholder{width:100%;height:100%;min-height:170px}.activity-heatmap-map-shell .leaflet-container,.activity-heatmap-map-shell .leaflet-pane,.activity-heatmap-map-shell .leaflet-control-container{cursor:grab}.activity-heatmap-map-shell .leaflet-container:active{cursor:grabbing}.activity-heatmap-map .leaflet-control-attribution{font-size:10px}.activity-heatmap-placeholder{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:12px;color:#7a7a7a;padding:24px;text-align:center}.activity-heatmap-placeholder i{font-size:32px;color:#ff7a00}.activity-heatmap-status{position:absolute;top:16px;right:16px;z-index:500;display:inline-flex;align-items:center;gap:8px;border-radius:999px;padding:8px 12px;font-size:12px;font-weight:600;box-shadow:0 8px 20px #0000001f}.activity-heatmap-status.loading{background:#ffffffeb;color:#444}.activity-heatmap-status.error{background:#7e1818eb;color:#fff}@media (max-width: 1080px){.activity-heatmap-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.activity-heatmap-content{grid-template-columns:1fr}.activity-heatmap-side{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.activity-heatmap-side-right{order:3}.activity-heatmap-map-shell{order:2}}@media (max-width: 768px){.activity-heatmap-header{align-items:flex-start;flex-direction:column}.activity-heatmap-summary,.activity-heatmap-side{grid-template-columns:1fr}.activity-heatmap-map,.activity-heatmap-placeholder{min-height:240px}}:root{--lso-bg-soft: #ffffff;--lso-border-soft: #ececec;--lso-border: #dddddd;--lso-text: #2b2b2b;--lso-text-muted: #6b7280;--lso-accent: #ff7a00;--lso-accent-soft: #fff1e4;--lso-shadow-sm: 0 4px 8px rgba(0, 0, 0, .2), 0 1px 2px rgba(0, 0, 0, .05);--lso-shadow-md: 0 6px 14px rgba(0, 0, 0, .3), 0 2px 4px rgba(0, 0, 0, .05)}.lock-state-overview{color:var(--lso-text)}.lsa-toolbar{display:grid;grid-template-columns:2fr 1fr auto;gap:12px;align-items:flex-end;margin-bottom:14px}.lso-toolbar{display:flex;align-items:center;gap:10px;margin-bottom:14px;flex-wrap:wrap;padding:12px 14px;border-radius:16px;border:1px solid var(--lso-border-soft);background:#fff;box-shadow:var(--lso-shadow-sm);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.lso-toolbar:hover{transform:translateY(-1px);box-shadow:var(--lso-shadow-md);border-color:var(--lso-border-soft)}.lso-period-group{display:flex;align-items:center;gap:6px;border-left:1px solid #e0e0e0;padding-left:12px}.lock-state-overview .dataraw-range-popover{right:auto;left:0}.lso-period-btn{min-width:42px}.lso-period-btn:hover:not(:disabled){box-shadow:none}.lso-period-btn.active{box-shadow:none}.lso-period-btn:disabled{opacity:.5;cursor:not-allowed}.lso-period-group .dataraw-range-trigger{min-width:42px}.lso-period-group .dataraw-range-trigger:hover:not(:disabled):not(.active){background:#f5f5f5;border-color:#aaa;color:#333}.lso-period-group .dataraw-range-trigger.active:hover:not(:disabled){background:#e06900;border-color:#e06900}.lso-period-group .dataraw-range-trigger .dataraw-range-label-inline{max-width:220px}.lso-freshness-note{display:block;margin-top:6px;font-size:11px;color:#999;font-style:italic}.lsa-field{display:flex;flex-direction:column;gap:5px}.lsa-field label{font-size:12px;font-weight:600;color:#444}.lsa-field select{border:1px solid #ddd;border-radius:8px;padding:8px 10px;background:#fff;color:#2b2b2b;font-size:13px}.lsa-btn-primary{border:1px solid #ff7a00;background:#ff7a00;color:#fff;border-radius:8px;padding:6px 14px;font-weight:700;font-size:12px;cursor:pointer;display:inline-flex;align-items:center;gap:7px;white-space:nowrap;transition:background .15s,color .15s,border-color .15s}.lsa-btn-primary:hover:not(:disabled){background:#e06900;border-color:#e06900}.lsa-btn-primary:disabled{opacity:.6;cursor:not-allowed}.lsa-btn-expand{background:#fff;border:1px solid var(--lso-border);border-radius:6px;padding:5px 9px;cursor:pointer;color:#888;font-size:11px;display:inline-flex;align-items:center;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease,color .18s ease,background .18s ease}.lsa-btn-expand:hover{background:#fff;border-color:#ff7a00;color:#ff7a00;transform:translateY(-1px);box-shadow:var(--lso-shadow-sm)}.lsa-meta{font-size:12px;color:#777;margin-bottom:12px;padding:6px 10px;background:#f8f8f8;border-radius:6px;border:1px solid #eee}.lsa-error{border:1px solid #ffb3b3;color:#c62828;background:#fff5f5;border-radius:8px;padding:10px 14px;font-size:13px;display:flex;align-items:center;gap:8px;margin-bottom:12px}.lsa-error-text{color:#c62828;font-size:12px}.lsa-empty{border:1px dashed #ddd;border-radius:8px;padding:18px;color:#888;background:#fafafa;text-align:center;font-size:13px}.lsa-na{color:#bbb;font-size:12px}.lsa-last-change-card{border-radius:16px;border:1px solid var(--lso-border-soft);padding:16px;margin-bottom:16px;background:#fff;box-shadow:var(--lso-shadow-sm);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.lsa-last-change-card:hover{transform:translateY(-2px);box-shadow:var(--lso-shadow-md)}.lsa-card-suspicious{border-color:#e7caca;background:#fff}.lsa-card-ok{border-color:#d9e7db;background:#fff}.lsa-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.lsa-card-title{font-weight:700;font-size:14px;color:#333;display:flex;align-items:center;gap:7px}.lsa-card-body{display:flex;flex-direction:column;gap:14px}.lsa-card-transition{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.lsa-ts{font-size:13px;color:#555;font-weight:500}.lsa-transition{display:inline-flex;align-items:center;gap:6px}.lsa-transition-large{gap:10px;font-size:14px}.lsa-state-badge{display:inline-block;padding:3px 10px;border-radius:20px;font-size:12px;font-weight:600;white-space:nowrap}.lsa-state-locked{background:#fde8e8;color:#c62828;border:1px solid #f44336}.lsa-state-unlocked{background:#e8f5e9;color:#2e7d32;border:1px solid #4caf50}.lsa-arrow{color:#888;font-size:11px}.lsa-sms-badge{display:inline-flex;align-items:center;gap:5px;padding:3px 10px;border-radius:999px;font-size:11px;font-weight:600;white-space:nowrap}.lsa-badge-large{font-size:13px;padding:5px 14px}.lsa-sms-ok{background:#f4fbf5;color:#2e7d32;border:1px solid #bcdcc2}.lsa-sms-none{background:#fff;color:#b34a4a;border:1px solid #e4c7c7}.lsa-ignition-badge{display:inline-block;padding:2px 9px;border-radius:12px;font-size:11px;font-weight:700}.lsa-ignition-on{background:#fff9c4;color:#f57f17;border:1px solid #fbc02d}.lsa-ignition-off{background:#f5f5f5;color:#777;border:1px solid #ccc}.lsa-context-title,.lsa-detail-section-title{font-size:12px;font-weight:700;color:#555;margin-bottom:8px;display:flex;align-items:center;gap:6px;text-transform:uppercase;letter-spacing:.04em}.lsa-context-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:8px}.lsa-context-item{background:#fff;border:1px solid #ececec;border-radius:10px;padding:9px 11px;display:flex;flex-direction:column;gap:2px;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.lsa-context-item:hover{transform:translateY(-1px);box-shadow:var(--lso-shadow-sm);border-color:#d9d9d9}.lsa-context-label{font-size:11px;color:#888;font-weight:600;text-transform:uppercase}.lsa-context-value{font-size:13px;color:#222;font-weight:500;word-break:break-all}.lsa-sms-list{display:flex;flex-direction:column;gap:6px}.lsa-sms-list-title{font-size:12px;font-weight:700;color:#555;margin-bottom:6px;display:flex;align-items:center;gap:6px;text-transform:uppercase;letter-spacing:.04em}.lsa-sms-row{display:flex;gap:10px;align-items:flex-start;background:#fff;border:1px solid #ececec;border-radius:10px;padding:9px 11px;font-size:12px;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.lsa-sms-row:hover{transform:translateY(-1px);box-shadow:var(--lso-shadow-sm);border-color:#d9d9d9}.lsa-sms-date{color:#5c6bc0;white-space:nowrap;font-weight:600;min-width:130px}.lsa-sms-content{color:#333;word-break:break-all;font-family:monospace;font-size:11.5px}.lsa-no-sms{background:#fff;border:1px solid #f0d8b0;border-radius:10px;padding:10px 14px;font-size:13px;color:#b45a00;display:flex;align-items:flex-start;gap:8px;line-height:1.5}.lsa-table{width:100%;border-collapse:collapse;font-size:13px;border-radius:12px;overflow:hidden}.lsa-table th{background:#f8f8f8;padding:8px 10px;text-align:left;font-size:11px;font-weight:700;color:#777;text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid #e8e8e8}.lsa-table td{padding:9px 10px;border-bottom:1px solid #f2f2f2;vertical-align:middle;transition:background .18s ease,box-shadow .18s ease}.lsa-table-row:hover td{background:#f9f9f9}.lsa-row-suspicious td{background:#fff5f5!important}.lsa-row-suspicious:hover td{background:#ffefef!important}.lso-row-ok td{background:#f9fff9}.lso-row-loading td{background:#fafafa;color:#aaa}.lso-row-error td{background:#fff5f5}.lsa-table-detail-row td{background:#fafafa;padding:12px 16px;border-bottom:1px solid #ececec}.lsa-detail{padding:10px 0 4px}.lsa-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.lsa-detail-grid>div{border:1px solid #ececec;border-radius:16px;padding:12px;background:#fff;box-shadow:var(--lso-shadow-sm);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.lsa-detail-grid>div:hover{transform:translateY(-1px);box-shadow:var(--lso-shadow-md);border-color:#d9d9d9}@media (max-width: 700px){.lsa-detail-grid{grid-template-columns:1fr}}.lsa-history{margin-top:4px}.lsa-history-title{font-size:13px;font-weight:700;color:#444;margin-bottom:10px;display:flex;align-items:center;gap:7px}.lso-count-chip{background:#ff7a00;color:#fff;border-radius:10px;font-size:11px;padding:1px 7px;font-weight:700}.lsa-btn-primary:hover:not(:disabled) .lso-count-chip{background:#fff;color:#ff7a00}.lso-alert-badge{background:#fff;border:1px solid #e4c7c7;color:#c62828;border-radius:999px;padding:7px 14px;font-size:13px;font-weight:600;display:flex;align-items:center;gap:7px}.lso-progress-bar-wrap{height:6px;background:#f2ece5;border-radius:999px;margin-bottom:12px;overflow:hidden}.lso-progress-bar-fill{height:100%;background:linear-gradient(90deg,#ff9f45,#ff7a00);border-radius:999px;transition:width .3s ease}.lso-table-wrap{overflow-x:auto;border:1px solid #ececec;border-radius:12px;background:#fff;box-shadow:var(--lso-shadow-sm);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.lso-table-wrap:hover{transform:translateY(-1px);box-shadow:var(--lso-shadow-md);border-color:#ececec}.lso-table{min-width:800px}.lso-scooter-name{font-weight:600;font-size:13px;color:#222}.lso-scooter-imei{font-size:11px;color:#888;font-family:monospace}.lock-state-analyzer,.lock-state-overview{min-height:400px}.dashboard-draggable.module-lockStateAnalyzer,.dashboard-draggable.module-lockStateOverview{grid-column:1 / -1}.diag-container{margin-top:12px;padding:12px 14px;background:#fafafa;border:1px solid #e8e8e8;border-radius:8px}.diag-title{font-size:12px;font-weight:700;color:#555;text-transform:uppercase;letter-spacing:.03em;margin-bottom:8px;display:flex;align-items:center;gap:6px}.diag-list{display:flex;flex-wrap:wrap;gap:7px}.diag-chip{display:inline-flex;align-items:center;gap:5px;padding:5px 10px;border-radius:20px;font-size:12px;font-weight:600;cursor:default;border:1px solid transparent;white-space:nowrap}.diag-chip-sm{padding:3px 8px;font-size:11px}.diag-chip.diag-danger{background:#fde8e8;border-color:#f44336;color:#c62828}.diag-chip.diag-warning{background:#fff3e0;border-color:#ff9800;color:#e65100}.diag-chip.diag-info{background:#e3f2fd;border-color:#2196f3;color:#1565c0}.diag-chip-label{font-weight:600}.diag-chip-detail{font-weight:400;opacity:.85}.diag-chip-confidence{font-size:10px;opacity:.7;font-weight:400;margin-left:2px}.diag-log-count{margin-left:auto;font-size:10px;font-weight:400;color:#aaa;letter-spacing:0;text-transform:none}.diag-unknown{margin-top:10px;padding:9px 12px;background:#f5f5f5;border:1px dashed #ccc;border-radius:7px;font-size:12px;color:#777;display:flex;align-items:center;gap:6px}.diag-unknown-small{font-size:11px;color:#999;font-style:italic}.prelogs-wrap{margin-top:12px}.prelogs-title{font-size:12px;font-weight:700;color:#555;text-transform:uppercase;letter-spacing:.03em;margin-bottom:7px;display:flex;align-items:center;gap:6px}.prelogs-empty{margin-top:8px;font-size:12px;color:#aaa;display:flex;align-items:center;gap:6px}.prelogs-table-scroll{overflow-x:auto;border:1px solid #efe3d7;border-radius:12px;background:#fff}.prelogs-table{width:100%;border-collapse:collapse;font-size:12px}.prelogs-table thead th{background:linear-gradient(180deg,#fff8f0,#fff4e7);color:#6a4a2f;font-weight:600;font-size:11px;padding:6px 10px;text-align:left;border-bottom:1px solid #eadac8;white-space:nowrap}.prelogs-row{border-bottom:1px solid #f2f2f2;transition:background .18s ease}.prelogs-row:last-child{border-bottom:none}.prelogs-row:hover{background:#fff8ef}.prelogs-row td{padding:5px 10px;vertical-align:middle}.prelogs-ts{font-family:monospace;font-size:11px;color:#888;white-space:nowrap}.prelogs-gps{font-family:monospace;font-size:11px;color:#666}.prelogs-cell-danger{color:#c62828;font-weight:600;background:#fff5f5}.prelogs-cell-warn{color:#e65100;font-weight:600;background:#fff8f0}.lsa-raw-section{margin-top:18px;border-top:1px solid #e8e8e8;padding-top:14px}.lsa-raw-section-title{font-size:11px;font-weight:700;color:#888;text-transform:uppercase;letter-spacing:.05em;margin-bottom:10px;display:flex;align-items:center;gap:6px}.rawlogs-panel,.rawsms-panel{margin-bottom:8px}.rawlogs-empty,.rawsms-empty{font-size:12px;color:#bbb;padding:4px 0;display:flex;align-items:center;gap:6px}.rawlogs-toggle{background:linear-gradient(180deg,#fff,#fffaf5);border:1px solid #ead8c6;border-radius:10px;padding:6px 12px;font-size:12px;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:6px;color:#555;transition:transform .18s ease,box-shadow .18s ease,background .18s ease,border-color .18s ease}.rawlogs-toggle:hover{background:#fff1e4;border-color:#ffb067;transform:translateY(-1px);box-shadow:0 5px 12px #ff7a001f}.rawlogs-content{margin-top:6px}.rawlogs-help{font-size:11px;color:#888;padding:5px 10px;background:#fafafa;border-radius:5px;margin-bottom:6px;display:flex;align-items:center;gap:6px;border:1px dashed #e0e0e0}.rawlogs-num{font-size:10px;color:#ccc;text-align:right;width:28px;padding-right:6px!important}.rawlogs-server-ts{font-family:monospace;font-size:10px;color:#bbb}.rawsms-content{font-family:monospace;font-size:11px;word-break:break-all;max-width:380px}.rawsms-type{font-size:11px;color:#888}.rawsms-row-relevant{background:#f0faf4}.lso-scooter-picker{position:relative}.lso-picker-toggle{display:flex;align-items:center;gap:6px;padding:7px 12px;font-size:13px;font-weight:600;background:#fff;border:1px solid var(--lso-border);border-radius:12px;cursor:pointer;color:#3f3f46;transition:transform .18s ease,box-shadow .18s ease,background .18s ease,border-color .18s ease,color .18s ease;white-space:nowrap;box-shadow:0 2px 6px #0000000d}.lso-picker-toggle:hover:not(:disabled){background:#fff8ef;border-color:#ffbe7c;transform:translateY(-1px);box-shadow:0 5px 12px #ff7a001f}.lso-picker-toggle.lso-picker-active{background:#fff1e4;border-color:#ffb067;color:#d55f00}.lso-picker-toggle:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.lso-picker-panel{position:absolute;top:calc(100% + 6px);left:0;z-index:200;background:#fff;border:1px solid #eadfd3;border-radius:16px;box-shadow:var(--lso-shadow-md);min-width:240px;max-width:320px;overflow:hidden}.lso-picker-actions{display:flex;gap:6px;padding:8px 10px;border-bottom:1px solid #f0e3d7;background:linear-gradient(180deg,#fff,#fffaf5)}.lso-picker-actions button{flex:1;padding:4px 8px;font-size:11px;font-weight:600;background:#fff;border:1px solid #ead8c6;border-radius:8px;cursor:pointer;color:#555;transition:transform .18s ease,box-shadow .18s ease,background .18s ease,border-color .18s ease}.lso-picker-actions button:hover{background:#fff1e4;border-color:#ffb067;transform:translateY(-1px);box-shadow:0 4px 10px #ff7a001a}.lso-picker-list{max-height:260px;overflow-y:auto;padding:4px 0}.lso-picker-item{display:flex;align-items:center;gap:8px;padding:6px 12px;cursor:pointer;transition:background .18s ease,transform .18s ease;font-size:13px}.lso-picker-item:hover{background:#fff8ef;transform:translate(2px)}.lso-picker-item.lso-picker-checked{background:#fff1e4}.lso-picker-name{flex:1;font-weight:500;color:#222}.lso-picker-model{font-size:11px;color:#aaa;background:#f5f5f5;padding:1px 5px;border-radius:4px}.lso-charts-section{margin-top:18px;border:1px solid #efe3d7;border-radius:16px;overflow:hidden;box-shadow:var(--lso-shadow-sm)}.lso-charts-toggle{display:flex;align-items:center;gap:8px;width:100%;padding:10px 16px;font-size:13px;font-weight:700;color:#333;background:linear-gradient(180deg,#fff,#fffaf5);border:none;border-bottom:1px solid #efe3d7;cursor:pointer;text-align:left;transition:background .18s ease,color .18s ease}.lso-charts-toggle:hover{background:#fff1e4;color:#d55f00}.lso-charts-toggle i:last-child{margin-left:auto;font-size:11px;color:#999}.lso-charts-list{padding:12px;display:flex;flex-direction:column;gap:12px;background:linear-gradient(180deg,#fffcf9,#fff8f1)}.scooter-chart-card{background:#fff;border:1px solid #efe3d7;border-radius:16px;overflow:hidden;overscroll-behavior:contain;box-shadow:var(--lso-shadow-sm);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.scooter-chart-card:hover{transform:translateY(-2px);box-shadow:var(--lso-shadow-md);border-color:#ffc78e}.lso-inline-chart-wrap{margin-top:10px}.scooter-chart-header{display:flex;align-items:center;gap:10px;padding:10px 14px;background:#f8f8f8;border-bottom:1px solid #ececec}.scooter-chart-header-suspicious{background:linear-gradient(180deg,#fff6f6,#ffefef);border-left:4px solid #f44336}.scooter-chart-header-ok{background:linear-gradient(180deg,#f4fcf6,#eef9f1);border-left:4px solid #4caf50}.scooter-chart-name{font-size:13px;font-weight:700;color:#222;display:flex;align-items:center;gap:6px}.scooter-chart-meta{font-size:11px;color:#888;margin-left:auto}.scooter-chart-svg{display:block;width:100%;height:auto}.scooter-chart-svg-wrap{padding:8px 10px 6px;background:#fff}.chart-interaction-bar{display:grid;grid-template-columns:auto 1fr;gap:8px 10px;align-items:center;padding:10px 12px;border-bottom:1px solid #ececec;background:#fafafa}.chart-zoom-pill{display:inline-flex;align-items:center;gap:6px;background:#fff;border:1px solid #dedede;border-radius:999px;padding:4px;box-shadow:none}.chart-zoom-btn-modern{border:1px solid #d8d8d8;background:#fff;color:#555;border-radius:999px;width:30px;height:30px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:all .14s ease}.chart-zoom-btn-modern:hover{background:#f3f3f3;border-color:#cfcfcf}.chart-zoom-status{display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap;color:#4b5563;font-size:11px;font-weight:600}.chart-zoom-sep{opacity:.5}.chart-zoom-range-pill{margin-left:4px;font-size:10px;color:#666;background:#f0f0f0;border:1px solid #e2e2e2;border-radius:999px;padding:2px 7px}.chart-zoom-hint{grid-column:1 / -1;color:#8c8c95;font-size:10px}.chart-lock-legend{display:flex;align-items:center;gap:10px;padding:8px 12px 0;font-size:11px;color:#666}.chart-lock-legend-title{font-weight:700;color:#444}.chart-lock-legend-item{display:inline-flex;align-items:center;gap:6px;padding:2px 8px;border-radius:999px;border:1px solid #e6e6e6;background:#fafafa}.chart-lock-legend-locked{color:#8d5c5c}.chart-lock-legend-free{color:#4c7a4c}.chart-zoom-controls{display:flex;align-items:center;gap:4px;padding:4px 8px;background:#f8f8f8;border-bottom:1px solid #e0e0e0;flex-wrap:wrap}.chart-zoom-btn{padding:2px 8px;border:1px solid #ccc;border-radius:4px;background:#fff;font-size:12px;cursor:pointer;line-height:1.4;color:#333;transition:background .15s}.chart-zoom-btn:hover{background:#e3f2fd;border-color:#1976d2;color:#1976d2}.chart-zoom-btn-active{background:#1976d2;border-color:#1565c0;color:#fff}.chart-zoom-range{font-size:11px;color:#666;margin-left:6px}.chart-sms-legend{display:flex;gap:16px;padding:7px 10px;font-size:11px;color:#52525b;background:#fffaf5;border-top:1px solid #f0e4d8}.chart-sms-legend-item{display:flex;align-items:center;gap:6px}.chart-sms-legend-line{display:inline-block;width:18px;height:2px;border-top:2px dashed}.chart-sms-legend-justifying .chart-sms-legend-line{border-color:#2e7d32}.chart-sms-legend-other .chart-sms-legend-line{border-color:#e65c00}.chart-sms-tooltip{position:fixed;z-index:9999;background:#fff;border:1px solid #e7d9c8;border-radius:10px;box-shadow:var(--lso-shadow-md);padding:8px 12px;min-width:200px;max-width:320px;pointer-events:none;font-size:12px}.chart-sms-tooltip-badge{font-size:11px;font-weight:600;border-radius:3px;padding:2px 6px;margin-bottom:5px;display:inline-block}.badge-justifying{background:#e8f5e9;color:#2e7d32}.badge-other{background:#fff3e0;color:#e65c00}.chart-sms-tooltip-date{color:#666;margin-bottom:4px}.chart-sms-tooltip-content{font-family:monospace;font-size:11px;background:#f5f5f5;padding:3px 6px;border-radius:3px;word-break:break-all}.chart-sms-tooltip-sender{color:#888;font-size:11px;margin-top:4px}.chart-track-label{font-size:9px;fill:#777;font-family:inherit}.chart-io-label{font-size:8px;font-family:inherit}.chart-io-locked{fill:#e57373}.chart-io-free{fill:#66bb6a}.chart-ref-label{font-size:8px;fill:#90caf9;font-family:inherit}.chart-unit-label{font-size:9px;fill:#bbb;font-family:inherit}.chart-x-label{font-size:9px;fill:#7b7b84;font-family:inherit}.correlation-panel{margin-bottom:16px;border:1px solid #e0e0e0;border-radius:10px;overflow:hidden;background:#fff}.correlation-title{background:#f5f5f5;padding:10px 14px;font-size:13px;font-weight:700;color:#333;border-bottom:1px solid #e0e0e0;display:flex;align-items:center;gap:8px}.correlation-legend{padding:6px 14px;font-size:11px;color:#888;display:flex;gap:14px;border-bottom:1px solid #f0f0f0;background:#fafafa}.corr-legend-multi{color:#c62828;font-weight:600;display:flex;align-items:center;gap:4px}.corr-legend-single{color:#888;display:flex;align-items:center;gap:4px}.correlation-clusters{padding:10px 14px;display:flex;flex-direction:column;gap:10px}.correlation-cluster{border-radius:8px;overflow:hidden;border:1px solid #e8e8e8}.correlation-cluster.cluster-simultaneous{border-color:#f44336;box-shadow:0 0 0 2px #f4433614}.correlation-cluster.cluster-single{border-color:#ddd}.cluster-alert{background:#fde8e8;color:#c62828;font-size:12px;font-weight:600;padding:7px 12px;border-bottom:1px solid #f9c3c3;display:flex;align-items:center;gap:6px}.cluster-items{display:flex;flex-wrap:wrap;gap:0}.cluster-item{padding:8px 12px;flex:1 1 250px;border-right:1px solid #f0f0f0;border-bottom:1px solid #f0f0f0;min-width:220px}.cluster-item:last-child{border-right:none}.cluster-item-header{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:5px}.cluster-scooter{font-size:12px;font-weight:700;color:#333;display:flex;align-items:center;gap:4px}.cluster-ts{font-size:11px;color:#999;font-family:monospace}.cluster-causes{display:flex;flex-wrap:wrap;gap:4px}.chart-change-count{color:#f44336;font-weight:500;font-size:11px}.chart-svg-dragging{-webkit-user-select:none;user-select:none}.chart-change-panel{border:1px solid #e6e6e6;border-radius:0 0 10px 10px;background:#fff;margin-top:-1px}.chart-change-panel-header{display:flex;align-items:center;gap:10px;padding:8px 12px;background:#f7f7f7;border-bottom:1px solid #e8e8e8;flex-wrap:wrap}.chart-change-panel-ts{font-size:12px;color:#555;font-weight:500}.chart-change-panel-last-badge{font-size:10px;background:#f44336;color:#fff;border-radius:10px;padding:1px 7px;font-weight:600;letter-spacing:.02em}.chart-change-nav{margin-left:auto;display:inline-flex;align-items:center;gap:6px}.chart-change-nav-btn{width:26px;height:26px;border-radius:6px;border:1px solid #d7d7d7;background:#fff;color:#555;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.chart-change-nav-btn:disabled{opacity:.45;cursor:not-allowed}.chart-change-nav-count{font-size:11px;color:#666;min-width:44px;text-align:center}.chart-change-panel-body{padding:10px 14px;font-size:13px;display:flex;flex-direction:column;gap:8px}.chart-change-kpis{display:flex;flex-wrap:wrap;gap:8px}.chart-kpi-item{font-size:11px;color:#555;background:#f4f4f4;border:1px solid #e7e7e7;border-radius:999px;padding:3px 8px}.chart-change-panel-sms-ok{color:#2e7d32;font-weight:500;display:flex;flex-direction:column;gap:6px}.chart-change-panel-sms-list{display:flex;flex-direction:column;gap:4px;margin-top:4px}.chart-change-panel-sms-row{display:flex;gap:10px;align-items:center;font-size:12px}.chart-change-panel-no-sms{color:#bf360c;font-weight:500;font-size:12px}.chart-change-panel-causes{display:flex;flex-direction:column;gap:6px}.chart-change-panel-unknown{color:#888;font-size:12px;font-style:italic}.chart-change-panel-logs{font-size:12px;margin-top:4px}.chart-change-panel-logs summary{cursor:pointer;color:#555;font-weight:500;padding:2px 0}.lso-io-switch-btn{margin-top:6px;border:1px solid #e3d5c5;background:linear-gradient(180deg,#fff,#fff6ee);color:#3f3f46;border-radius:999px;padding:4px 10px;font-size:11px;font-weight:700;letter-spacing:.02em;display:inline-flex;align-items:center;gap:6px;cursor:pointer;transition:all .18s ease;box-shadow:0 1px 2px #0f172a1f}.lso-io-switch-btn:hover:not(:disabled){background:linear-gradient(180deg,#fff8f1,#ffeede);border-color:#ffc086;color:#2f2f2f}.lso-io-switch-btn:disabled{opacity:.6;cursor:not-allowed}.lso-io-switch-current,.lso-io-switch-target{padding:2px 6px;border-radius:999px;line-height:1}.lso-io-switch-current{background:#dbeafe;color:#1d4ed8}.lso-io-switch-target{background:#ede9fe;color:#6d28d9}.lso-io-switch-arrow{color:#64748b;font-weight:800}.lso-io-switch-179 .lso-io-switch-current{background:#dcfce7;color:#166534}.lso-io-switch-180 .lso-io-switch-current{background:#fee2e2;color:#b91c1c}.lso-io-switch-nodata .lso-io-switch-current,.lso-io-switch-nodata .lso-io-switch-target{background:#eee;color:#666}.hex-frame-parser .hex-parser-hint{margin:0 0 14px;font-size:13px;color:#777}.hex-parser-input{width:100%;box-sizing:border-box;font-family:Courier New,monospace;font-size:12px;line-height:1.5;padding:12px;border:1px solid var(--dashboard-border-soft);border-radius:12px;resize:vertical;background:#fff;color:#2b2b2b;transition:border-color var(--dashboard-transition),box-shadow var(--dashboard-transition)}.hex-parser-input:focus{outline:none;border-color:var(--dashboard-accent);box-shadow:0 0 0 3px var(--dashboard-accent-soft)}.hex-parser-actions{display:flex;gap:10px;margin-top:12px}.hex-parser-btn{display:inline-flex;align-items:center;gap:8px;padding:9px 16px;border:1px solid var(--dashboard-border-soft);border-radius:10px;background:#fff;color:#555;font-size:13px;font-weight:600;cursor:pointer;transition:background-color var(--dashboard-transition),color var(--dashboard-transition),border-color var(--dashboard-transition),transform var(--dashboard-transition)}.hex-parser-btn:hover:not(:disabled){background:var(--dashboard-accent-soft);border-color:var(--dashboard-border-hover);transform:translateY(-1px)}.hex-parser-btn.primary{background:var(--dashboard-accent);border-color:var(--dashboard-accent);color:#fff}.hex-parser-btn.primary:hover:not(:disabled){background:#e86e00;border-color:#e86e00}.hex-parser-btn:disabled{opacity:.5;cursor:not-allowed}.hex-parser-error{margin-top:14px;padding:12px 14px;border-radius:10px;background:#fff5f5;border:1px solid #ffd0d0;color:#c0392b;font-size:13px}.hex-parser-result{margin-top:18px}.hex-parser-summary{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:16px}.hex-parser-badge{flex:1 1 140px;display:flex;flex-direction:column;gap:2px;padding:10px 14px;border-radius:10px;background:var(--dashboard-accent-soft);border:1px solid var(--dashboard-border-soft)}.hex-parser-badge .label{font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:#999}.hex-parser-badge .value{font-size:15px;font-weight:700;color:#2b2b2b}.hex-parser-warnings{margin-bottom:16px}.hex-parser-warning{padding:10px 14px;border-radius:10px;background:#fffaf0;border:1px solid #ffe2b8;color:#9a6400;font-size:13px;margin-bottom:8px}.hex-parser-record{border:1px solid var(--dashboard-border-soft);border-radius:12px;padding:16px;margin-bottom:16px;background:#fff;box-shadow:var(--dashboard-shadow-rest)}.hex-parser-record-header{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;font-size:13px;font-weight:600;color:#2b2b2b;margin-bottom:14px;padding-bottom:10px;border-bottom:2px solid #f5f5f5}.hex-parser-record-header i{color:var(--dashboard-accent);margin-right:4px}.hex-parser-gps{display:flex;flex-wrap:wrap;gap:16px;padding:14px;background:#fafafa;border-radius:10px;margin-bottom:16px;align-items:center}.hex-parser-gps>div{display:flex;flex-direction:column;gap:2px}.hex-parser-gps .label{font-size:11px;text-transform:uppercase;letter-spacing:.4px;color:#999}.hex-parser-gps .value{font-size:14px;font-weight:700;color:#2b2b2b}.hex-parser-map-link{margin-left:auto;display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:600;color:var(--dashboard-accent);text-decoration:none}.hex-parser-map-link:hover{text-decoration:underline}.hex-parser-io-title{font-size:14px;font-weight:600;color:#2b2b2b;margin-bottom:10px}.hex-parser-io-table{border:1px solid var(--dashboard-border-soft);border-radius:10px;overflow:hidden;font-size:13px}.hex-parser-io-row{display:grid;grid-template-columns:80px minmax(0,1fr) 140px 160px;align-items:center;gap:16px;padding:10px 16px;border-bottom:1px solid #f2f2f2}.hex-parser-io-row:last-child{border-bottom:none}.hex-parser-io-row:not(.head):nth-child(2n){background:#fcfcfc}.hex-parser-io-row:not(.head):hover{background:var(--dashboard-accent-soft)}.hex-parser-io-row.head{background:#f7f7f7;font-weight:700;color:#888;text-transform:uppercase;font-size:11px;letter-spacing:.5px}.hex-parser-sort-btn{justify-self:start;display:inline-flex;align-items:center;gap:8px;border:none;background:transparent;color:inherit;font:inherit;text-transform:inherit;letter-spacing:inherit;cursor:pointer;padding:0}.hex-parser-sort-btn i{color:var(--dashboard-accent)}.hex-parser-sort-btn:hover{color:#555}.hex-parser-io-row>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hex-parser-io-row>span:nth-child(2){white-space:normal;font-weight:600;color:#2b2b2b}.hex-parser-io-row>span:nth-child(3){font-weight:700;color:var(--dashboard-accent)}.hex-parser-io-row .mono{font-family:Courier New,monospace;color:#888}.hex-parser-can-title{font-size:14px;font-weight:600;color:#2b2b2b;margin:18px 0 10px}.hex-parser-can-table{border:1px solid var(--dashboard-border-soft);border-radius:10px;overflow:hidden;font-size:13px}.hex-parser-can-row.head{display:grid;grid-template-columns:92px minmax(0,1.5fr) 120px 150px minmax(0,1fr);gap:14px;align-items:center;padding:10px 16px;border-bottom:1px solid #f2f2f2}.hex-parser-can-group{display:grid;grid-template-columns:92px minmax(0,1fr);border-bottom:3px solid #e2e2e2}.hex-parser-can-group:last-child{border-bottom:none}.hex-parser-can-id{display:flex;align-items:center;justify-content:center;text-align:center;padding:12px 10px;background:#f5f5f5;color:#2b2b2b;font-weight:700;border-right:1px solid #f2f2f2}.hex-parser-can-group-body{display:flex;flex-direction:column}.hex-parser-can-line{display:grid;grid-template-columns:minmax(0,1.5fr) 120px 150px minmax(0,1fr);gap:14px;align-items:start;padding:10px 16px;border-bottom:1px solid #f2f2f2}.hex-parser-can-line:last-child{border-bottom:none}.hex-parser-can-line:nth-child(2n){background:#fcfcfc}.hex-parser-can-line:hover{background:var(--dashboard-accent-soft)}.hex-parser-can-row.head{background:#f7f7f7;font-weight:700;color:#888;text-transform:uppercase;font-size:11px;letter-spacing:.5px}.hex-parser-can-row.head>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hex-parser-can-line>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hex-parser-can-line>span:nth-child(1){white-space:normal}.hex-parser-can-value{font-weight:700;color:var(--dashboard-accent)}.hex-parser-can-line strong{display:block;color:#2b2b2b;font-size:13px}.hex-parser-can-subtitle{display:block;margin-top:2px;color:#777;font-size:12px}.hex-parser-can-hex{display:inline-flex;flex-wrap:wrap;align-items:center;gap:0;font-family:Courier New,monospace;color:#888;word-break:break-all}.hex-parser-can-hex-prefix{color:#9a9a9a}.hex-parser-can-hex-before,.hex-parser-can-hex-after{color:#888}.hex-parser-can-hex-highlight{color:#d97706;background:#ff7a0024;border-radius:4px;padding:0 2px}.hex-parser-can-empty{margin-top:10px;padding:12px 14px;border:1px dashed var(--dashboard-border-soft);border-radius:10px;color:#777;background:#fafafa;font-size:13px}@media (max-width: 640px){.hex-parser-io-row{grid-template-columns:52px minmax(0,1fr) 88px;gap:10px}.hex-parser-io-row>span:last-child{display:none}.hex-parser-can-row.head{grid-template-columns:68px minmax(0,1fr) 88px;gap:10px}.hex-parser-can-group{grid-template-columns:68px minmax(0,1fr)}.hex-parser-can-line{grid-template-columns:minmax(0,1fr) 88px;gap:10px}.hex-parser-can-line>span:nth-child(2),.hex-parser-can-line>span:nth-child(3),.hex-parser-can-line>span:nth-child(4){display:none}}.dataraw-json-panel{width:360px;min-width:360px;max-width:360px;border-left:1px solid #ececec;background:linear-gradient(180deg,#fcfcfc,#f8f8f8);display:flex;flex-direction:column;min-height:0}.dataraw-json-panel-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:16px 18px 14px;border-bottom:1px solid #ececec;background:#fffc}.dataraw-json-panel-header-actions{display:flex;align-items:flex-start;gap:10px}.dataraw-json-panel-header h3{margin:2px 0 0;font-size:16px;color:#1f1f1f}.dataraw-json-panel-eyebrow{margin:0;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#ff7a00}.dataraw-json-panel-meta{display:flex;flex-direction:column;align-items:flex-end;gap:4px;font-size:11px;color:#777;white-space:nowrap}.dataraw-json-panel-close{width:30px;height:30px;border:0px;border-radius:8px;color:#7b7b7b;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:all .15s;flex-shrink:0;background-color:transparent}.dataraw-json-panel-close:hover{color:#ff7a00}.dataraw-json-panel-context{display:grid;grid-template-columns:1fr;gap:10px;padding:14px 18px;border-bottom:1px solid #efefef}.dataraw-json-panel-context-item{display:flex;flex-direction:column;gap:4px}.dataraw-json-panel-context-item span{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:#8a8a8a}.dataraw-json-panel-context-item strong{font-size:13px;color:#2b2b2b;overflow:hidden;text-overflow:ellipsis}.dataraw-json-panel-body{flex:1;min-height:0;overflow:auto;padding:16px 18px 20px}.dataraw-json-panel-body pre{margin:0;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:12px;line-height:1.55;color:#252525;white-space:pre-wrap;word-break:break-word}.dataraw-json-panel-empty{flex:1;min-height:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:14px;padding:24px;color:#7b7b7b}.dataraw-json-panel-empty i{font-size:28px;color:#ff7a00}.dataraw-json-panel-empty p{margin:0;max-width:240px;line-height:1.5}.logout-button{position:relative;width:100%;margin:0;box-sizing:border-box;padding:12px 20px;border:none;border-top:1px solid #ccc;display:flex;justify-content:flex-end;align-items:center;cursor:pointer;font-size:18px;color:#5c5c5c;background-color:#fff;transition:background-color .2s ease,color .2s ease}.logout-button i{padding-right:20px}.logout-button:hover{color:#222}@media (max-width: 768px){.logout-button{position:relative;width:100%;margin:20px 0 0;padding:12px 0;border-top:1px solid #ddd;background-color:transparent;justify-content:center}.logout-button i{padding-right:8px}}.nav-menu{position:fixed;top:14px;right:14px;z-index:1500;display:flex;flex-direction:row;align-items:center;gap:6px;pointer-events:none}.nav-menu-btn{pointer-events:all;position:relative;display:flex;align-items:center;justify-content:center;flex-shrink:0;height:42px;width:42px;padding:0;border:none;border-radius:12px;background:#fffffff7;color:#444;cursor:pointer;overflow:visible;box-shadow:0 3px 12px #0000002e;transition:background .15s,color .15s,box-shadow .15s;z-index:1}.nav-menu-btn.expanded{z-index:10;box-shadow:0 4px 18px #00000038}.nav-menu-btn.active{background:#ff7a00;color:#fff;box-shadow:0 3px 14px #ff7a0059}.nav-menu-btn.active.expanded{box-shadow:0 4px 18px #ff7a0073}.nav-menu-icon{width:42px;height:42px;display:flex;align-items:center;justify-content:center;font-size:16px;border-radius:12px;flex-shrink:0}.nav-menu-label{position:absolute;top:calc(100% + 8px);left:50%;transform:translate(-50%) translateY(-6px) scale(.88);transform-origin:top center;background:#fffffff7;color:#444;border-radius:10px;padding:5px 13px;font-size:12px;font-weight:700;white-space:nowrap;box-shadow:0 4px 16px #0000002e;opacity:0;pointer-events:none;transition:opacity .2s cubic-bezier(.34,1.56,.64,1),transform .2s cubic-bezier(.34,1.56,.64,1)}.nav-menu-btn.active .nav-menu-label{background:#ff7a00;color:#fff;box-shadow:0 4px 16px #ff7a0059}.nav-menu-btn.expanded .nav-menu-label{opacity:1;transform:translate(-50%) translateY(0) scale(1)}.nav-menu-badge{position:absolute;top:-5px;right:-5px;min-width:16px;height:16px;background:#e53935;color:#fff;border-radius:8px;font-size:9px;font-weight:700;display:flex;align-items:center;justify-content:center;padding:0 3px;pointer-events:none;box-shadow:0 1px 4px #00000040}.nav-menu-bell .nav-menu-label{left:auto;right:0;transform:translateY(-6px) scale(.88)}.nav-menu-bell.expanded .nav-menu-label{transform:translateY(0) scale(1)}.has-nav-menu{padding-top:0}@media (max-width: 768px){.nav-menu{top:auto;bottom:0;left:0;right:0;width:unset!important;flex-direction:row;align-items:stretch;justify-content:space-around;gap:0;padding:0;padding-bottom:env(safe-area-inset-bottom,0);background:#fffffffa;border-top:1px solid #ebebeb;box-shadow:0 -2px 10px #0000001a;height:calc(56px + env(safe-area-inset-bottom,0));pointer-events:all}.nav-menu-btn{flex:1;flex-direction:column;align-items:center;justify-content:center;width:auto!important;height:100%;border-radius:0;background:transparent;box-shadow:none;gap:3px;overflow:visible;transition:color .15s,background .15s}.nav-menu-btn:hover{background:#f5f5f5;box-shadow:none}.nav-menu-icon{width:28px;height:28px;font-size:18px;border-radius:8px}.nav-menu-btn.active .nav-menu-icon{border-radius:8px}.nav-menu-label{display:none}.nav-menu-btn.active{background:#ff7a00;color:#fff;border-radius:0}.nav-menu-btn.active .nav-menu-icon{color:#fff}.has-nav-menu{padding-top:0;padding-bottom:calc(56px + env(safe-area-inset-bottom,0))}}.vehicle-timeline{display:flex;flex-direction:column;gap:10px}.timeline-section-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px}.timeline-section-header h4{margin:0;font-size:16px;font-weight:700;color:#2b2b2b;display:flex;align-items:center;gap:8px}.timeline-section-header h4 i{color:#ff7a00}.timeline-add-btn{display:inline-flex;align-items:center;gap:6px;background:#ff7a00;color:#fff;border:none;border-radius:8px;padding:7px 14px;font-size:13px;font-weight:600;cursor:pointer;transition:background .18s;font-family:inherit}.timeline-add-btn:hover{background:#e96b00}.timeline-bar-container{display:flex;flex-direction:column;gap:0}.timeline-bar-track{position:relative;height:18px;background:#f0f2f5;border-radius:9px;overflow:hidden}.timeline-bar-track.interactive{min-height:36px;border-radius:9px;cursor:grab;-webkit-user-select:none;user-select:none;overflow:hidden;background:#f0f2f5}.timeline-bar-track.interactive:active{cursor:grabbing}.timeline-bar-container.compact .timeline-bar-track{height:10px}.timeline-segment{position:absolute;border-radius:4px;transition:filter .15s,opacity .15s;min-width:4px}.timeline-segment:hover{filter:brightness(1.12);opacity:1!important}.timeline-tick-line{position:absolute;top:0;bottom:0;width:1px;background:#0000001a;pointer-events:none;transform:translate(-50%)}.timeline-today-marker{position:absolute;top:-5px;bottom:-5px;width:3px;background:#1a1a1a;border-radius:2px;transform:translate(-50%);pointer-events:none}.timeline-bar-container.compact .timeline-today-marker{top:-3px;bottom:-3px;width:2px}.timeline-axis-ticks{position:relative;height:22px;margin-top:4px;overflow:visible}.timeline-tick-label{position:absolute;transform:translate(-50%);font-size:10px;color:#b0b5be;white-space:nowrap;top:0;pointer-events:none}.timeline-zoom-controls{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.timeline-zoom-info{font-size:11px;color:#b0b5be;display:flex;align-items:center;gap:5px}.timeline-zoom-reset{display:inline-flex;align-items:center;gap:5px;font-size:11px;color:#888;background:transparent;border:1px solid #e0e3e8;border-radius:6px;padding:3px 10px;cursor:pointer;font-family:inherit;transition:all .15s}.timeline-zoom-reset:hover{border-color:#ff7a00;color:#ff7a00}.timeline-axis{display:flex;justify-content:space-between;font-size:11px;color:#b0b5be;padding:0 2px;margin-top:4px}.timeline-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:36px 20px;background:#fafafa;border-radius:12px;border:1.5px dashed #dde0e6;color:#aaa;text-align:center}.timeline-empty i{font-size:30px;color:#d0d3da}.timeline-empty p{margin:0;font-size:14px}.timeline-add-btn-empty{display:inline-flex;align-items:center;gap:6px;background:transparent;color:#ff7a00;border:1.5px solid #ff7a00;border-radius:8px;padding:7px 16px;font-size:13px;font-weight:600;cursor:pointer;transition:all .18s;font-family:inherit}.timeline-add-btn-empty:hover{background:#ff7a00;color:#fff}.timeline-events-list{display:flex;flex-direction:column;gap:6px;max-height:108px;overflow-y:auto;padding-right:4px}.timeline-events-list--overflow{mask-image:linear-gradient(to bottom,black 60%,transparent 100%);-webkit-mask-image:linear-gradient(to bottom,black 60%,transparent 100%)}.timeline-event-card{display:flex;align-items:flex-start;gap:12px;padding:12px 16px;background:#fff;border:1px solid #f0f0f0;border-radius:10px;transition:box-shadow .15s,border-color .15s}.timeline-event-card:hover{box-shadow:0 2px 10px #00000012;border-color:#e8e8e8}.timeline-event-dot{width:10px;height:10px;border-radius:50%;margin-top:4px;flex-shrink:0}.timeline-event-info{flex:1;min-width:0}.timeline-event-header{display:flex;align-items:center;gap:8px;margin-bottom:4px;flex-wrap:wrap}.timeline-event-status{font-size:13px;font-weight:600;display:flex;align-items:center;gap:5px}.timeline-event-badge{font-size:10px;font-weight:700;background:#fff3eb;color:#ff7a00;padding:2px 8px;border-radius:10px;letter-spacing:.03em;text-transform:uppercase}.timeline-event-dates{font-size:12px;color:#999;display:flex;align-items:center;gap:5px}.timeline-event-note{margin-top:6px;font-size:12px;color:#666;background:#f8f8f8;border-radius:6px;padding:6px 10px;line-height:1.45}.timeline-event-actions{display:flex;flex-direction:column;gap:2px;flex-shrink:0}.timeline-event-edit{background:transparent;border:none;color:#ccc;cursor:pointer;padding:4px 6px;border-radius:6px;font-size:14px;transition:all .15s;flex-shrink:0;line-height:1}.timeline-event-edit:hover{color:#ff7a00;background:#fff3eb}.timeline-event-delete{background:transparent;border:none;color:#ccc;cursor:pointer;padding:4px 6px;border-radius:6px;font-size:14px;transition:all .15s;flex-shrink:0;line-height:1}.timeline-event-delete:hover{color:#e53e3e;background:#fff0f0}.timeline-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#1e1e2873;display:flex;align-items:center;justify-content:center;z-index:2100;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);padding:16px}.timeline-modal{background:#fff;border-radius:16px;width:100%;max-width:480px;box-shadow:0 24px 64px #00000038;animation:tlModalIn .2s ease;max-height:90vh;overflow-y:auto}@keyframes tlModalIn{0%{opacity:0;transform:scale(.95) translateY(12px)}to{opacity:1;transform:scale(1) translateY(0)}}.timeline-modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px 16px;border-bottom:1px solid #f0f0f0;position:sticky;top:0;background:#fff;z-index:1}.timeline-modal-header h3{margin:0;font-size:18px;font-weight:700;color:#2b2b2b}.timeline-modal-close{background:transparent;border:none;font-size:20px;color:#b0b5be;cursor:pointer;padding:4px 8px;border-radius:6px;transition:all .15s;line-height:1}.timeline-modal-close:hover{background:#f5f5f5;color:#555}.timeline-modal-form{padding:20px 24px 24px;display:flex;flex-direction:column;gap:18px}.timeline-form-group{display:flex;flex-direction:column;gap:6px}.timeline-form-group label{font-size:13px;font-weight:600;color:#555}.form-optional{font-weight:400;color:#b0b5be;font-size:12px}.timeline-form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.timeline-status-selector{display:flex;gap:8px;flex-wrap:wrap}.timeline-status-option{flex:1;min-width:110px;display:flex;align-items:center;justify-content:center;gap:7px;padding:9px 12px;border:1.5px solid #e0e3e8;border-radius:9px;background:#fff;color:#666;font-size:13px;font-weight:500;cursor:pointer;transition:all .15s;font-family:inherit}.timeline-status-option:hover{border-color:#c8cad0;background:#fafafa}.timeline-status-option.selected{font-weight:600}.timeline-date-input,.timeline-note-input{padding:9px 12px;border:1.5px solid #e0e3e8;border-radius:8px;font-size:14px;font-family:inherit;color:#333;transition:border-color .15s;background:#fff;width:100%;box-sizing:border-box}.timeline-date-input:focus,.timeline-note-input:focus{outline:none;border-color:#ff7a00;box-shadow:0 0 0 3px #ff7a001f}.timeline-note-input{resize:vertical;min-height:64px}.timeline-form-actions{display:flex;justify-content:flex-end;gap:10px;padding-top:4px;border-top:1px solid #f0f0f0}.timeline-btn-cancel{padding:8px 18px;border:1.5px solid #dde0e6;background:#fff;color:#666;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .15s;font-family:inherit}.timeline-btn-cancel:hover{background:#f5f5f5}.timeline-btn-submit{display:flex;align-items:center;gap:6px;padding:8px 20px;background:#ff7a00;color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:background .18s;font-family:inherit}.timeline-btn-submit:hover{background:#e96b00}.vehicle-timeline.compact{gap:0}.timeline-empty-compact{font-size:11px;color:#c8cad0;font-style:italic}@media (max-width: 520px){.timeline-form-row{grid-template-columns:1fr}.timeline-status-selector{flex-direction:column}.timeline-status-option{min-width:unset}}.garage-detail-vehicle-card{background:#fff;border-radius:14px;padding:16px 20px;display:flex;align-items:flex-start;gap:16px;box-shadow:0 2px 10px #0000000f;border:1px solid #ececec}.garage-hero-photo{width:90px;height:90px;object-fit:contain;border-radius:10px;background:#f4f5f7;padding:8px;flex-shrink:0}.garage-hero-info{flex:1;display:flex;flex-direction:column;gap:6px}.garage-hero-model-label{margin:0;font-size:13px;font-weight:600;color:#ff7a00;text-transform:uppercase;letter-spacing:.06em}.garage-hero-name{margin:0;font-size:20px;font-weight:700;color:#1a1a1a;line-height:1.2}.garage-hero-plate{display:inline-block;font-size:13px;font-weight:600;color:#555;background:#f4f5f7;border-radius:6px;padding:3px 10px;letter-spacing:.06em;align-self:flex-start}.garage-status-row{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-top:8px}.garage-current-status{display:inline-flex;align-items:center;gap:7px;font-size:14px;font-weight:600;padding:7px 14px;border-radius:10px;background:#f0f2f5;color:#888}.garage-change-status-btn{display:inline-flex;align-items:center;gap:7px;background:#ff7a00;color:#fff;border:none;border-radius:9px;padding:7px 15px;font-size:13px;font-weight:600;cursor:pointer;transition:background .18s;font-family:inherit}.garage-change-status-btn:hover{background:#e96b00}.garage-delete-scooter-btn{display:inline-flex;align-items:center;gap:7px;background:transparent;color:#e53935;border:1.5px solid #e53935;border-radius:9px;padding:7px 15px;font-size:13px;font-weight:600;cursor:pointer;transition:background .18s,color .18s;font-family:inherit}.garage-delete-scooter-btn:hover{background:#e53935;color:#fff}@media (max-width: 768px){.garage-detail-vehicle-card{flex-direction:column;align-items:center;text-align:center;padding:16px;gap:14px}.garage-hero-photo{width:72px;height:72px}.garage-hero-name{font-size:18px}.garage-status-row{width:100%;justify-content:stretch}.garage-current-status,.garage-change-status-btn{width:100%;justify-content:center}.garage-hero-model-label,.garage-hero-plate{align-self:center}.garage-status-row{justify-content:center}}.garage-detail-driver-card{background:#fff;border-radius:16px;padding:24px;display:flex;flex-direction:column;gap:14px;box-shadow:0 2px 10px #0000000f;border:1px solid #ececec}.garage-detail-driver-header{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#888}.garage-detail-driver-header i{color:#ff7a00;font-size:14px}.garage-detail-driver-body{flex:1;display:flex;align-items:center;justify-content:center}.garage-detail-driver-summary{width:100%;display:flex;flex-direction:column;align-items:center;text-align:center;gap:12px}.garage-detail-driver-avatar{width:68px;height:68px;border-radius:20px;background:linear-gradient(135deg,#ff7a00,#ffb25b);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:24px;font-weight:800}.garage-detail-driver-info{display:flex;flex-direction:column;gap:4px;color:#666;font-size:13px}.garage-detail-driver-info strong{color:#1a1a1a;font-size:18px}.garage-detail-driver-empty{display:flex;flex-direction:column;align-items:center;gap:10px;color:#b0b5be;font-size:13px;text-align:center;padding:12px 0}.garage-detail-driver-empty i{font-size:26px;opacity:.4}.garage-detail-driver-action{display:inline-flex;align-items:center;gap:8px;border:none;border-radius:10px;background:#fff3eb;color:#ff7a00;font-size:13px;font-weight:700;padding:10px 14px;cursor:pointer;font-family:inherit;transition:background .18s ease,transform .12s ease}.garage-detail-driver-action:hover{background:#ffe2c7;transform:translateY(-1px)}@media (max-width: 768px){.garage-detail-driver-card{padding:18px 16px;gap:12px}.garage-detail-driver-avatar{width:56px;height:56px;border-radius:18px;font-size:20px}.garage-detail-driver-info strong{font-size:16px}.garage-detail-driver-action{width:100%;justify-content:center}}.assignment-timeline-bar-container{margin-top:6px}.assignment-segment{overflow:hidden;display:flex;align-items:center;padding:0 8px}.assignment-segment-label{font-size:11px;font-weight:600;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;pointer-events:none;text-shadow:0 1px 2px rgba(0,0,0,.25)}.garage-trip-history-header{align-items:flex-start;gap:10px}.garage-trip-history-range{font-size:12px;color:#6b7280;font-weight:600}.garage-trip-history-loading{display:flex;align-items:center;gap:10px;padding:20px 4px;color:#888;font-size:13px}.garage-trip-history-loading i{color:#ff7a00;font-size:16px}.garage-trip-history-note{display:flex;align-items:flex-start;gap:10px;padding:14px 16px;border-radius:14px;background:#fff8ef;color:#8a5a14;font-size:13px;line-height:1.5}.garage-trip-history-note i{margin-top:2px}.garage-trip-history-note-error{background:#fff5f5;color:#c23a3a}.garage-trip-history-list{display:flex;flex-direction:column;gap:0;margin-top:10px;max-height:360px;overflow-y:auto}.garage-trip-history-list::-webkit-scrollbar{width:5px}.garage-trip-history-list::-webkit-scrollbar-track{background:transparent}.garage-trip-history-list::-webkit-scrollbar-thumb{background:#e0e3e8;border-radius:4px}.garage-trip-history-row{display:flex;align-items:center;justify-content:space-between;padding:10px 6px;border-bottom:1px solid #f4f5f7;gap:16px}.garage-trip-history-row:last-child{border-bottom:none}.garage-trip-history-row:hover{background:#ff7a0008}.garage-trip-history-row--clickable{cursor:pointer}.garage-trip-history-row--clickable:hover{background:#ff7a0014}.garage-trip-history-row--clickable:after{content:"";font-family:"Font Awesome 6 Free";font-weight:900;font-size:11px;color:#ff7a00;opacity:.6;flex-shrink:0}.garage-trip-history-date{display:flex;align-items:center;gap:7px;font-size:13px;font-weight:600;color:#2b2b2b;white-space:nowrap}.garage-trip-history-date i{color:#b0b5be;font-size:12px}.garage-trip-history-time{font-size:12px;font-weight:400;color:#888}.garage-trip-history-stats{display:flex;align-items:center;gap:18px;flex-wrap:wrap}.garage-trip-history-stats span{display:flex;align-items:center;gap:5px;font-size:12px;color:#555;white-space:nowrap}.garage-trip-history-stats i{color:#b0b5be;font-size:11px}.garage-trip-history-co2,.garage-trip-history-co2 i{color:#16a34a!important}@media (max-width: 900px){.garage-trip-history-header{flex-direction:column}.garage-trip-history-row{flex-direction:column;align-items:flex-start}.garage-trip-history-stats{gap:12px}}.garage-trip-history-vehicle{color:#ff7a00!important;font-weight:700}.garage-trip-history-vehicle i{color:#ff7a00!important}.garage-back-btn{display:inline-flex;align-items:center;gap:7px;background:#fff;border:1.5px solid #e0e3e8;color:#555;border-radius:9px;padding:7px 14px;font-size:13px;font-weight:500;cursor:pointer;transition:background .15s,border-color .15s;font-family:inherit}.garage-back-btn:hover{background:#f4f5f7;border-color:#ccc}.garage-detail-topbar{margin-bottom:12px}.garage-detail{display:flex;flex-direction:column;gap:8px;width:100%}.garage-detail-top-row{display:grid;grid-template-columns:2fr 1fr;gap:16px;align-items:stretch}.garage-timeline-card{background:#fff;border-radius:14px;padding:16px 20px;box-shadow:0 2px 10px #0000000f;border:1px solid #ececec}.garage-timelines-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}@media (max-width: 768px){.garage-detail{gap:12px}.garage-detail-topbar{margin-bottom:4px}.garage-timeline-card{padding:14px 12px}.garage-detail-top-row,.garage-timelines-row{grid-template-columns:1fr;gap:12px}}.vehicle-driver-history-avatar{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;background:#ff7a00;color:#fff;font-size:11px;font-weight:700;flex-shrink:0}.driver-profile-card{background:#fff;border-radius:16px;padding:24px;border:1px solid #ececec;box-shadow:0 2px 10px #0000000f}.driver-trips-loading{display:flex;align-items:center;gap:10px;padding:20px 4px;color:#888;font-size:13px}.driver-trips-loading i{color:#ff7a00;font-size:16px}.driver-trips-list{display:flex;flex-direction:column;gap:0;margin-top:10px;max-height:360px;overflow-y:auto}.driver-trips-list::-webkit-scrollbar{width:5px}.driver-trips-list::-webkit-scrollbar-track{background:transparent}.driver-trips-list::-webkit-scrollbar-thumb{background:#e0e3e8;border-radius:4px}.driver-trip-row{display:flex;align-items:center;justify-content:space-between;padding:10px 6px;border-bottom:1px solid #f4f5f7;gap:16px}.driver-trip-row:last-child{border-bottom:none}.driver-trip-row:hover{background:#ff7a0008}.driver-trip-date{display:flex;align-items:center;gap:7px;font-size:13px;font-weight:600;color:#2b2b2b;white-space:nowrap}.driver-trip-date i{color:#b0b5be;font-size:12px}.driver-trip-time{font-size:12px;font-weight:400;color:#888}.driver-trip-stats{display:flex;align-items:center;gap:18px;flex-wrap:wrap}.driver-trip-stats span{display:flex;align-items:center;gap:5px;font-size:12px;color:#555;white-space:nowrap}.driver-trip-stats i{color:#b0b5be;font-size:11px}.driver-trip-co2,.driver-trip-co2 i{color:#16a34a!important}.driver-profile-card-header{display:flex;align-items:center;gap:8px;margin-bottom:18px;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#888}.driver-profile-card-header i{color:#ff7a00;font-size:14px}.driver-profile-card-hero{display:flex;flex-direction:column;gap:20px}.driver-profile-hero-body{display:flex;align-items:center;gap:18px}.driver-profile-avatar{width:72px;height:72px;border-radius:22px;background:linear-gradient(135deg,#ff7a00,#ffb25b);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:28px;font-weight:800;flex-shrink:0}.driver-profile-avatar.empty{background:#f4f5f7;color:#b0b5be}.driver-profile-main-info{display:flex;flex-direction:column;gap:6px;min-width:0}.driver-profile-role{margin:0;font-size:13px;font-weight:700;color:#ff7a00;text-transform:uppercase;letter-spacing:.06em}.driver-profile-main-info h2,.driver-profile-empty-state h2,.driver-profile-assigned-body h3{margin:0;color:#1a1a1a}.driver-profile-main-info h2,.driver-profile-empty-state h2{font-size:26px;line-height:1.2}.driver-profile-tags{display:flex;flex-wrap:wrap;gap:8px}.driver-profile-tags span,.driver-profile-vehicle-plate{display:inline-flex;align-items:center;min-height:28px;padding:4px 10px;border-radius:999px;background:#f4f5f7;color:#555;font-size:13px;font-weight:600}.driver-profile-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.driver-profile-stats>div{display:flex;flex-direction:column;gap:4px;padding:14px 16px;border-radius:14px;background:#f8f9fb}.driver-profile-stat-value{font-size:20px;font-weight:800;color:#1a1a1a}.driver-profile-stat-label{font-size:12px;color:#888}.driver-profile-actions{display:flex;flex-wrap:wrap;gap:10px}.driver-profile-action-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 16px;border-radius:12px;border:1px solid #ececec;background:#fff;color:#555;font-size:13px;font-weight:700;cursor:pointer;font-family:inherit;transition:transform .12s ease,box-shadow .18s ease,background .18s ease,border-color .18s ease}.driver-profile-action-btn:hover{transform:translateY(-1px)}.driver-profile-action-btn-primary{background:#ff7a00;border-color:#ff7a00;color:#fff;box-shadow:0 2px 8px #ff7a0040}.driver-profile-action-btn-secondary{background:#fffaf5;color:#ff7a00}.driver-profile-action-btn-danger{background:#fff5f5;border-color:#ffd7d7;color:#d94343}.driver-profile-empty-state,.driver-profile-assigned-empty{min-height:220px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:14px;text-align:center;color:#b0b5be}.driver-profile-empty-state p{margin:8px 0 0;max-width:420px;font-size:14px;line-height:1.55}.driver-profile-assigned-empty i,.driver-profile-empty-state i{font-size:34px}.driver-profile-assigned-body{min-height:220px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:10px}.driver-profile-vehicle-image{width:132px;height:132px;object-fit:contain;border-radius:14px;background:#f4f5f7;padding:10px}.driver-profile-vehicle-model{margin:0;font-size:13px;font-weight:700;color:#ff7a00;text-transform:uppercase;letter-spacing:.06em}@media (max-width: 768px){.driver-profile-hero-body{flex-direction:column;text-align:center}.driver-profile-main-info{align-items:center}.driver-profile-tags{justify-content:center}.driver-profile-stats{grid-template-columns:1fr}.driver-profile-actions{flex-direction:column}.driver-profile-empty-state,.driver-profile-assigned-empty,.driver-profile-assigned-body{min-height:auto}}.gantt-controls-switch{display:inline-flex;align-items:center;gap:4px;padding:4px;background:#fff;border:1px solid #ececec;border-radius:12px;box-shadow:0 2px 8px #0000000d}.gantt-controls-switch-btn{display:inline-flex;align-items:center;gap:6px;min-height:32px;padding:0 12px;border:none;border-radius:8px;background:transparent;color:#777;font-size:12px;font-weight:700;cursor:pointer;font-family:inherit;transition:background .18s ease,color .18s ease,transform .12s ease}.gantt-controls-switch-btn:hover{background:#f7f8fa;color:#555}.gantt-controls-switch-btn.active{background:#fff3eb;color:#ff7a00}.gantt-controls-switch-image{width:16px;height:16px;object-fit:contain;flex-shrink:0}.gantt-wrapper{--gantt-name-col-w: 240px;--gantt-activity-col-w: 160px;--gantt-state-col-w: 248px;--gantt-axis-min-w: 420px;--gantt-grid-min-w: calc(var(--gantt-name-col-w) + var(--gantt-activity-col-w) + var(--gantt-state-col-w) + var(--gantt-axis-min-w));display:flex;flex-direction:column;flex:1;min-width:0;min-height:0;background:#fff;border-radius:16px;border:1px solid #ececec;box-shadow:0 2px 10px #0000000f;overflow:hidden}.gantt-grid-scroll{display:flex;flex:1;flex-direction:column;min-width:0;min-height:0;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch}.gantt-grid-scroll::-webkit-scrollbar{height:8px}.gantt-grid-scroll::-webkit-scrollbar-track{background:transparent}.gantt-grid-scroll::-webkit-scrollbar-thumb{background:#e0e3e8;border-radius:999px}.gantt-controls{display:flex;align-items:center;justify-content:space-between;padding:10px 18px;border-bottom:1px solid #f0f0f0;gap:12px;flex-shrink:0}.gantt-controls-right{display:flex;align-items:center;gap:10px;flex-shrink:0}.gantt-zoom-info{font-size:12px;color:#b0b5be;display:flex;align-items:center;gap:6px}.gantt-zoom-reset{display:inline-flex;align-items:center;gap:6px;background:#f4f5f7;border:none;border-radius:8px;padding:5px 12px;font-size:12px;font-weight:500;color:#555;cursor:pointer;font-family:inherit;transition:background .15s}.gantt-zoom-reset:hover{background:#eceef1}.gantt-head{display:flex;flex-direction:row;flex-shrink:0;min-width:var(--gantt-grid-min-w);border-bottom:1px solid #f0f0f0;background:#fafafa;height:32px}.gantt-head-label{display:flex;align-items:center;padding:0 12px;font-size:11px;font-weight:700;color:#888;text-transform:uppercase;letter-spacing:.06em;border-right:1px solid #f0f0f0;flex-shrink:0;box-sizing:border-box}.gantt-head-label-sortable{background:#fafafa;border-top:none;border-left:none;border-bottom:none;justify-content:space-between;cursor:pointer;font-family:inherit}.gantt-head-label-sortable:hover{background:#f4f5f7;color:#ff7a00}.gantt-head-sort-arrow{font-size:12px;color:#ff7a00;margin-left:8px}.gantt-head-axis{flex:1;min-width:var(--gantt-axis-min-w);position:relative;overflow:hidden}.gantt-tick-label{position:absolute;transform:translate(-50%);font-size:10px;color:#b0b5be;white-space:nowrap;top:8px;pointer-events:none}.gantt-rows{flex:1;min-width:var(--gantt-grid-min-w);min-height:0;overflow-y:auto;overflow-x:hidden;-webkit-user-select:none;user-select:none}.gantt-rows::-webkit-scrollbar{width:6px}.gantt-rows::-webkit-scrollbar-track{background:transparent}.gantt-rows::-webkit-scrollbar-thumb{background:#e0e3e8;border-radius:3px}.gantt-row-full{display:flex;flex-direction:row;flex-shrink:0;border-bottom:1px solid #f0f2f5;cursor:pointer}.gantt-row-full:hover>.gantt-row-track,.gantt-row-full:hover>.gantt-row-name-cell,.gantt-row-full:hover>.gantt-row-last-data,.gantt-row-full:hover>.gantt-row-state-cell{background:#ff7a000a}.gantt-row-name-cell{display:flex;align-items:center;gap:8px;padding:0 10px;border-right:1px solid #f0f0f0;flex-shrink:0;min-width:0;box-sizing:border-box}.gantt-row-last-data{display:flex;align-items:center;padding:0 12px;font-size:12px;color:#666;border-right:1px solid #f0f0f0;flex-shrink:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;box-sizing:border-box}.gantt-row-state-cell{display:flex;align-items:center;padding:0 12px;border-right:1px solid #f0f0f0;flex-shrink:0;white-space:nowrap;overflow:hidden;box-sizing:border-box}.gantt-state-badge{display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:600;line-height:1}.gantt-state-badge i.fa-circle{font-size:8px;flex-shrink:0}.gantt-name-profile{width:30px;height:30px;object-fit:contain;border-radius:6px;flex-shrink:0}.gantt-name-profile-fallback{display:inline-flex;align-items:center;justify-content:center;color:#ff7a00}.gantt-name-profile-avatar{display:inline-flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#ff7a00,#ffb25b);color:#fff;font-size:11px;font-weight:800;letter-spacing:.04em;border-radius:8px;padding:0}.gantt-name-text{display:flex;flex-direction:column;min-width:0;flex:1}.gantt-name-label{font-size:13px;font-weight:600;color:#2b2b2b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gantt-name-model{font-size:11px;color:#b0b5be;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gantt-name-status{flex-shrink:0;font-size:15px}.gantt-name-delete-btn{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:26px;height:26px;border:none;border-radius:6px;background:transparent;color:#9ca3af;font-size:13px;cursor:pointer;opacity:0;transition:opacity .15s,background .15s,color .15s}.gantt-row-name-cell:hover .gantt-name-delete-btn{opacity:1}.gantt-name-delete-btn:hover{background:#fee2e2;color:#dc2626}.gantt-row-track{flex:1;min-width:var(--gantt-axis-min-w);position:relative;overflow:hidden;height:100%;cursor:grab;touch-action:none}.gantt-row-track:active{cursor:grabbing}.gantt-empty-state{min-height:240px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;text-align:center;color:#b0b5be;padding:32px 20px}.gantt-empty-state i{font-size:32px}.gantt-empty-state h3{margin:0;font-size:20px;color:#555}.gantt-empty-state p{margin:0;max-width:420px;line-height:1.5}.gantt-grid-line{position:absolute;top:0;bottom:0;width:1px;background:#f0f2f5;pointer-events:none}.gantt-today-line{position:absolute;top:0;bottom:0;width:2px;background:#ff7a00;opacity:.5;pointer-events:none;z-index:2}.gantt-segment{position:absolute;border-radius:4px;min-width:4px;pointer-events:auto;z-index:2}.gantt-row-full:hover .gantt-segment{filter:brightness(1.05)}.gantt-tooltip{background:#fff;border:1px solid #e8eaed;border-radius:12px;box-shadow:0 8px 24px #00000021,0 2px 6px #00000012;min-width:220px;max-width:280px;overflow:hidden;font-family:inherit}.gantt-tooltip-header{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 14px;border-bottom:2px solid transparent}.gantt-tooltip-type-badge{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-weight:600;padding:3px 9px;border-radius:20px;letter-spacing:.01em}.gantt-tooltip-ongoing{font-size:10.5px;font-weight:600;color:#16a34a;background:#dcfce7;padding:2px 8px;border-radius:20px;white-space:nowrap}.gantt-tooltip-body{padding:10px 14px 12px;display:flex;flex-direction:column;gap:7px}.gantt-tooltip-vehicle{font-size:12.5px;font-weight:600;color:#1a1a2e;margin-bottom:2px}.gantt-tooltip-dates{display:flex;flex-direction:column;gap:4px}.gantt-tooltip-date-row{display:flex;align-items:center;gap:6px;font-size:12px;color:#444}.gantt-tooltip-date-row i{color:#999;font-size:11px;width:13px;flex-shrink:0}.gantt-tooltip-sep{color:#bbb;font-size:11px}.gantt-tooltip-duration{color:#666;font-size:11.5px}.gantt-tooltip-note{display:flex;align-items:flex-start;gap:6px;font-size:12px;color:#555;background:#f8f9fb;border-radius:7px;padding:6px 9px;margin-top:2px;font-style:italic}.gantt-tooltip-note i{color:#aaa;font-size:11px;margin-top:2px;flex-shrink:0}.gantt-maintenance-segment{position:absolute;height:8px;border-radius:99px;background-color:#dc2626;min-width:4px;pointer-events:auto;z-index:2}.gantt-trip-dot{position:absolute;width:8px;height:8px;border-radius:50%;background-color:#22c55e;transform:translate(-50%);pointer-events:auto;z-index:3;cursor:default}.gantt-trip-dot:hover{transform:translate(-50%) scale(1.4);box-shadow:0 0 0 2px #22c55e59}.gantt-loading-overlay{display:flex;align-items:center;justify-content:center;gap:10px;padding:40px 0;color:#888;font-size:14px}.gantt-loading-overlay i{color:#ff7a00;font-size:18px}.timeline-events-loading{display:flex;align-items:center;justify-content:center;gap:8px;padding:28px 0;color:#aaa;font-size:13px}.timeline-events-loading i{color:#ff7a00}@media (max-width: 768px){.gantt-wrapper{--gantt-name-col-w: 132px;--gantt-activity-col-w: 96px;--gantt-state-col-w: 124px;--gantt-axis-min-w: 240px;width:100%;min-height:0;flex:none;overflow:visible;border-radius:14px}.gantt-grid-scroll{min-height:0;overflow-y:visible;touch-action:pan-x pan-y}.gantt-rows{min-height:0;flex:none;overflow-y:visible}.gantt-controls{flex-direction:column;align-items:center;padding:12px}.gantt-zoom-info{display:none}.gantt-controls-switch{width:100%;justify-content:space-between}.gantt-controls-switch-btn{flex:1;justify-content:center;min-height:36px;padding:0 10px;font-size:11px}.gantt-head{height:36px}.gantt-head-label,.gantt-row-name-cell,.gantt-row-last-data,.gantt-row-state-cell{padding-left:8px;padding-right:8px}.gantt-head-label{font-size:10px}.gantt-name-profile{width:26px;height:26px}.gantt-name-profile-avatar{font-size:10px}.gantt-name-label{font-size:12px}.gantt-name-model,.gantt-row-last-data{font-size:10px}.gantt-state-badge{gap:6px;font-size:10px;line-height:1.25;max-width:100%;overflow:hidden;text-overflow:ellipsis}.gantt-tick-label{top:10px;font-size:9px}.gantt-empty-state{min-height:180px;padding:24px 16px}}.garage-wrapper{flex:1;display:flex;flex-direction:column;background:#f4f5f7;font-family:inherit;min-width:0;min-height:0;overflow:hidden}.garage-main{flex:1;overflow-y:auto;padding:24px 28px;display:flex;flex-direction:column;min-width:0;min-height:0;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}.garage-main::-webkit-scrollbar{width:6px}.garage-main::-webkit-scrollbar-track{background:#f4f5f7}.garage-main::-webkit-scrollbar-thumb{background:#d8dae0;border-radius:3px}.garage-fleet{display:flex;flex-direction:column;flex:1;min-width:0;min-height:0;overflow:hidden}.garage-fleet-toolbar{display:flex;align-items:flex-start;justify-content:flex-start;margin-bottom:16px;gap:16px;flex-shrink:0;flex-wrap:wrap}.garage-fleet-actions{display:flex;flex-direction:column;gap:10px;align-self:flex-start}.garage-fleet-actions .garage-action-btn{width:240px;justify-content:center}.garage-fleet-stats-group{display:flex;gap:12px;flex-wrap:wrap}.garage-fleet-stats{background:#fff;border:1px solid #ececec;border-radius:14px;padding:14px 20px;display:flex;flex-direction:column;gap:10px;box-shadow:0 2px 8px #0000000d;min-width:260px}.garage-fleet-stats.garage-fleet-stats-mini{min-width:280px}.garage-fleet-stats-header{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:700;color:#888;text-transform:uppercase;letter-spacing:.06em}.garage-fleet-stats-header i{color:#ff7a00;font-size:14px}.garage-fleet-stats-body{display:flex;align-items:center;gap:20px}.garage-fleet-stats-total{display:flex;align-items:baseline;gap:5px}.garage-fleet-stats-number{font-size:28px;font-weight:800;color:#1a1a1a;line-height:1}.garage-fleet-stats-sublabel{font-size:12px;color:#888;font-weight:500}.garage-fleet-stats-breakdown{display:flex;flex-direction:column;gap:4px}.garage-fleet-stats-item{display:flex;align-items:center;gap:5px;font-size:12px;font-weight:500}.garage-fleet-stats-item.gfs-connected{color:#22c55e}.garage-fleet-stats-item.gfs-disconnected{color:#f59e0b}.garage-fleet-stats-bar{height:5px;background:#f0f2f5;border-radius:3px;overflow:hidden}.garage-fleet-stats-bar-fill{height:100%;background:#22c55e;border-radius:3px;transition:width .4s ease}.garage-action-btn{display:inline-flex;align-items:center;gap:10px;min-height:50px;border-radius:14px;padding:14px 20px;font-size:14px;font-weight:700;cursor:pointer;transition:box-shadow .18s,transform .12s,background .18s,border-color .18s;font-family:inherit;flex-shrink:0;align-self:flex-start;letter-spacing:.01em}.garage-action-btn i{font-size:14px;flex-shrink:0}.garage-action-btn:hover{transform:translateY(-1px)}.garage-action-btn:active{transform:translateY(0)}.garage-action-btn-primary{background:#ff7a00;color:#fff;border:1px solid #ff7a00;box-shadow:0 2px 8px #ff7a0040}.garage-action-btn-primary:hover{box-shadow:0 4px 16px #ff7a0066}.garage-action-btn-primary:active{box-shadow:0 2px 8px #ff7a0040}.garage-action-btn-secondary{background:#fff;color:#ff7a00;border:1px solid #ececec;box-shadow:0 2px 8px #0000000d}.garage-action-btn-secondary:hover{background:#fff;border-color:#ddd;box-shadow:0 4px 14px #00000014}.garage-action-btn-secondary:active{box-shadow:0 2px 8px #0000000d}.garage-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2000;background:#00000073;display:flex;align-items:center;justify-content:center;padding:16px;animation:overlayFadeIn .18s ease}.garage-modal-overlay-priority{z-index:2200}@keyframes overlayFadeIn{0%{opacity:0}to{opacity:1}}.garage-modal{background:#fff;border-radius:18px;box-shadow:0 20px 60px #00000038;width:100%;max-width:480px;animation:modalSlideIn .2s ease;overflow:hidden}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-16px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.garage-modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px 16px;border-bottom:1px solid #f0f0f0}.garage-modal-header h3{margin:0;font-size:16px;font-weight:700;color:#1a1a1a;display:flex;align-items:center;gap:8px}.garage-modal-header h3 i{color:#ff7a00}.garage-modal-close{background:#f4f5f7;border:none;width:32px;height:32px;border-radius:8px;cursor:pointer;font-size:14px;color:#555;display:flex;align-items:center;justify-content:center;transition:background .14s;font-family:inherit}.garage-modal-close:hover{background:#eceef1}.garage-modal-form{padding:20px 24px 24px;display:flex;flex-direction:column;gap:16px}.garage-form-group{display:flex;flex-direction:column;gap:6px}.garage-form-group label{font-size:12px;font-weight:600;color:#555;text-transform:uppercase;letter-spacing:.05em}.garage-form-optional{font-style:italic;font-weight:400;text-transform:none;letter-spacing:0;color:#b0b5be}.garage-form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.garage-form-input,.garage-form-select,.garage-form-textarea{width:100%;padding:9px 12px;border:1.5px solid #e0e3e8;border-radius:9px;font-size:13px;font-family:inherit;color:#2b2b2b;background:#fafafa;outline:none;transition:border-color .15s;box-sizing:border-box}.garage-form-input:focus,.garage-form-select:focus,.garage-form-textarea:focus{border-color:#ff7a00;background:#fff}.garage-form-textarea{resize:vertical;min-height:80px}.garage-form-helper-card{display:flex;align-items:center;gap:12px;padding:12px;border:1px solid #ececec;border-radius:12px;background:#fffaf5}.garage-form-helper-card-image{width:40px;height:40px;object-fit:contain;border-radius:8px;background:#fff;padding:4px;flex-shrink:0}.garage-driver-mode-switch{display:inline-flex;gap:6px;padding:4px;border-radius:12px;border:1px solid #ececec;background:#f7f8fa}.garage-driver-mode-btn{border:none;background:transparent;color:#666;font-size:12px;font-weight:700;padding:9px 12px;border-radius:8px;cursor:pointer;font-family:inherit;transition:background .15s ease,color .15s ease}.garage-driver-mode-btn.active{background:#fff;color:#ff7a00;box-shadow:0 1px 4px #0000000f}.garage-existing-driver-card{display:flex;align-items:center;gap:12px;padding:12px;border:1px solid #ececec;border-radius:12px;background:#fffaf5}.garage-existing-driver-avatar{width:42px;height:42px;border-radius:14px;background:linear-gradient(135deg,#ff7a00,#ffb25b);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:14px;font-weight:800;flex-shrink:0}.garage-existing-driver-text{display:flex;flex-direction:column;gap:2px;min-width:0}.garage-existing-driver-text strong{color:#1a1a1a;font-size:14px}.garage-existing-driver-text span,.garage-existing-driver-text small{color:#777;font-size:12px;line-height:1.35}.garage-form-helper-card-text{display:flex;flex-direction:column;gap:2px;min-width:0}.garage-form-helper-card-text strong{color:#1a1a1a;font-size:14px}.garage-form-helper-card-text span{color:#ff7a00;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.05em}.garage-form-helper-card-text small{color:#777;font-size:12px;line-height:1.4}.garage-status-selector{display:flex;gap:8px;flex-wrap:wrap}.garage-status-option{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border:1.5px solid #e0e3e8;border-radius:9px;background:#fafafa;color:#555;font-size:13px;font-weight:500;cursor:pointer;font-family:inherit;transition:all .15s}.garage-status-option:hover{background:#f0f2f5}.garage-status-option.selected{font-weight:700}.garage-status-option.current-status{opacity:.7}.garage-status-current-tag{font-size:9px;font-weight:600;background:#00000014;border-radius:4px;padding:1px 5px;text-transform:uppercase;letter-spacing:.04em}.garage-form-actions{display:flex;justify-content:flex-end;gap:10px;padding-top:4px}.garage-btn-cancel{padding:9px 18px;border:1.5px solid #e0e3e8;border-radius:9px;background:transparent;color:#555;font-size:13px;font-weight:500;cursor:pointer;font-family:inherit;transition:background .14s}.garage-btn-cancel:hover{background:#f4f5f7}.garage-btn-submit{display:inline-flex;align-items:center;gap:6px;padding:9px 20px;background:#ff7a00;border:none;border-radius:9px;color:#fff;font-size:13px;font-weight:600;cursor:pointer;font-family:inherit;transition:background .18s}.garage-btn-submit:hover{background:#e96b00}.garage-btn-submit-danger{background:#d94343}.garage-btn-submit-danger:hover{background:#bf3636}.garage-modal-danger .garage-modal-header h3 i{color:#d94343}.garage-confirmation-body{gap:10px}.garage-confirmation-text,.garage-confirmation-subtext{margin:0}.garage-confirmation-text{font-size:15px;font-weight:700;color:#1a1a1a}.garage-confirmation-subtext{font-size:13px;line-height:1.5;color:#666}.garage-overlap-summary{display:flex;flex-direction:column;gap:8px;padding:12px 14px;border:1px solid #ece7e1;border-radius:12px;background:#fffaf6}.garage-overlap-summary strong{color:#2b2b2b;font-size:13px}.garage-overlap-summary ul{margin:0;padding-left:18px;color:#5f6672;font-size:13px;line-height:1.5}.garage-loading{display:flex;align-items:center;justify-content:center;gap:10px;flex:1;font-size:15px;color:#888;padding:48px 0}.garage-loading i{font-size:20px;color:#ff7a00}.garage-error-banner{display:flex;align-items:center;gap:10px;background:#fff0f0;border:1px solid #fcbcbc;border-radius:8px;padding:10px 14px;font-size:13.5px;color:#c0392b;margin:0 0 12px;flex-shrink:0}.garage-error-banner i{flex-shrink:0}.garage-error-dismiss{margin-left:auto;background:transparent;border:none;cursor:pointer;color:#c0392b;padding:2px 4px;border-radius:4px;line-height:1}.garage-error-dismiss:hover{background:#fde8e8}@media (max-width: 768px){.garage-wrapper{min-height:0}.garage-main{padding:12px 12px calc(84px + env(safe-area-inset-bottom))}.garage-fleet{flex:none;height:auto;overflow:visible;width:100%}.garage-fleet-toolbar{flex-direction:column;align-items:stretch;justify-content:flex-start;gap:12px;width:100%;box-sizing:border-box}.garage-fleet-stats-group{flex-direction:column;gap:10px;width:100%;min-width:0}.garage-fleet-stats{width:100%;box-sizing:border-box;min-width:0;padding:14px 16px;border-radius:12px}.garage-fleet-stats-body{flex-direction:column;align-items:flex-start;gap:10px}.garage-fleet-stats-number{font-size:24px}.garage-fleet-stats-item{font-size:11px}.garage-fleet-actions,.garage-fleet-actions .garage-action-btn{width:100%}.garage-action-btn{width:100%;min-height:46px;padding:12px 16px;font-size:13px;justify-content:center}.garage-modal-overlay{align-items:flex-end;padding:12px 12px calc(12px + env(safe-area-inset-bottom))}.garage-modal{max-width:none;max-height:calc(100dvh - 24px - env(safe-area-inset-bottom));border-radius:18px 18px 12px 12px}.garage-modal-header{padding:16px 16px 12px}.garage-modal-form{padding:16px;gap:14px;max-height:calc(100dvh - 132px - env(safe-area-inset-bottom));overflow-y:auto}.garage-form-row{grid-template-columns:1fr}}.trip-map-panel-overlay{position:absolute;top:14px;left:14px;z-index:800;width:260px;max-height:calc(100% - 28px);display:flex;flex-direction:column;background:#fffffff7;border-radius:14px;box-shadow:0 6px 24px #0000002e;border:1px solid rgba(0,0,0,.08);overflow:hidden}.tmp-header{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border-bottom:1px solid #ebebeb;gap:8px;flex-shrink:0;background:#fff}.tmp-header-left{display:flex;align-items:center;gap:7px;min-width:0;flex:1}.tmp-header-left>i{color:#ff7a00;font-size:14px;flex-shrink:0}.tmp-title{font-size:13px;font-weight:700;color:#222;white-space:nowrap}.tmp-scooter-name{font-size:12px;font-weight:600;color:#555;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tmp-scooter-select{border:1px solid #d0d0d0;background:#fafafa;color:#222;border-radius:7px;padding:3px 7px;font-size:11px;font-weight:600;cursor:pointer;outline:none;max-width:130px;transition:border-color .15s}.tmp-scooter-select:focus{border-color:#ff7a00}.tmp-collapse-btn{display:none;background:#f0f0f0;border:none;border-radius:7px;width:28px;height:28px;align-items:center;justify-content:center;cursor:pointer;font-size:11px;color:#555;flex-shrink:0;transition:background .15s,color .15s}.tmp-collapse-btn:hover{background:#ddd;color:#222}.trip-map-panel-overlay.tmp-collapsed{max-height:none;overflow:hidden;border-radius:14px}.trip-map-panel-overlay.tmp-collapsed .tmp-header{border-bottom:none;border-radius:14px}.tmp-close-btn{background:#f0f0f0;border:none;border-radius:7px;width:28px;height:28px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:13px;color:#555;flex-shrink:0;transition:background .15s,color .15s}.tmp-close-btn:hover{background:#ff7a00;color:#fff}.tmp-nav-bar{display:flex;align-items:center;justify-content:space-between;padding:6px 10px;border-bottom:1px solid #ebebeb;gap:6px;flex-shrink:0;background:#fafafa}.tmp-header-count{display:none;font-size:12px;font-weight:700;color:#ff7a00;white-space:nowrap;flex-shrink:0}.tmp-nav-btn{background:#111;color:#fff;border:none;border-radius:6px;width:26px;height:26px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:11px;transition:background .15s}.tmp-nav-btn:hover:not(:disabled){background:#444}.tmp-nav-btn:disabled{background:#ccc;cursor:not-allowed}.tmp-nav-count{font-size:12px;font-weight:700;color:#ff7a00}.tmp-list{flex:1;overflow-y:auto;padding:6px;display:flex;flex-direction:column;gap:4px}.tmp-status{padding:16px 10px;text-align:center;color:#888;font-size:12px;display:flex;align-items:center;justify-content:center;gap:6px}.tmp-error{color:#c33}.tmp-trip-item{position:relative;background:#fff;border:1px solid #e8e8e8;border-radius:9px;padding:8px 10px;text-align:left;cursor:pointer;width:100%;transition:border-color .15s,box-shadow .15s,background .15s}.tmp-trip-item:hover{border-color:#ff7a00;box-shadow:0 0 0 2px #ff7a001f}.tmp-trip-item.active{border-color:#ff7a00;background:#fff4eb;box-shadow:0 0 0 2px #ff7a002e}.tmp-trip-item.loading{opacity:.7;pointer-events:none}.tmp-trip-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}.tmp-trip-date{font-size:12px;font-weight:700;color:#222}.tmp-trip-time{font-size:10px;font-weight:600;color:#fff;background:#133656;border-radius:6px;padding:1px 6px}.tmp-trip-meta{display:flex;gap:8px;font-size:11px;color:#666}.tmp-trip-meta i{color:#ff7a00;margin-right:2px}.tmp-trip-meta span:last-child i{color:#4a7fc1}.tmp-trip-spinner{position:absolute;top:8px;right:10px;color:#ff7a00;font-size:12px}@media (max-width: 768px){.trip-map-panel-overlay{top:auto;bottom:calc(200px + env(safe-area-inset-bottom,0px));left:8px;right:8px;width:auto;max-height:40vh}.tmp-collapse-btn{display:flex}.tmp-nav-bar{display:none}.tmp-header-count{display:block}.trip-map-panel-overlay.tmp-data-open{bottom:calc(22% + 200px + env(safe-area-inset-bottom,0px));max-height:calc(78% - 214px - env(safe-area-inset-bottom,0px))}}.lock-progress-bar{background:#fff;border:1px solid #ddd;border-radius:10px;padding:12px 16px;box-shadow:0 4px 20px #00000026;z-index:1350;min-width:300px;max-width:360px;width:100%;box-sizing:border-box;align-self:flex-end}.lock-progress-bar.lock-progress-bar--hidden{display:none!important;visibility:hidden!important}.lock-progress-chip{position:fixed;top:64px;right:14px;z-index:1400;display:flex;align-items:center;gap:8px;padding:8px 14px;background:#fff;border:1px solid #ddd;border-radius:999px;box-shadow:0 2px 10px #00000026;font-size:13px;font-weight:600;color:#333;cursor:pointer;transition:box-shadow .2s ease,background .2s ease;white-space:nowrap}.lock-progress-chip:hover{box-shadow:0 4px 14px #0003}.lock-progress-chip i{font-size:11px;color:#888}.lock-progress-chip-spinner{width:14px;height:14px;border:2px solid #f3f3f3;border-top:2px solid #2196f3;border-radius:50%;animation:spin 1s linear infinite;flex-shrink:0}.progress-header{display:flex;align-items:center;justify-content:center;margin-bottom:10px;position:relative}.progress-collapse-btn{position:absolute;right:0;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;font-size:10px;color:#bbb;line-height:1;padding:2px 6px;border-radius:4px;transition:color .15s,background .15s}.progress-collapse-btn:hover{color:#333;background:#f0f0f0}.progress-header h4{margin:0;color:#333;font-weight:600;font-size:13px}.progress-steps{display:flex;align-items:center;justify-content:space-between;position:relative}.progress-step{display:flex;flex-direction:column;align-items:center;text-align:center;flex:1;position:relative}.step-circle{width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;border:2px solid #ddd;background:#fff;font-weight:700;margin-bottom:6px;position:relative;z-index:2}.progress-step.completed .step-circle{background:#4caf50!important;border-color:#4caf50!important;color:#fff}.progress-step.failed .step-circle{background:#fff!important;border-color:#f44336!important}.progress-step.active .step-circle{border-color:#2196f3;color:#2196f3;animation:pulse 1.5s infinite}.check-icon,.error-icon{font-size:14px;font-weight:700}.check-icon{color:#fff!important}.error-icon{color:#f44336!important;font-size:15px}.spinner{width:14px;height:14px;border:2px solid #f3f3f3;border-top:2px solid #2196f3;border-radius:50%;animation:spin 1s linear infinite}.step-number{font-size:13px;font-weight:700}.step-label{display:flex;flex-direction:column;gap:4px}.step-title{font-weight:600;color:#333;font-size:12px}.step-message{font-size:11px;color:#666}.progress-line{position:absolute;top:17px;left:40px;right:40px;height:2px;background:#ddd;z-index:1}.steps-2 .progress-line{left:90px;right:90px}.progress-line.completed{background:#4caf50}.progress-step:last-child .progress-line{display:none}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes pulse{0%{box-shadow:0 0 #2196f3b3}70%{box-shadow:0 0 0 10px #2196f300}to{box-shadow:0 0 #2196f300}}@media (max-width: 768px){.lock-progress-chip{position:fixed;top:auto;bottom:calc(66px + env(safe-area-inset-bottom,0px));right:10px;z-index:950;font-size:12px;height:34px;padding:0 12px;display:flex;align-items:center;gap:8px;max-width:calc(100vw - 24px)}.lock-progress-chip span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:180px}.lock-progress-chip i{display:none}.lock-progress-bar,.lock-progress-bar.lock-progress-bar--hidden{display:none!important}.progress-header{margin-bottom:10px}.progress-header h4{font-size:16px;margin-bottom:15px}.progress-steps{flex-direction:row;gap:8px;align-items:center;justify-content:space-between;flex:1 1 auto;overflow-x:auto;overflow-y:visible;width:90%;margin-left:5%}.progress-step{flex-direction:column;align-items:center;justify-content:flex-start;text-align:center;gap:0;padding:0;background:none;border-radius:0}.step-circle{width:35px;height:35px;margin-bottom:0;flex-shrink:0;border-width:2px}.step-label{margin-top:9px;flex:1;align-items:flex-start}.step-title{font-size:13px;font-weight:600}.step-message{font-size:11px;margin-top:2px}.spinner{width:16px;height:16px;border-width:2px}.check-icon,.error-icon{font-size:16px}.step-number{font-size:14px}.progress-line{display:none}}body,html{margin:0;padding:0;height:100%;font-family:Inter,sans-serif}.login-page{display:flex;height:100vh}.login-left{flex:1;background:linear-gradient(to bottom right,#ff7a00,#ffb978);color:#fff;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:40px;text-align:center}.login-left h1{font-size:50px;margin-bottom:10px;margin-top:-120px}.login-left p{font-size:18px;opacity:.9}.login-right{flex:1;display:flex;justify-content:center;align-items:center;background:#fff}.login-box{width:100%;max-width:320px;text-align:center}.login-box h2{font-size:25px;margin-bottom:25px;color:#ff7a00;font-weight:600}.input-wrapper{display:flex;align-items:center;background-color:#f2f2fc;padding:10px;margin-bottom:15px;border-radius:20px;border:1px solid #ddd}.input-wrapper i{margin-right:10px;color:#888}.input-wrapper input{border:none;background:transparent;outline:none;width:100%;font-size:14px;color:#333}.login-options{display:flex;justify-content:space-between;align-items:center;font-size:13px;margin-bottom:15px;color:#777}.login-options input{margin-right:5px}.login-options a{text-decoration:none;color:#5f5fce}.login-error{color:red;font-size:13px;margin-bottom:10px}.login-btn{width:100%;padding:12px;border:none;color:#fff;border-radius:20px;cursor:pointer;font-weight:700;background:linear-gradient(to right,#ff7a00,#ffb978);font-size:14px;transition:.3s}.login-btn:hover{opacity:.9}@media (max-width: 768px){.login-page{flex-direction:column}.login-left,.login-right{flex:none;width:100%}.login-left{padding:20px;justify-content:flex-end;height:25vh;box-sizing:border-box;overflow:hidden}.login-left h1{font-size:36px;margin-top:0}.login-left p{font-size:14px}.login-box{padding:0 20px}.login-box h2{font-size:22px}.input-wrapper{padding:8px}.input-wrapper input{font-size:13px}.login-options{flex-direction:column;align-items:flex-start;gap:6px}.login-btn{font-size:13px;padding:10px}}
