.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{color-scheme:dark;--bg: #020617;--panel: rgba(15, 23, 42, .92);--panel-2: rgba(30, 41, 59, .82);--text: #e2e8f0;--muted: #94a3b8;--line: rgba(148, 163, 184, .18);--green: #22c55e;--red: #ef4444;--yellow: #eab308;--blue: #38bdf8;--shadow: 0 22px 70px rgba(0, 0, 0, .28);--accent-primary: #22c55e;--accent-secondary: #38bdf8;--surface-color: #0f172a;--text-color: #e2e8f0;font-size:16px}*{box-sizing:border-box}html,body,#root{width:100%;height:100%;min-height:100%;margin:0;overflow:hidden}body{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:16px;line-height:1.55;background:radial-gradient(circle at top left,color-mix(in srgb,var(--accent-primary) 18%,transparent),transparent 32%),radial-gradient(circle at bottom right,color-mix(in srgb,var(--accent-secondary) 16%,transparent),transparent 28%),var(--bg);color:var(--text);overscroll-behavior:none;touch-action:manipulation}button,input,select,textarea{font:inherit}input,select,textarea{font-size:16px}button{cursor:pointer}a{color:inherit}strong,b{font-weight:800;font-size:1.03em}h1,h2,h3,h4,h5,h6{font-weight:700;letter-spacing:-.01em}.app-shell{min-height:100vh;height:100dvh;display:grid;grid-template-columns:304px minmax(0,1fr);overflow:hidden;position:relative}.sidebar{border-right:1px solid var(--line);background:color-mix(in srgb,var(--surface-color) 92%,black 8%);backdrop-filter:blur(18px);padding:20px 18px;position:sticky;top:0;height:100vh;overflow:auto}.brand{display:flex;gap:12px;align-items:center;margin-bottom:20px}.logo{width:48px;height:48px;border-radius:17px;display:grid;place-items:center;background:linear-gradient(135deg,#22c55e,#0ea5e9);font-weight:900;color:#fff;box-shadow:0 14px 44px #22c55e3d}.brand h1{margin:0;font-size:19px;letter-spacing:.04em}.brand span{color:var(--muted);font-size:12px}.nav{display:grid;gap:8px;overflow:auto;overflow-x:hidden;padding-right:4px;scrollbar-gutter:stable}.nav button,.ghost-btn,.primary-btn,.danger-btn{border:1px solid var(--line);border-radius:16px;background:#0f172ab8;color:var(--text);padding:12px 14px;min-height:46px;display:inline-flex;align-items:center;justify-content:center;gap:10px;font-size:.95rem;font-weight:600;transition:transform .15s ease,border-color .15s ease,background .15s ease}.nav button{justify-content:flex-start;white-space:normal;line-height:1.2;font-size:.98rem}.nav button:hover,.ghost-btn:hover,.primary-btn:hover,.danger-btn:hover{transform:translateY(-1px);border-color:#22c55e7a}.nav button.active{background:color-mix(in srgb,var(--accent-primary) 18%,transparent);border-color:color-mix(in srgb,var(--accent-primary) 55%,transparent)}.primary-btn{background:linear-gradient(135deg,var(--accent-primary),var(--accent-secondary));border:0;color:#fff;font-weight:800}.danger-btn{background:#ef44441f;border-color:#ef444457;color:#fecaca}.main{padding:20px 20px 24px;min-width:0;height:100%;overflow:hidden}.workspace-main{overflow:auto;overscroll-behavior:contain}.topbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px;margin-bottom:18px}.topbar h2{margin:0;font-size:clamp(1.28rem,2vw,1.8rem);line-height:1.15}.topbar p{margin:4px 0 0;color:var(--muted);font-size:1rem}.actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px}input,select,textarea{border:1px solid var(--line);background:#0f172ab8;color:var(--text);border-radius:14px;padding:11px 12px;outline:none;min-width:0}textarea{min-height:94px;resize:vertical;width:100%}input:focus,select:focus,textarea:focus{border-color:#22c55e8c}.card-grid{display:grid;grid-template-columns:repeat(4,minmax(165px,1fr));gap:14px;margin-bottom:16px}.card,.panel{border:1px solid var(--line);border-radius:24px;background:var(--panel);box-shadow:var(--shadow)}.card{padding:16px;min-height:112px}.card small,.muted{color:var(--muted)}.card strong{display:block;margin-top:8px;font-size:clamp(1.35rem,2.2vw,1.8rem)}.layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(330px,.65fr);gap:16px}.panel{padding:16px;min-width:0}.panel h3{margin:0 0 12px;font-size:1.05rem}.map-wrap{height:calc(100vh - 260px);min-height:480px;border-radius:22px;overflow:hidden;border:1px solid var(--line);background:#0f172a}.leaflet-container{width:100%;height:100%;background:#0f172a}.leaflet-popup-content-wrapper,.leaflet-popup-tip{background:#0f172af5;color:var(--text);border:1px solid var(--line)}.leaflet-popup-content{margin:12px}.vehicle-icon{position:relative;width:52px;height:52px;transform-origin:center center;filter:drop-shadow(0 10px 10px rgba(0,0,0,.46))}.vehicle-icon img{width:46px;height:46px;object-fit:contain;display:block;margin:3px}.status-dot{width:11px;height:11px;border-radius:50%;display:inline-block;background:var(--muted)}.status-online{background:var(--green)}.status-offline{background:var(--red)}.status-unknown{background:var(--yellow)}.list{display:grid;gap:10px;max-height:calc(100vh - 356px);overflow:auto;padding-right:4px}.row{border:1px solid var(--line);border-radius:18px;padding:12px;background:#0f172a94;display:grid;gap:5px}.row-head{display:flex;justify-content:space-between;gap:8px;align-items:center}.row b{overflow-wrap:anywhere}.row small{color:var(--muted)}.badge{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);border-radius:999px;padding:5px 9px;color:var(--muted);font-size:12px;white-space:nowrap}.badge.good{color:#bbf7d0;border-color:#22c55e6b}.badge.bad{color:#fecaca;border-color:#ef444470}.badge.warn{color:#fef3c7;border-color:#eab30873}.badge.info{color:#bae6fd;border-color:#38bdf86b}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse}th,td{border-bottom:1px solid var(--line);text-align:left;padding:11px;vertical-align:top}th{color:var(--muted);font-weight:650}td{color:var(--text)}.error-box,.success-box,.warn-box{border-radius:18px;padding:12px;margin-bottom:14px}.error-box{border:1px solid rgba(239,68,68,.35);background:#ef44441a;color:#fecaca}.success-box{border:1px solid rgba(34,197,94,.35);background:#22c55e1a;color:#bbf7d0}.warn-box{border:1px solid rgba(234,179,8,.35);background:#eab3081a;color:#fef3c7}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(180px,1fr));gap:12px}.form-grid .full{grid-column:1 / -1}.kv{display:grid;grid-template-columns:190px minmax(0,1fr);gap:8px;padding:8px 0;border-bottom:1px solid var(--line)}.kv span:first-child{color:var(--muted)}.mini-grid{display:grid;grid-template-columns:repeat(2,minmax(130px,1fr));gap:10px}@media(max-width:1180px){.app-shell{grid-template-columns:1fr}.sidebar{position:static;height:auto}.layout{grid-template-columns:1fr}.card-grid{grid-template-columns:repeat(2,minmax(160px,1fr))}.map-wrap{height:540px}.list{max-height:520px}}@media(max-width:760px){.main,.sidebar{padding:14px}.card-grid,.form-grid,.mini-grid,.kv{grid-template-columns:1fr}.topbar{align-items:stretch}.topbar .actions,.actions{width:100%}.actions input,.actions select,.actions button{flex:1}.panel{padding:14px;border-radius:18px}.nav button,.ghost-btn,.primary-btn,.danger-btn{min-height:48px}.login-shell{padding:16px}.login-card{padding:20px;border-radius:24px}}.login-shell{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at top left,rgba(34,197,94,.22),transparent 34%),radial-gradient(circle at bottom right,rgba(14,165,233,.18),transparent 32%),var(--bg);background-size:cover;background-position:center;transition:background .3s ease}.login-card{width:min(100%,460px);border:1px solid var(--line);border-radius:30px;background:#0f172af0;box-shadow:var(--shadow);padding:26px}.login-card.compact{width:min(100%,390px)}.login-brand{display:flex;align-items:center;gap:14px;margin-bottom:22px}.login-brand h1{margin:0;font-size:24px;letter-spacing:.04em}.login-brand p{margin:4px 0 0;color:var(--muted)}.login-form{display:grid;gap:14px}.login-form label{display:grid;gap:7px}.login-submit{width:100%;min-height:48px;margin-top:4px}.login-security{display:flex;gap:9px;align-items:flex-start;color:var(--muted);font-size:12px;line-height:1.45;border-top:1px solid var(--line);margin-top:18px;padding-top:14px}:root{--glass: rgba(2, 6, 23, .72);--glass-strong: rgba(2, 6, 23, .88);--accent-moving: #22c55e;--accent-stopped: #ef4444;--accent-idle: #38bdf8;--accent-unknown: #eab308}body{background:radial-gradient(circle at 12% 8%,rgba(56,189,248,.2),transparent 34%),radial-gradient(circle at 78% 18%,rgba(34,197,94,.16),transparent 30%),radial-gradient(circle at 50% 100%,#0f172af5,#020617)}.main{padding:18px}.modern-card-grid{grid-template-columns:repeat(4,minmax(150px,1fr));margin-bottom:14px}.modern-card-grid .card{min-height:96px;border-radius:22px;background:linear-gradient(145deg,#0f172ad1,#0206179e);backdrop-filter:blur(18px)}.map-dashboard-layout{display:block;position:relative;min-height:calc(100vh - 198px)}.map-stage-panel{position:relative;padding:0;overflow:hidden;min-height:calc(100vh - 198px);border-radius:30px;background:#020617}.map-toolbar{position:absolute;left:18px;top:18px;right:420px;z-index:700;display:flex;justify-content:space-between;align-items:center;gap:12px;pointer-events:none}.map-toolbar>*{pointer-events:auto}.full-background-map,.map-stage-panel .map-wrap{height:calc(100vh - 198px);min-height:620px;border:0;border-radius:30px}.full-background-map .leaflet-container{filter:saturate(1.08) contrast(1.04)}.fleet-overlay-panel{position:absolute;right:18px;top:18px;z-index:650;max-height:calc(100vh - 36px);width:min(400px,calc(100% - 36px));padding:16px;background:linear-gradient(145deg,#020617e0,#0f172abd);border:1px solid rgba(148,163,184,.22);box-shadow:0 26px 90px #0000006b;backdrop-filter:blur(20px);overflow:hidden}.fleet-overlay-panel .list{max-height:calc(100vh - 340px)}.fleet-overlay-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px;cursor:grab;user-select:none}.fleet-overlay-header:active{cursor:grabbing}.fleet-search-actions{margin-bottom:10px}.movement-legend{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0 12px;color:var(--muted);font-size:12px}.movement-legend span{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);border-radius:999px;padding:5px 8px;background:#0f172a94}.legend-dot{width:10px;height:10px;border-radius:99px;display:inline-block}.legend-dot.moving{background:var(--accent-moving)}.legend-dot.stopped{background:var(--accent-stopped)}.legend-dot.idle{background:var(--accent-idle)}.modern-vehicle-marker{--vehicle-accent: var(--accent-unknown);width:64px;height:64px;position:relative;display:grid;place-items:center;filter:drop-shadow(0 20px 18px rgba(0,0,0,.48))}.modern-vehicle-marker.movement-moving{--vehicle-accent: var(--accent-moving)}.modern-vehicle-marker.movement-stopped{--vehicle-accent: var(--accent-stopped)}.modern-vehicle-marker.movement-idle{--vehicle-accent: var(--accent-idle)}.modern-vehicle-marker.movement-no-position{--vehicle-accent: var(--accent-unknown)}.vehicle-icon-ring{position:absolute;inset:6px;border-radius:999px;background:radial-gradient(circle,rgba(255,255,255,.96) 0 34%,rgba(255,255,255,.78) 35% 51%,transparent 52%),radial-gradient(circle,var(--vehicle-accent),transparent 62%);border:3px solid var(--vehicle-accent);box-shadow:0 0 0 7px color-mix(in srgb,var(--vehicle-accent) 20%,transparent),0 0 28px color-mix(in srgb,var(--vehicle-accent) 48%,transparent)}.vehicle-icon-img{position:relative;z-index:2;width:46px!important;height:46px!important;object-fit:contain;display:block;margin:0!important;transform-origin:center center}.vehicle-icon-status{position:absolute;right:7px;bottom:8px;z-index:3;width:14px;height:14px;border-radius:50%;background:var(--vehicle-accent);border:3px solid #020617;box-shadow:0 0 16px color-mix(in srgb,var(--vehicle-accent) 72%,transparent)}.vehicle-svg-marker.position-untrusted .vehicle-image-core{outline:3px dashed #f59e0b;outline-offset:3px}.vehicle-svg-marker.position-untrusted .vehicle-svg-status{background:#f59e0b}.position-quality-warning{display:flex;align-items:center;gap:7px;margin:0 0 10px;padding:8px 10px;border:1px solid rgba(245,158,11,.45);border-radius:6px;color:#fef3c7;background:#78350f47;font-size:12px;line-height:1.35}.leaflet-popup-content-wrapper,.leaflet-popup-tip{background:#020617f0!important;border:1px solid rgba(148,163,184,.22)!important;box-shadow:0 22px 70px #00000080!important;backdrop-filter:blur(18px)}.leaflet-popup-content{margin:0!important}.vehicle-popup{min-width:330px;max-width:360px;padding:14px;color:var(--text)}.vehicle-popup-header{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:12px}.vehicle-popup-header b{display:block;font-size:16px;letter-spacing:.01em}.vehicle-popup-header small{display:block;color:var(--muted);margin-top:3px}.popup-speed-row{display:grid;grid-template-columns:112px minmax(0,1fr);gap:10px;align-items:stretch;margin-bottom:10px}.speedometer{min-height:112px;border-radius:28px;display:grid;place-items:center;align-content:center;gap:2px;background:radial-gradient(circle at 50% 45%,rgba(56,189,248,.24),transparent 54%),linear-gradient(145deg,#0f172ae0,#020617db);border:1px solid rgba(56,189,248,.32)}.speedometer strong{font-size:34px;line-height:1}.speedometer small{color:var(--muted);font-size:12px}.popup-status-stack{display:grid;gap:8px}.telemetry-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.telemetry-tile{min-height:58px;display:flex;gap:9px;align-items:center;border-radius:18px;padding:9px;border:1px solid rgba(148,163,184,.18);background:#0f172aa8}.telemetry-tile small{display:block;color:var(--muted);font-size:11px}.telemetry-tile b{display:block;margin-top:1px;font-size:13px}.telemetry-icon{width:30px;height:30px;border-radius:12px;display:grid;place-items:center;background:#94a3b81f}.telemetry-tile.good{border-color:#22c55e52;color:#bbf7d0}.telemetry-tile.bad{border-color:#ef44445c;color:#fecaca}.telemetry-tile.info{border-color:#38bdf852;color:#bae6fd}.telemetry-tile.warn{border-color:#eab30857;color:#fef3c7}.idle-alert{margin-top:10px;border-radius:18px;padding:10px;display:flex;align-items:center;gap:8px;color:#bae6fd;background:#38bdf81f;border:1px solid rgba(56,189,248,.3);font-size:12px}.popup-footer{border-top:1px solid rgba(148,163,184,.16);margin-top:10px;padding-top:8px}.popup-mini-line{display:flex;gap:8px;align-items:center;margin-top:6px;color:var(--muted)}@media(max-width:1100px){.map-toolbar{right:18px;flex-wrap:wrap}.fleet-overlay-panel{position:relative;right:auto;top:auto;bottom:auto;width:100%;margin:12px;max-width:calc(100% - 24px)}.map-stage-panel{min-height:auto}.full-background-map,.map-stage-panel .map-wrap{height:68vh;min-height:460px}}@media(max-width:760px){.modern-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.popup-speed-row,.telemetry-grid{grid-template-columns:1fr}.vehicle-popup{min-width:280px}}.app-shell{transition:grid-template-columns .22s ease}.app-shell.sidebar-hidden{grid-template-columns:minmax(0,1fr)}.sidebar{display:flex;flex-direction:column;align-items:stretch;gap:0;overflow:hidden}.sidebar .brand{align-items:center}.sidebar .brand>div:last-child{min-width:0}.sidebar .brand h1,.sidebar .brand span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nav button{width:100%;min-height:46px;justify-content:flex-start;text-align:left}.sidebar-control-btn{white-space:nowrap}.app-shell.sidebar-hidden .main{padding-right:88px}.floating-icon-rail{position:fixed;top:18px;right:18px;z-index:1200;display:grid;grid-template-columns:48px;gap:9px;padding:10px;border:1px solid rgba(148,163,184,.24);border-radius:24px;background:#020617d1;box-shadow:0 22px 70px #0000006b;backdrop-filter:blur(18px)}.floating-icon-rail button,.map-side-icon-column button,.icon-only-btn{width:46px;height:46px;border:1px solid rgba(148,163,184,.24);border-radius:16px;display:grid;place-items:center;color:var(--text);background:#0f172ac7;transition:transform .15s ease,border-color .15s ease,background .15s ease}.floating-icon-rail button:hover,.map-side-icon-column button:hover,.icon-only-btn:hover{transform:translateY(-1px);border-color:#22c55e8c;background:#22c55e21}.floating-icon-rail button.active{color:#bbf7d0;border-color:#22c55ea6;background:#22c55e2e}.floating-icon-rail button.danger{color:#fecaca;border-color:#ef44445c;background:#ef44441f}.floating-icon-rail .rail-toggle{color:#bae6fd;font-size:20px;font-weight:900}.fleet-overlay-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.fleet-overlay-header h3{margin:0}.icon-only-btn{width:38px;height:38px;border-radius:14px;font-size:24px;line-height:1}.fleet-overlay-panel.is-hidden{display:none}.map-side-icon-column{position:absolute;top:90px;right:18px;z-index:720;display:grid;grid-template-columns:48px;gap:9px;padding:10px;border:1px solid rgba(148,163,184,.22);border-radius:22px;background:#020617b8;box-shadow:0 18px 60px #00000061;backdrop-filter:blur(18px)}@media(max-width:1180px){.app-shell.sidebar-hidden .main{padding-right:18px}.floating-icon-rail{top:14px;right:14px;grid-template-columns:repeat(2,44px)}.floating-icon-rail button{width:44px;height:44px}}@media(max-width:760px){.app-shell.sidebar-hidden .main{padding-right:14px;padding-top:92px}.floating-icon-rail{left:14px;right:14px;top:12px;grid-template-columns:repeat(auto-fit,minmax(42px,1fr))}.floating-icon-rail button{width:100%;min-width:42px}.map-side-icon-column{top:76px;right:12px}}.dashboard-compact-grid{grid-template-columns:repeat(4,minmax(126px,1fr))!important;gap:9px!important;margin-bottom:8px!important}.dashboard-compact-grid .card{min-height:70px!important;padding:10px 12px!important;border-radius:18px!important}.dashboard-compact-grid .card strong{margin-top:2px!important;font-size:20px!important;line-height:1.05!important}.dashboard-compact-grid .card small{font-size:11px!important;line-height:1.2!important}.dashboard-compact-grid .card svg{width:18px;height:18px}.map-dashboard-layout,.map-stage-panel{min-height:calc(100vh - 154px)!important}.full-background-map,.map-stage-panel .map-wrap{height:calc(100vh - 154px)!important;min-height:680px!important}.topbar{margin-bottom:10px!important}.topbar h2{font-size:22px!important}.topbar p{font-size:13px!important}.reports-panel{display:grid;gap:14px}.reports-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.reports-header h3{margin:0 0 4px}.reports-header p{margin:0;color:var(--muted);font-size:13px}.reports-controls{display:grid;grid-template-columns:minmax(220px,1.2fr) minmax(150px,.75fr) repeat(3,minmax(165px,.8fr));gap:10px;align-items:end}.reports-controls label{display:grid;gap:6px}.reports-controls small{color:var(--muted)}.reports-controls select,.reports-controls input{width:100%}.reports-actions{display:flex;grid-column:1 / -1;gap:9px;align-items:center;flex-wrap:wrap}.report-column-selector{min-width:0;margin:0;padding:14px;border:1px solid var(--line);border-radius:16px;background:color-mix(in srgb,var(--panel-2) 64%,transparent)}.report-column-selector legend{padding:0 7px;color:var(--text);font-size:.82rem;font-weight:750}.report-column-selector>div{display:flex;flex-wrap:wrap;gap:8px}.report-column-selector label{display:inline-flex;align-items:center;gap:7px;min-height:34px;padding:7px 10px;border:1px solid var(--line);border-radius:10px;background:var(--panel);font-size:.79rem;cursor:pointer}.report-column-selector input{accent-color:var(--green)}.report-column-selector>small{display:block;margin-top:10px;color:var(--muted)}.reports-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(340px,.65fr);gap:14px;align-items:stretch}.report-map-wrap{min-height:510px;height:calc(100vh - 360px);border:1px solid var(--line);border-radius:24px;overflow:hidden;background:#0f172a}.report-map-wrap .leaflet-container{width:100%;height:100%}.reports-results{border:1px solid var(--line);border-radius:22px;padding:14px;background:#0f172a8f;min-width:0}.report-table{max-height:calc(100vh - 530px);min-height:260px;margin-top:10px}.report-table td,.report-table th{font-size:12px;padding:9px}.report-point-icon{width:36px;height:36px;border-radius:999px;display:grid;place-items:center;font-weight:900;color:#fff;border:3px solid rgba(255,255,255,.92);box-shadow:0 14px 28px #00000061;background:var(--blue)}.report-point-icon.good{background:var(--green)}.report-point-icon.bad{background:var(--red)}@media(max-width:1180px){.dashboard-compact-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.reports-controls,.reports-grid{grid-template-columns:1fr}.report-map-wrap{height:520px}.full-background-map,.map-stage-panel .map-wrap{min-height:560px!important}}@media(max-width:760px){.dashboard-compact-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.dashboard-compact-grid .card{min-height:64px!important;padding:9px!important}.reports-header,.reports-actions{display:grid}.reports-actions button{width:100%}.report-map-wrap{height:420px;min-height:420px}}.vehicle-svg-marker{--vehicle-accent: var(--accent-unknown, #eab308);position:relative;width:74px;height:74px;display:grid;place-items:center;filter:drop-shadow(0 18px 18px rgba(0,0,0,.46))}.vehicle-svg-marker.movement-moving{--vehicle-accent: var(--accent-moving, #22c55e)}.vehicle-svg-marker.movement-stopped{--vehicle-accent: var(--accent-stopped, #ef4444)}.vehicle-svg-marker.movement-idle{--vehicle-accent: var(--accent-idle, #38bdf8)}.vehicle-svg-marker.movement-no-position{--vehicle-accent: var(--accent-unknown, #eab308)}.vehicle-svg-pulse{position:absolute;inset:7px;border-radius:999px;background:radial-gradient(circle,color-mix(in srgb,var(--vehicle-accent) 30%,transparent),transparent 68%);box-shadow:0 0 0 7px color-mix(in srgb,var(--vehicle-accent) 17%,transparent)}.vehicle-svg-core{position:relative;z-index:2;width:68px;height:68px;transform-origin:35px 35px;overflow:visible}.vehicle-svg-halo{fill:#020617e0;stroke:var(--vehicle-accent);stroke-width:3.2;filter:drop-shadow(0 0 12px color-mix(in srgb,var(--vehicle-accent) 60%,transparent))}.vehicle-svg-heading{fill:var(--vehicle-accent);stroke:#ffffffdb;stroke-width:1.2}.vehicle-svg-fill{fill:color-mix(in srgb,var(--vehicle-accent) 78%,#ffffff 22%);stroke:#ffffffeb;stroke-width:2.1;stroke-linejoin:round}.vehicle-svg-stroke,.vehicle-svg-shadow{fill:none;stroke:#fffffff0;stroke-width:3.1;stroke-linecap:round;stroke-linejoin:round}.vehicle-svg-shadow{stroke:color-mix(in srgb,var(--vehicle-accent) 72%,#ffffff 28%)}.vehicle-svg-wheel{fill:#020617;stroke:#ffffffeb;stroke-width:2.1}.vehicle-svg-window{fill:#bae6fdeb;stroke:#0206178c;stroke-width:1.3}.vehicle-svg-bed{fill:#0206175c;stroke:#ffffff85;stroke-width:1.2}.vehicle-svg-eye{fill:#020617}.vehicle-svg-status{position:absolute;z-index:4;right:8px;bottom:10px;width:15px;height:15px;border-radius:999px;background:var(--vehicle-accent);border:3px solid #020617;box-shadow:0 0 16px color-mix(in srgb,var(--vehicle-accent) 72%,transparent)}.vehicle-svg-label{position:absolute;z-index:5;left:50%;bottom:-12px;transform:translate(-50%);max-width:88px;padding:2px 7px;border-radius:999px;background:#020617d1;border:1px solid rgba(148,163,184,.24);color:#e2e8f0;font-size:10px;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;backdrop-filter:blur(10px)}.report-route-line{stroke:#38bdf8;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 10px rgba(56,189,248,.56))}.report-point-icon{width:38px;height:38px;border-radius:999px;display:grid;place-items:center;font-weight:900;color:#fff;border:3px solid rgba(255,255,255,.94);box-shadow:0 14px 28px #00000061,0 0 18px #38bdf852;background:var(--blue, #38bdf8)}.report-point-icon.good{background:var(--green, #22c55e)}.report-point-icon.bad{background:var(--red, #ef4444)}.report-point-icon.info{background:var(--blue, #38bdf8)}.report-point-arrow{display:grid;place-items:center;transform-origin:center center;font-size:18px;line-height:1}.reports-actions .primary-btn:first-child{background:linear-gradient(135deg,#38bdf8f5,#22c55ef0)}.report-map-wrap{min-height:560px}@media(max-width:760px){.vehicle-svg-marker{width:66px;height:66px}.vehicle-svg-core{width:60px;height:60px}.vehicle-svg-label{display:none}}:root[data-theme=light]{color-scheme:light;--bg: #f8fafc;--panel: rgba(255, 255, 255, .94);--panel-2: rgba(241, 245, 249, .92);--text: #0f172a;--muted: #475569;--line: rgba(15, 23, 42, .14);--green: #16a34a;--red: #dc0012;--yellow: #ca8a04;--blue: #0284c7;--shadow: 0 20px 54px rgba(15, 23, 42, .12);--glass: rgba(255, 255, 255, .72);--glass-strong: rgba(255, 255, 255, .9);--accent-moving: #16a34a;--accent-stopped: #dc0012;--accent-idle: #0284c7;--accent-unknown: #ca8a04}:root[data-theme=light] body{background:radial-gradient(circle at 12% 8%,rgba(220,0,18,.1),transparent 32%),radial-gradient(circle at 78% 18%,rgba(2,132,199,.12),transparent 30%),linear-gradient(180deg,#fff,#f1f5f9);color:var(--text)}:root[data-theme=light] .sidebar,:root[data-theme=light] .login-card,:root[data-theme=light] .card,:root[data-theme=light] .panel,:root[data-theme=light] .row,:root[data-theme=light] .reports-results,:root[data-theme=light] .fleet-overlay-panel{background:#ffffffe0;color:var(--text)}:root[data-theme=light] input,:root[data-theme=light] select,:root[data-theme=light] textarea,:root[data-theme=light] .nav button,:root[data-theme=light] .ghost-btn{background:#ffffffdb;color:var(--text)}:root[data-theme=light] .leaflet-popup-content-wrapper,:root[data-theme=light] .leaflet-popup-tip{background:#fffffff5!important;color:var(--text)!important}.brand-company{display:grid;gap:9px;align-items:start;margin-bottom:18px}.brand-user{color:var(--muted);font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.brand-logo-block{display:grid;gap:7px;min-width:0}.brand-logo-mark{display:block;width:min(100%,238px);line-height:0}.login-card .brand-logo-mark{width:min(100%,310px);margin:0 auto}.brand-logo-img{width:100%;height:auto;display:block;object-fit:contain;filter:drop-shadow(0 14px 28px rgba(0,0,0,.22))}.logo-light-only{display:none}.logo-dark-only{display:block}:root[data-theme=light] .logo-light-only{display:block}:root[data-theme=light] .logo-dark-only{display:none}.brand-logo-text{display:grid;gap:2px}.brand-logo-text strong{color:var(--text-color);font-size:16px;letter-spacing:.055em;line-height:1.1}.brand-logo-text small{color:color-mix(in srgb,var(--text-color) 70%,var(--muted) 30%);font-size:12px}.login-brand{display:grid;gap:9px;justify-items:center;text-align:center}.login-brand-subtitle{margin:0;color:var(--muted)}.whatsapp-support{display:inline-flex;align-items:center;gap:10px;min-height:43px;border:1px solid rgba(34,197,94,.36);border-radius:16px;padding:9px 12px;color:#bbf7d0;background:#16a34a21;text-decoration:none;transition:transform .15s ease,border-color .15s ease,background .15s ease}.whatsapp-support:hover{transform:translateY(-1px);border-color:#22c55ead;background:#16a34a33}.whatsapp-support span{display:grid;gap:1px;line-height:1.12}.whatsapp-support b{font-size:12px}.whatsapp-support small{color:currentColor;opacity:.82;font-size:11px}.whatsapp-support.compact{min-height:40px;padding:8px 10px;border-radius:14px}.sidebar-support-row{margin-top:14px}.sidebar-support-row .whatsapp-support{width:100%}.login-support-row{margin-top:16px;display:grid;justify-items:center}:root[data-theme=light] .whatsapp-support{color:#166534;background:#16a34a1a;border-color:#16a34a4d}.theme-toggle-btn{white-space:nowrap}@media(max-width:760px){.brand-logo-mark{width:min(100%,210px)}.login-card .brand-logo-mark{width:min(100%,260px)}.whatsapp-support.compact span{display:none}}.brand-logo-text{display:grid;gap:2px;margin-top:4px}.brand-logo-block{justify-items:center}.brand-logo-block.compact{justify-items:start}.brand-logo-block.compact .brand-logo-mark{width:min(100%,214px)}.login-shell{min-height:100dvh;height:100dvh;overflow:hidden;padding:max(18px,env(safe-area-inset-top)) max(18px,env(safe-area-inset-right)) max(18px,env(safe-area-inset-bottom)) max(18px,env(safe-area-inset-left))}.login-card{max-height:calc(100dvh - max(36px,env(safe-area-inset-top) + env(safe-area-inset-bottom)));overflow:hidden}.map-app-shell{grid-template-columns:minmax(0,1fr);background:#020617}.map-app-shell .main,.map-app-shell.sidebar-hidden .main{padding:0}.map-app-shell .topbar{display:none}.dashboard-screen,.map-dashboard-layout,.map-stage-panel,.full-background-map,.map-stage-panel .map-wrap{width:100%;height:100dvh!important;min-height:0!important}.dashboard-screen{position:relative;overflow:hidden;background:#020617}.map-dashboard-layout{display:block;position:absolute;inset:0}.map-stage-panel{position:absolute;inset:0;padding:0;border:0;border-radius:0;box-shadow:none;overflow:hidden}.full-background-map,.map-stage-panel .map-wrap,.leaflet-container{border:0;border-radius:0}.map-app-shell .sidebar{position:fixed;z-index:1300;left:max(14px,env(safe-area-inset-left));top:max(14px,env(safe-area-inset-top));bottom:max(14px,env(safe-area-inset-bottom));width:min(292px,calc(100vw - 28px - env(safe-area-inset-left) - env(safe-area-inset-right)));height:auto;border:1px solid rgba(148,163,184,.24);border-radius:26px;background:linear-gradient(145deg,#020617e6,#0f172ac2);box-shadow:0 24px 82px #00000075;overflow:hidden}.map-app-shell .sidebar .nav,.map-app-shell .sidebar-toolbox{overflow:auto;overscroll-behavior:contain}.sidebar-toolbox{display:grid;gap:9px;margin-top:auto;padding-top:14px}.sidebar-toolbox button{width:100%;min-height:42px}.map-app-shell .brand-company{margin-bottom:14px}.map-app-shell .dashboard-compact-grid{position:fixed;z-index:760;left:calc(max(14px,env(safe-area-inset-left)) + 314px);bottom:max(18px,env(safe-area-inset-bottom));width:min(660px,calc(100vw - 760px));margin:0!important;pointer-events:none}.map-app-shell.sidebar-hidden .dashboard-compact-grid{left:max(18px,env(safe-area-inset-left));width:min(660px,calc(100vw - 470px))}.map-app-shell .dashboard-compact-grid .card{pointer-events:auto;backdrop-filter:blur(18px)}.map-app-shell .map-toolbar{position:fixed;z-index:760;left:calc(max(14px,env(safe-area-inset-left)) + 314px);top:max(18px,env(safe-area-inset-top));right:438px;pointer-events:none}.map-app-shell.sidebar-hidden .map-toolbar{left:max(18px,env(safe-area-inset-left))}.map-app-shell .map-toolbar>*{pointer-events:auto}.map-app-shell .fleet-overlay-panel{position:fixed;z-index:780;top:max(var(--fleet-top, 18px),env(safe-area-inset-top));right:max(var(--fleet-right, 18px),env(safe-area-inset-right));width:min(400px,calc(100vw - 36px));margin:0;max-width:none;overflow:hidden;border-radius:26px}.map-app-shell .fleet-overlay-panel .list{max-height:calc(100dvh - 272px - env(safe-area-inset-top) - env(safe-area-inset-bottom));overscroll-behavior:contain}.map-app-shell .map-side-icon-column{position:fixed;top:max(18px,env(safe-area-inset-top));right:max(18px,env(safe-area-inset-right));z-index:790}.map-app-shell .floating-icon-rail{z-index:1320}.map-app-shell .warn-box,.map-app-shell .error-box{position:fixed;z-index:820;left:50%;top:max(18px,env(safe-area-inset-top));width:min(520px,calc(100vw - 36px));transform:translate(-50%);margin:0;box-shadow:0 22px 70px #0000006b}@media(max-width:1180px){.map-app-shell .sidebar{width:min(286px,calc(100vw - 28px))}.map-app-shell .map-toolbar,.map-app-shell.sidebar-hidden .map-toolbar{left:max(14px,env(safe-area-inset-left));right:max(14px,env(safe-area-inset-right));top:max(14px,env(safe-area-inset-top))}.map-app-shell .map-toolbar .actions{width:auto;max-width:calc(100vw - 36px)}.map-app-shell .fleet-overlay-panel{top:auto;left:max(12px,env(safe-area-inset-left));right:max(12px,env(safe-area-inset-right));bottom:calc(max(12px,env(safe-area-inset-bottom)) + 76px);width:auto;height:min(43dvh,390px)}.map-app-shell .fleet-overlay-panel .list{max-height:calc(43dvh - 156px)}.map-app-shell .dashboard-compact-grid,.map-app-shell.sidebar-hidden .dashboard-compact-grid{left:max(12px,env(safe-area-inset-left));right:max(12px,env(safe-area-inset-right));bottom:calc(max(12px,env(safe-area-inset-bottom)) + 76px);width:auto;grid-template-columns:repeat(4,minmax(0,1fr))!important}.map-app-shell:has(.fleet-overlay-panel:not(.is-hidden)) .dashboard-compact-grid{display:none}}@media(max-width:980px){.sidebar{min-width:0}.sidebar .nav{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:760px){.login-card{width:min(100%,360px);padding:22px;border-radius:28px}.sidebar .nav{grid-template-columns:1fr}.login-card .brand-logo-mark{width:min(100%,240px)}.map-app-shell .sidebar{right:max(14px,env(safe-area-inset-right));width:auto}.map-app-shell .floating-icon-rail{top:auto;left:max(10px,env(safe-area-inset-left));right:max(10px,env(safe-area-inset-right));bottom:max(10px,env(safe-area-inset-bottom));grid-template-columns:repeat(5,minmax(42px,1fr));gap:7px;padding:8px;border-radius:22px}.map-app-shell .floating-icon-rail button{min-width:0;height:42px;border-radius:14px}.map-app-shell .map-toolbar,.map-app-shell.sidebar-hidden .map-toolbar{top:max(10px,env(safe-area-inset-top))}.map-app-shell .map-toolbar .actions{display:grid;grid-template-columns:minmax(0,1fr) repeat(3,44px);gap:7px;width:100%}.map-app-shell .map-toolbar .ghost-btn{width:44px;height:44px;padding:0;border-radius:14px;font-size:0}.map-app-shell .map-toolbar .ghost-btn svg{width:19px;height:19px}.map-app-shell .map-toolbar .badge{display:none}.map-app-shell .dashboard-compact-grid,.map-app-shell.sidebar-hidden .dashboard-compact-grid{bottom:calc(max(10px,env(safe-area-inset-bottom)) + 70px);grid-template-columns:repeat(2,minmax(0,1fr))!important}.map-app-shell .dashboard-compact-grid .card{min-height:58px!important;padding:8px!important}.map-app-shell .dashboard-compact-grid .card strong{font-size:18px!important}.map-app-shell .fleet-overlay-panel{bottom:calc(max(10px,env(safe-area-inset-bottom)) + 70px);height:min(48dvh,390px);border-radius:24px;padding:12px}.map-app-shell .fleet-overlay-panel .list{max-height:calc(48dvh - 148px)}.map-app-shell .fleet-search-actions{display:grid;grid-template-columns:1fr}}@media(max-height:700px){.login-security{display:none}.login-support-row{margin-top:12px}.map-app-shell .dashboard-compact-grid{display:none}}:root{--brand-red: #dc0012;--brand-red-2: #ff3445;--brand-red-dark: #8f000b;--brand-black: #050506;--brand-white: #ffffff;--brand-display-font: Impact, "Arial Black", "Segoe UI Black", system-ui, sans-serif;--glass: rgba(5, 5, 6, .74);--glass-strong: rgba(5, 5, 6, .9)}body{background:radial-gradient(circle at 12% 8%,rgba(220,0,18,.24),transparent 30%),radial-gradient(circle at 86% 18%,rgba(255,255,255,.08),transparent 26%),linear-gradient(180deg,#050506,#111217 48%,#050506)}.topbar h2,.panel h3,.fleet-overlay-header h3,.login-brand-subtitle,.nav button,.primary-btn,.danger-btn{font-family:var(--brand-display-font);letter-spacing:.045em;text-transform:uppercase}.primary-btn,.login-submit{background:linear-gradient(135deg,var(--brand-red),var(--brand-red-2))!important;border:0!important;color:var(--brand-white)!important;box-shadow:0 16px 34px #dc001247}.primary-btn:hover,.login-submit:hover{box-shadow:0 18px 42px #dc001261}.nav button.active,.floating-icon-rail button.active{background:linear-gradient(135deg,#dc0012f0,#8f000be0)!important;border-color:#ffffff38!important;color:var(--brand-white)!important}.ghost-btn:hover,.nav button:hover,.icon-only-btn:hover{border-color:#dc001294;background:#dc001224}.login-shell{position:relative;isolation:isolate;background:var(--brand-black)!important}.login-shell:before,.login-shell:after{content:"";position:absolute;inset:0;pointer-events:none}.login-shell:before{z-index:0;background:url(/brand/login-bg-city-desktop.jpg) center / cover no-repeat;opacity:.88;transform:scale(1.02)}.login-shell:after{z-index:0;background:linear-gradient(90deg,#050506eb,#050506ad 48%,#8f000b61),radial-gradient(circle at 50% 20%,rgba(255,255,255,.12),transparent 34%)}.login-card{position:relative;z-index:1;border-color:#dc00126b;background:linear-gradient(155deg,#08080af0,#1b070ae0);box-shadow:0 30px 95px #0000008a,0 0 0 1px #ffffff0a inset}.login-form input:focus,select:focus,input:focus,textarea:focus{outline:2px solid rgba(220,0,18,.58);border-color:#dc0012a3}.login-security{border-top-color:#dc00123d}.map-app-shell,.dashboard-screen,.map-stage-panel{background:var(--brand-black)}.map-app-shell .sidebar,.map-app-shell .fleet-overlay-panel,.map-app-shell .dashboard-compact-grid .card{border-color:#dc001242;background:linear-gradient(145deg,#050506e6,#18181cc2)}.map-app-shell .floating-icon-rail,.map-side-icon-column button{border-color:#dc001252;background:#050506cc}.leaflet-div-icon{background:transparent;border:0}.vehicle-svg-marker{width:var(--marker-size, 74px);height:var(--marker-size, 74px);filter:drop-shadow(0 18px 18px rgba(0,0,0,.52))}.vehicle-svg-pulse{inset:8%;box-shadow:0 0 0 6px color-mix(in srgb,var(--vehicle-accent) 17%,transparent)}.vehicle-svg-core{width:calc(var(--marker-size, 74px) - 6px);height:calc(var(--marker-size, 74px) - 6px)}.vehicle-svg-halo{fill:#050506eb;stroke-width:3.6}.vehicle-svg-fill{stroke:#fffffffa}.vehicle-svg-status{right:9%;bottom:11%;width:clamp(11px,21%,17px);height:clamp(11px,21%,17px);border-color:var(--brand-black)}.vehicle-svg-marker.is-blocked .vehicle-svg-status{background:var(--brand-red);box-shadow:0 0 18px #dc0012d1}.vehicle-svg-label{bottom:-15px;max-width:calc(var(--marker-size, 74px) + 32px);border-color:#dc001257;background:#050506e0;font-family:var(--brand-display-font);letter-spacing:.035em}.vehicle-svg-marker.marker-compact .vehicle-svg-label{display:none}.vehicle-list-row{width:100%;color:var(--text);font:inherit;text-align:left;cursor:pointer;appearance:none;transition:border-color .15s ease,background .15s ease,transform .15s ease,box-shadow .15s ease}.vehicle-list-select{display:grid;gap:7px;width:100%;padding:0;border:0;color:inherit;background:transparent;font:inherit;text-align:left;cursor:pointer}.vehicle-list-row:focus-within{outline:2px solid var(--brand-teal, #3da89f);outline-offset:2px}.vehicle-list-row>.plate-camera-link{margin-top:8px;padding:5px 7px;border:0;border-radius:4px;color:var(--muted);background:transparent;font:inherit;cursor:pointer}.vehicle-list-row:hover,.vehicle-list-row.is-selected{border-color:#dc0012b3;background:linear-gradient(135deg,#dc00122e,#0f172ab8);box-shadow:0 14px 34px #00000042}.vehicle-list-row:active{transform:scale(.99)}.vehicle-row-badges{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px}.popup-location-line{display:flex;gap:8px;align-items:flex-start;margin:10px 0;padding:9px 10px;border:1px solid rgba(148,163,184,.18);border-radius:14px;color:var(--muted);background:#ffffff0a;line-height:1.35}.popup-action-row{display:grid;margin:10px 0 8px}.popup-command-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;border:0;border-radius:14px;color:var(--brand-white);font-family:var(--brand-display-font);letter-spacing:.04em;text-transform:uppercase;cursor:pointer}.popup-command-btn.lock{background:linear-gradient(135deg,var(--brand-red),var(--brand-red-dark))}.popup-command-btn.unlock{background:linear-gradient(135deg,#16a34a,#064e3b)}.popup-command-btn:disabled{cursor:wait;opacity:.72}.popup-command-message{margin:8px 0 0;padding:8px 10px;border-radius:12px;font-size:12px;line-height:1.35}.popup-command-message.good{color:#bbf7d0;background:#16a34a29}.popup-command-message.warn{color:#fde68a;background:#eab30829}.popup-command-message.bad{color:#fecaca;background:#dc00122e}.plate-camera-btn,.plate-camera-link{display:inline-flex;align-items:center;gap:5px;width:fit-content;max-width:100%;border:0;padding:0;color:var(--brand-red);background:transparent;font:inherit;font-weight:800;text-align:left;cursor:pointer}.plate-camera-btn{margin-top:3px;font-size:12px}.plate-camera-btn span,.plate-camera-link{overflow-wrap:anywhere}.vehicle-list-subline{display:flex;flex-wrap:wrap;gap:5px;align-items:center}.plate-camera-link:hover,.plate-camera-link:focus-visible,.plate-camera-btn:hover,.plate-camera-btn:focus-visible{color:var(--brand-white);outline:none;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:3px}.table-plate-camera-link{font-size:12px}.camera-webview-backdrop{position:fixed;inset:0;z-index:9999;display:grid;place-items:center;padding:clamp(12px,3vw,28px);background:#030712c7;backdrop-filter:blur(10px)}.camera-webview-panel{width:min(980px,100%);max-height:min(92dvh,860px);overflow:auto;border:1px solid rgba(148,163,184,.28);border-radius:12px;padding:clamp(14px,2.2vw,22px);background:#0a0e18fa;box-shadow:0 24px 70px #00000075}.camera-webview-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:14px}.camera-webview-header small{color:var(--brand-red);font-family:var(--brand-display-font);letter-spacing:.04em;text-transform:uppercase}.camera-webview-header h3{margin:2px 0;font-family:var(--brand-display-font);letter-spacing:.02em}.camera-webview-header p{margin:0;color:var(--muted)}.camera-channel-row,.camera-webview-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.camera-channel-row{margin-bottom:12px}.camera-channel-row button{display:inline-flex;align-items:center;gap:7px;min-height:38px;border:1px solid rgba(148,163,184,.28);border-radius:8px;padding:0 12px;color:var(--text);background:#0f172aad;cursor:pointer}.camera-channel-row button.active{border-color:#dc0012db;color:var(--brand-white);background:#dc001247}.camera-video-frame{position:relative;overflow:hidden;width:100%;aspect-ratio:16 / 9;min-height:260px;border:1px solid rgba(148,163,184,.24);border-radius:10px;background:#020617}.camera-video-frame video{display:block;width:100%;height:100%;object-fit:contain;background:#020617}.camera-video-state{position:absolute;inset:0;display:grid;place-items:center;align-content:center;gap:8px;padding:18px;color:var(--muted);text-align:center;pointer-events:none}.camera-video-state b{color:var(--text)}.camera-video-state small{max-width:100%;overflow-wrap:anywhere}.camera-webview-actions{margin-top:12px}.camera-webview-message{margin-top:12px;border-radius:10px;padding:10px 12px;font-size:13px;line-height:1.45}.camera-webview-message.warn{color:#fde68a;background:#eab30824}.camera-webview-message.bad{color:#fecaca;background:#dc00122e}.integrations-panel{overflow:hidden}.integration-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:16px}.integration-title-row p{margin:5px 0 0}.integration-empty-state{display:grid;justify-items:center;gap:12px;padding:34px 18px;border:1px dashed rgba(220,0,18,.38);border-radius:22px;text-align:center;background:linear-gradient(145deg,#dc00121a,#ffffff0a)}.integration-empty-icon{width:64px;height:64px;display:grid;place-items:center;border-radius:20px;color:var(--brand-white);background:linear-gradient(135deg,var(--brand-red),var(--brand-red-dark));box-shadow:0 18px 38px #dc001247}.integration-empty-state h4{margin:0;font-family:var(--brand-display-font);letter-spacing:.045em;text-transform:uppercase}.integration-empty-state p{max-width:720px;margin:0;color:var(--muted);line-height:1.55}.integration-pill-grid{display:flex;justify-content:center;flex-wrap:wrap;gap:8px}.integration-pill-grid span,.integration-item{border:1px solid rgba(148,163,184,.22);background:#0f172a7a}.integration-pill-grid span{border-radius:999px;padding:7px 10px;color:var(--text);font-size:12px}.integration-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.integration-item{display:grid;gap:8px;border-radius:18px;padding:14px}.integration-item small{color:var(--muted);line-height:1.4}@media(max-width:760px){.login-shell:after{background:linear-gradient(180deg,#050506db,#050506b8 48%,#8f000b61),radial-gradient(circle at 50% 10%,rgba(255,255,255,.14),transparent 30%)}.login-brand-subtitle{font-size:12px;line-height:1.35}.map-app-shell .floating-icon-rail{display:flex;overflow-x:auto;overflow-y:hidden;max-height:62px;scrollbar-width:none}.map-app-shell .floating-icon-rail::-webkit-scrollbar{display:none}.map-app-shell .floating-icon-rail button{flex:0 0 42px}.map-app-shell .fleet-overlay-panel{bottom:calc(max(10px,env(safe-area-inset-bottom)) + 66px);height:min(50dvh,400px)}.map-app-shell .dashboard-compact-grid,.map-app-shell.sidebar-hidden .dashboard-compact-grid{bottom:calc(max(10px,env(safe-area-inset-bottom)) + 66px)}.vehicle-popup{min-width:min(286px,calc(100vw - 46px));max-width:calc(100vw - 46px);padding:12px}.vehicle-row-badges{justify-content:flex-start}.integration-title-row{display:grid}}:root{--brand-red: #1f766d;--brand-red-2: #4aa69b;--brand-red-dark: #123d3a;--brand-black: #071013;--brand-white: #f8fafc;--brand-display-font: "Segoe UI", Inter, system-ui, -apple-system, BlinkMacSystemFont, sans-serif;--blue: #3da89f;--red: #c0843c;--green: #46b37f;--yellow: #d6a84a;--accent-moving: #46b37f;--accent-stopped: #c0843c;--accent-idle: #3da89f;--accent-unknown: #d6a84a;--glass: rgba(7, 16, 19, .62);--glass-strong: rgba(7, 16, 19, .78)}:root[data-theme=light]{--blue: #237b73;--red: #b87a32;--green: #2f8f69;--yellow: #b6892f;--accent-moving: #2f8f69;--accent-stopped: #b87a32;--accent-idle: #237b73;--accent-unknown: #b6892f;--glass: rgba(255, 255, 255, .58);--glass-strong: rgba(255, 255, 255, .72)}body{background:radial-gradient(circle at 12% 8%,rgba(61,168,159,.18),transparent 30%),radial-gradient(circle at 88% 18%,rgba(214,168,74,.1),transparent 26%),linear-gradient(180deg,#071013,#101b1f 52%,#071013)}.topbar h2,.panel h3,.fleet-overlay-header h3,.login-brand-subtitle,.nav button,.primary-btn,.danger-btn,.popup-command-btn,.integration-empty-state h4,.vehicle-svg-label{font-family:var(--brand-display-font);font-weight:650;letter-spacing:.015em}.topbar h2,.panel h3,.fleet-overlay-header h3,.nav button,.primary-btn,.danger-btn,.popup-command-btn,.login-brand-subtitle{text-transform:none}.primary-btn,.login-submit{background:linear-gradient(135deg,#1f766d,#4aa69b)!important;box-shadow:0 14px 30px #1f766d3d!important;font-weight:700}.primary-btn:hover,.login-submit:hover{box-shadow:0 16px 34px #1f766d52!important}.danger-btn{color:#fdecc8;background:#c0843c21!important;border-color:#c0843c47!important}.nav button.active,.floating-icon-rail button.active{background:linear-gradient(135deg,#1f766dc7,#123d3ac2)!important;border-color:#69beb26b!important}.ghost-btn:hover,.nav button:hover,.icon-only-btn:hover{border-color:#3da89f75;background:#3da89f1c}.badge.info,.report-point-icon.info{color:#b7f0e7;border-color:#3da89f57}.badge.bad,.report-point-icon.bad{color:#fdecc8;border-color:#c0843c61}.error-box{border-color:#c0843c59;background:#c0843c1c;color:#fdecc8}.login-shell{background:#071013!important}.login-shell:before{opacity:.76;filter:saturate(.95) contrast(1.02)}.login-shell:after{background:linear-gradient(90deg,#071013e6,#071013a8 52%,#123d3a57),radial-gradient(circle at 50% 18%,rgba(105,190,178,.1),transparent 34%)}.login-card{border-color:#3da89f4d;background:linear-gradient(155deg,#071013d1,#121f22ad);backdrop-filter:blur(20px);box-shadow:0 28px 88px #00000075,0 0 0 1px #ffffff09 inset}.login-form input:focus,select:focus,input:focus,textarea:focus{outline:2px solid rgba(61,168,159,.42);border-color:#3da89f85}.login-security{border-top-color:#3da89f2e}:root[data-theme=light] body{background:radial-gradient(circle at 12% 8%,rgba(61,168,159,.12),transparent 30%),radial-gradient(circle at 88% 18%,rgba(214,168,74,.1),transparent 26%),linear-gradient(180deg,#eef5f4,#dfe9e7)}:root[data-theme=light] .login-shell:after{background:linear-gradient(90deg,#ebf5f39e,#ebf5f36b 52%,#1f766d1f),radial-gradient(circle at 50% 18%,rgba(31,118,109,.1),transparent 34%)}:root[data-theme=light] .login-card,:root[data-theme=light] .sidebar,:root[data-theme=light] .panel,:root[data-theme=light] .card,:root[data-theme=light] .map-app-shell .sidebar,:root[data-theme=light] .map-app-shell .fleet-overlay-panel,:root[data-theme=light] .map-app-shell .dashboard-compact-grid .card{background:#ffffff9e!important;border-color:#1f766d33!important;backdrop-filter:blur(18px);box-shadow:0 18px 48px #0f172a1a}.map-app-shell,.dashboard-screen,.map-stage-panel{background:#071013}.map-app-shell .sidebar,.map-app-shell .fleet-overlay-panel,.map-app-shell .dashboard-compact-grid .card,.leaflet-popup-content-wrapper,.leaflet-popup-tip{border-color:#3da89f33!important;background:linear-gradient(145deg,#071013b3,#121f2294)!important;backdrop-filter:blur(18px)}.map-app-shell .sidebar{width:min(274px,calc(100vw - 28px - env(safe-area-inset-left) - env(safe-area-inset-right)));padding:13px;border-radius:22px;display:flex;flex-direction:column;gap:9px}.map-app-shell .brand-company{margin-bottom:2px;gap:8px}.brand-logo-block.compact .brand-logo-mark{width:min(100%,180px)}.sidebar-user-row{display:flex;justify-content:space-between;align-items:center;gap:10px;width:100%;padding:10px 12px;border:1px solid rgba(61,168,159,.24);border-radius:16px;background:#ffffff13}.brand-user{display:inline-flex;align-items:center;gap:6px;color:var(--text)!important;font-size:13px;font-weight:700;letter-spacing:.01em}.sidebar-user-actions{display:flex;gap:8px;align-items:center}.sidebar-logout-mini{display:inline-flex;align-items:center;gap:6px;min-height:32px;border:1px solid rgba(214,168,74,.28);border-radius:12px;padding:0 10px;color:#fdecc8;background:#d6a84a1a;cursor:pointer;font-family:var(--brand-display-font);font-size:12px;font-weight:700}.sidebar-logout-mini:hover{border-color:#d6a84a7a;background:#d6a84a29}:root[data-theme=light] .sidebar-user-row{background:#ffffff75;border-color:#1f766d2e}:root[data-theme=light] .sidebar-logout-mini{color:#815421;background:#d6a84a24}.nav{gap:6px;display:grid;grid-template-columns:minmax(0,1fr)}.nav button{min-height:36px;padding:8px 10px;border-radius:12px;font-size:12.5px;font-weight:630}.map-app-shell .sidebar .nav,.map-app-shell .sidebar-toolbox{overflow:visible}.sidebar-status-stack{display:grid;gap:7px;margin-top:2px}.sidebar-support-row{margin-top:2px}.whatsapp-support.compact{min-height:34px;padding:7px 9px;border-radius:12px}.sidebar-toolbox{gap:7px;padding-top:8px;grid-template-columns:1fr}.sidebar-toolbox button{min-height:36px;font-size:12px;border-radius:12px}.map-app-shell .floating-icon-rail,.map-side-icon-column button{border-color:#3da89f42;background:#071013a8;backdrop-filter:blur(18px)}.vehicle-svg-halo{fill:#071013e0}.vehicle-cluster-wrapper{background:transparent;border:0}.vehicle-cluster{width:50px;height:50px;display:grid;place-items:center;border:2px solid color-mix(in srgb,var(--accent-secondary) 74%,white);border-radius:50%;color:#effffc;background:color-mix(in srgb,var(--surface-color) 78%,var(--accent-primary));box-shadow:0 0 0 7px color-mix(in srgb,var(--accent-primary) 18%,transparent),0 12px 28px #00000057;font-size:14px;font-weight:800}.vehicle-svg-marker.is-blocked .vehicle-svg-status{background:#d6a84a;box-shadow:0 0 18px #d6a84a94}.vehicle-svg-label,.vehicle-list-row:hover,.vehicle-list-row.is-selected{border-color:#3da89f6b}.vehicle-list-row:hover,.vehicle-list-row.is-selected{background:linear-gradient(135deg,#3da89f21,#0f172a94)}.popup-command-btn{font-weight:700;letter-spacing:.015em}.popup-command-btn.lock{background:linear-gradient(135deg,#c0843c,#81602c)}.popup-command-btn.unlock{background:linear-gradient(135deg,#2f8f69,#155e54)}.popup-command-message.bad{color:#fdecc8;background:#c0843c24}.integration-empty-state{border-color:#3da89f57;background:linear-gradient(145deg,#3da89f1a,#ffffff09)}.integration-empty-icon{background:linear-gradient(135deg,#1f766d,#123d3a);box-shadow:0 18px 38px #1f766d38}.reports-actions .primary-btn:first-child{background:linear-gradient(135deg,#3da89ff0,#2f8f69e0)!important}.report-point-icon.info{background:#3da89f}.report-point-icon.bad{background:#c0843c}.speedometer{background:radial-gradient(circle at 50% 45%,rgba(61,168,159,.18),transparent 54%),linear-gradient(145deg,#121f22c7,#071013b8)!important;border-color:#3da89f42!important}.telemetry-tile.info{border-color:#3da89f47!important;color:#b7f0e7!important}.telemetry-tile.bad{border-color:#c0843c57!important;color:#fdecc8!important}.idle-alert{color:#b7f0e7!important;background:#3da89f1a!important;border-color:#3da89f3d!important}.report-route-line{stroke:#3da89f;filter:drop-shadow(0 0 10px rgba(61,168,159,.42))}.report-point-icon{font-weight:700;box-shadow:0 14px 28px #00000052,0 0 18px #3da89f3d;background:#3da89f}.card strong,.row b,.vehicle-popup-header b,.telemetry-tile b,.speedometer strong{font-weight:700}@media(max-width:760px){.map-app-shell .sidebar{padding:12px;gap:8px}.brand-logo-block.compact .brand-logo-mark{width:min(100%,168px)}.nav button{min-height:34px;padding:7px 9px;font-size:12px}.sidebar-status-stack,.sidebar-support-row{margin-top:0}.login-shell:after{background:linear-gradient(180deg,#071013d6,#071013a3 50%,#123d3a42),radial-gradient(circle at 50% 12%,rgba(105,190,178,.11),transparent 30%)}}.vehicle-image-core{position:relative;z-index:2;width:calc(var(--marker-size, 74px) - 6px);height:calc(var(--marker-size, 74px) - 6px);display:grid;place-items:center;transform-origin:center center;overflow:visible}.vehicle-image-img{position:relative;z-index:2;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 9px 7px rgba(0,0,0,.34));pointer-events:none;user-select:none}.vehicle-svg-marker.marker-compact .vehicle-image-img{width:92%;height:92%}.vehicle-leaflet-popup{margin-bottom:16px}.vehicle-leaflet-popup .leaflet-popup-content-wrapper{width:min(372px,calc(100vw - 40px));max-width:calc(100vw - 40px);border-radius:18px!important;overflow:hidden}.vehicle-leaflet-popup .leaflet-popup-content{width:100%!important;max-width:100%!important}.vehicle-popup{width:100%;min-width:0;max-width:none;max-height:min(72dvh,560px);overflow-y:auto;overflow-x:hidden;padding:12px;scrollbar-width:thin}.vehicle-popup-header{align-items:center;gap:10px}.vehicle-popup-header>div{min-width:0}.vehicle-popup-header b,.vehicle-popup-header small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.popup-speed-row{grid-template-columns:minmax(96px,.78fr) minmax(0,1fr);gap:8px}.speedometer{min-height:102px;border-radius:18px}.speedometer strong{font-size:30px}.popup-status-stack,.telemetry-grid{gap:8px}.telemetry-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.telemetry-tile{min-width:0;border-radius:14px;padding:8px}.telemetry-tile span:last-child{min-width:0}.telemetry-tile small,.telemetry-tile b,.popup-location-line span,.popup-mini-line small{overflow-wrap:anywhere}.popup-command-btn{min-height:40px;border-radius:12px}@media(max-width:520px){.vehicle-leaflet-popup .leaflet-popup-content-wrapper{width:min(332px,calc(100vw - 34px));max-width:calc(100vw - 34px)}.vehicle-popup{max-height:min(66dvh,520px);padding:10px}.popup-speed-row{grid-template-columns:96px minmax(0,1fr)}.speedometer{min-height:94px}.telemetry-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.telemetry-tile{padding:7px}}.vehicle-svg-marker{background:transparent!important;border:0!important;display:grid;place-items:center;filter:drop-shadow(0 13px 12px rgba(0,0,0,.42))}.vehicle-svg-pulse{display:none!important}.vehicle-image-core{width:calc(var(--marker-size, 74px) - 2px);height:calc(var(--marker-size, 74px) - 2px)}.vehicle-svg-status{right:10%;bottom:10%;width:clamp(10px,19%,16px);height:clamp(10px,19%,16px);border:2px solid rgba(7,16,19,.88);box-shadow:0 0 0 2px #ffffff1a,0 0 14px color-mix(in srgb,var(--vehicle-accent) 50%,transparent)}.vehicle-svg-label{bottom:-13px;border-color:#3da89f57!important;background:#071013b8;color:#eafffb;font-weight:650;letter-spacing:0}.map-side-icon-column{border-color:#3da89f52;background:#0710139e}.map-side-icon-column button,.map-app-shell .map-toolbar .ghost-btn{border-color:#3da89f4d!important;color:#d7fffa;background:linear-gradient(145deg,#121f22bd,#071013a3)!important;box-shadow:0 12px 28px #00000038}.map-side-icon-column button:hover,.map-app-shell .map-toolbar .ghost-btn:hover{border-color:#d6a84a75!important;color:#fff4d7;background:linear-gradient(145deg,#1f766d94,#123d3a8a)!important}.vehicle-leaflet-popup .leaflet-popup-content-wrapper{width:min(348px,calc(100vw - 40px));border:1px solid rgba(61,168,159,.24)!important;border-radius:16px!important;background:linear-gradient(145deg,#071013e8,#121f22db)!important;box-shadow:0 24px 70px #0000006b}.vehicle-leaflet-popup .leaflet-popup-tip{border:1px solid rgba(61,168,159,.18)!important;background:#121f22eb!important}.vehicle-leaflet-popup .leaflet-popup-content{margin:0!important}.vehicle-leaflet-popup .leaflet-popup-close-button{color:#d7fffa!important}.vehicle-popup{max-height:min(68dvh,500px);padding:10px}.vehicle-popup-header{padding-right:16px}.vehicle-popup-header b{font-size:15px;font-weight:700}.vehicle-popup-header small{color:#d7fffaa8}.popup-speed-row{grid-template-columns:minmax(88px,.72fr) minmax(0,1fr)}.speedometer{min-height:94px}.speedometer strong{font-size:28px}.popup-location-line,.telemetry-tile{border-color:#3da89f2e!important;background:#ffffff0b!important}:root[data-theme=light] .map-side-icon-column{border-color:#1f766d3d;background:#f7fcfab3;box-shadow:0 18px 48px #0f172a21}:root[data-theme=light] .map-side-icon-column button,:root[data-theme=light] .map-app-shell .map-toolbar .ghost-btn{border-color:#1f766d3d!important;color:#123d3a;background:#ffffffb8!important;box-shadow:0 12px 30px #0f172a1a}:root[data-theme=light] .map-side-icon-column button:hover,:root[data-theme=light] .map-app-shell .map-toolbar .ghost-btn:hover{border-color:#d6a84a70!important;color:#5f421a;background:#fffaefd6!important}:root[data-theme=light] .vehicle-leaflet-popup .leaflet-popup-content-wrapper{border-color:#1f766d38!important;background:#f6fbf9f0!important;color:#10201f!important;box-shadow:0 24px 64px #0f172a2e}:root[data-theme=light] .vehicle-leaflet-popup .leaflet-popup-tip{border-color:#1f766d29!important;background:#f6fbf9f0!important}:root[data-theme=light] .vehicle-leaflet-popup .leaflet-popup-close-button{color:#123d3a!important}:root[data-theme=light] .vehicle-popup-header small,:root[data-theme=light] .popup-location-line,:root[data-theme=light] .telemetry-tile small{color:#4e625f!important}:root[data-theme=light] .popup-location-line,:root[data-theme=light] .telemetry-tile,:root[data-theme=light] .speedometer{border-color:#1f766d29!important;background:#ffffffa8!important}:root[data-theme=light] .telemetry-tile b,:root[data-theme=light] .vehicle-popup-header b{color:#10201f!important}:root[data-theme=light] .popup-command-btn.lock{background:linear-gradient(135deg,#9a6c2f,#5f421a)!important}:root[data-theme=light] .popup-command-btn.unlock{background:linear-gradient(135deg,#227e5e,#123d3a)!important}@media(max-width:520px){.vehicle-leaflet-popup .leaflet-popup-content-wrapper{width:min(312px,calc(100vw - 28px));max-width:calc(100vw - 28px)}.vehicle-popup{max-height:min(62dvh,480px);padding:9px}.popup-speed-row{grid-template-columns:86px minmax(0,1fr)}}.login-shell{min-height:100dvh;overflow:hidden;background:#071013!important}.login-shell:before{background:url(/brand/login-bg-city-desktop.jpg) center center / cover no-repeat!important;opacity:.94;transform:scale(1.01);filter:saturate(1.12) contrast(1.08) brightness(.9)}.login-shell:after{background:linear-gradient(90deg,#071013e0,#0710139e 47%,#123d3a40),linear-gradient(180deg,#07101342,#071013b8),radial-gradient(circle at 50% 24%,rgba(105,190,178,.16),transparent 34%)!important}:root[data-theme=light] .login-shell:before{opacity:.9;filter:saturate(1.08) contrast(1.04) brightness(1.02)}:root[data-theme=light] .login-shell:after{background:linear-gradient(90deg,#eef8f6b8,#eef8f66b 47%,#1f766d29),linear-gradient(180deg,#ffffff1a,#0710134d),radial-gradient(circle at 50% 20%,rgba(31,118,109,.14),transparent 34%)!important}@media(max-width:760px){.login-shell:before{background-image:url(/brand/login-bg-city-mobile.jpg)!important;background-position:center center!important;transform:scale(1)}}.vehicle-leaflet-popup{margin-bottom:10px}.vehicle-leaflet-popup .leaflet-popup-content-wrapper{width:min(318px,calc(100vw - 28px))!important;border-radius:14px!important}.vehicle-popup{max-height:none!important;overflow:visible!important;padding:8px!important;font-size:12px;line-height:1.2}.vehicle-popup-header{gap:7px!important;margin-bottom:6px!important;padding-right:18px!important;align-items:center!important}.vehicle-popup-header b{font-size:13.5px!important;line-height:1.12}.vehicle-popup-header small{margin-top:1px!important;font-size:10.5px}.vehicle-popup-header .badge{padding:4px 6px;font-size:10px;line-height:1;white-space:nowrap}.popup-speed-row{grid-template-columns:74px minmax(0,1fr)!important;gap:6px!important;margin-bottom:6px!important}.speedometer{min-height:72px!important;border-radius:12px!important}.speedometer strong{font-size:21px!important}.speedometer small{font-size:10px!important}.popup-status-stack,.telemetry-grid{gap:5px!important}.telemetry-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.telemetry-tile{min-height:38px!important;gap:5px!important;border-radius:10px!important;padding:5px 6px!important}.telemetry-icon{width:24px!important;height:24px!important;border-radius:8px!important;flex:0 0 auto}.telemetry-tile small{font-size:9.8px!important;line-height:1.05}.telemetry-tile b{font-size:11.3px!important;line-height:1.12}.popup-location-line{margin:6px 0!important;padding:6px 7px!important;border-radius:10px!important;font-size:11px}.popup-location-line span{display:-webkit-box;max-height:30px;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-height:1.25}.popup-action-row{margin:6px 0 4px!important}.popup-command-btn{min-height:32px!important;border-radius:9px!important;padding:0 8px;font-size:10.5px}.idle-alert{margin-top:6px!important;padding:6px!important;border-radius:10px!important;font-size:10.5px!important}.popup-footer{display:grid;gap:4px;margin-top:6px!important;padding-top:5px!important}.popup-mini-line{margin-top:0!important;gap:5px!important;align-items:flex-start!important;font-size:10.5px}.popup-mini-line small{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:1;line-height:1.2}@media(max-width:520px){.vehicle-leaflet-popup .leaflet-popup-content-wrapper{width:min(292px,calc(100vw - 24px))!important;max-width:calc(100vw - 24px)!important}.vehicle-popup{padding:7px!important}.popup-speed-row{grid-template-columns:70px minmax(0,1fr)!important}.telemetry-tile{min-height:36px!important}}.mobile-app-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:12px 0}.mobile-app-card{align-content:start;min-height:148px}.mobile-app-card .actions{margin-top:10px}.integration-status-row{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}@media(max-width:960px){.mobile-app-grid{grid-template-columns:1fr}}.assistant-panel,.user-profile-panel{min-height:calc(100vh - 172px)}.assistant-header{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:16px}.assistant-header h3{margin-bottom:4px}.assistant-grid{display:grid;grid-template-columns:minmax(280px,.86fr) minmax(320px,1.14fr);gap:16px;align-items:start}.assistant-composer,.assistant-answer,.telemetry-highlight-card{border:1px solid var(--line);border-radius:18px;background:#0710136b;backdrop-filter:blur(14px);padding:14px}.assistant-composer textarea{min-height:146px}.assistant-actions,.assistant-suggestions{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}.assistant-suggestions button{border:1px solid var(--line);border-radius:999px;background:#22c55e17;color:var(--text);padding:8px 10px;cursor:pointer}.assistant-answer-head,.telemetry-highlight-title{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:10px}.telemetry-highlight-title{justify-content:flex-start}.assistant-answer pre{white-space:pre-wrap;word-break:break-word;margin:0;color:var(--text);font-family:inherit;line-height:1.55}.assistant-report-table{margin-top:14px}.telemetry-highlight-grid,.user-permission-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:14px}.telemetry-highlight-values .kv{grid-template-columns:minmax(92px,.8fr) minmax(0,1fr)}.attributes-controls{margin-bottom:12px}.user-profile-extra{margin-top:16px}:root[data-theme=light] .assistant-composer,:root[data-theme=light] .assistant-answer,:root[data-theme=light] .telemetry-highlight-card{background:#ffffff94}@media(max-width:1040px){.assistant-grid,.telemetry-highlight-grid,.user-permission-grid{grid-template-columns:1fr}}.camera-safety-list{display:grid;gap:10px;min-width:0}.camera-safety-list-inline{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.camera-safety-card{--safety-color: var(--blue);min-width:0;padding:14px;border:1px solid color-mix(in srgb,var(--safety-color) 48%,var(--line));border-radius:18px;background:color-mix(in srgb,var(--safety-color) 10%,var(--panel-2));box-shadow:inset 3px 0 color-mix(in srgb,var(--safety-color) 78%,transparent)}.camera-safety-card.camera-safety-critical,.camera-safety-inline.camera-safety-critical{--safety-color: var(--red)}.camera-safety-card.camera-safety-warning,.camera-safety-inline.camera-safety-warning{--safety-color: var(--yellow)}.camera-safety-card.camera-safety-info,.camera-safety-inline.camera-safety-info{--safety-color: var(--blue)}.camera-safety-card-head{display:flex;align-items:flex-start;gap:10px}.camera-safety-icon{width:34px;height:34px;flex:0 0 auto;display:grid;place-items:center;border-radius:12px;color:var(--safety-color);background:color-mix(in srgb,var(--safety-color) 16%,transparent)}.camera-safety-heading{min-width:0;display:grid;gap:2px}.camera-safety-meta{color:var(--muted);font-size:12px;line-height:1.35}.camera-safety-card>p{margin:10px 0 0;color:var(--text);font-size:13px;line-height:1.5}.camera-safety-card.is-compact{padding:10px;border-radius:14px}.camera-safety-card.is-compact .camera-safety-icon{width:28px;height:28px;border-radius:9px}.camera-safety-card.is-compact>p{margin-top:7px;font-size:11.5px}.camera-safety-details{display:grid;grid-template-columns:minmax(90px,.42fr) minmax(0,1fr);gap:5px 10px;margin:12px 0 0;padding-top:10px;border-top:1px solid var(--line);font-size:12px}.camera-safety-details dt{color:var(--muted)}.camera-safety-details dd{min-width:0;margin:0;overflow-wrap:anywhere}.dashcam-evidence{display:grid;gap:9px;margin-top:12px;padding-top:11px;border-top:1px solid var(--line);font-size:12px}.dashcam-evidence-head,.dashcam-evidence-status,.dashcam-evidence-button,.dashcam-evidence-open{display:flex;align-items:center}.dashcam-evidence-head{justify-content:space-between;gap:10px}.dashcam-evidence-status{min-width:0;gap:6px;color:var(--muted)}.dashcam-evidence-status.is-available{color:var(--green)}.dashcam-evidence-status.is-requested,.dashcam-evidence-status.is-processing{color:var(--accent-secondary)}.dashcam-evidence-status.is-failed,.dashcam-evidence-status.is-timeout{color:color-mix(in srgb,var(--red) 78%,var(--text))}.dashcam-evidence-status.is-not_supported{color:var(--yellow)}.dashcam-evidence-type{flex:0 0 auto;padding:2px 7px;border:1px solid var(--line);border-radius:999px;color:var(--muted);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.dashcam-evidence-action{display:grid;justify-items:start;gap:7px}.dashcam-evidence-action small{color:var(--muted);line-height:1.4}.dashcam-evidence-button,.dashcam-evidence-open{justify-content:center;gap:6px;min-height:34px;padding:7px 11px;border:1px solid color-mix(in srgb,var(--accent-secondary) 48%,var(--line));border-radius:10px;color:var(--text);background:color-mix(in srgb,var(--accent-secondary) 12%,var(--panel-2));font:inherit;font-weight:750;text-decoration:none;cursor:pointer}.dashcam-evidence-button:hover:not(:disabled),.dashcam-evidence-open:hover{border-color:var(--accent-secondary)}.dashcam-evidence-button:focus-visible,.dashcam-evidence-open:focus-visible,.dashcam-evidence-thumbnail:focus-visible{outline:2px solid var(--accent-secondary);outline-offset:2px}.dashcam-evidence-button:disabled{cursor:not-allowed;opacity:.62}.dashcam-evidence-available{display:grid;justify-items:start;gap:8px}.dashcam-evidence-thumbnail{width:min(100%,260px);aspect-ratio:16 / 9;display:grid;place-items:center;overflow:hidden;border:1px solid var(--line);border-radius:12px;color:var(--muted);background:var(--panel-2);text-decoration:none}.dashcam-evidence-thumbnail img{width:100%;height:100%;object-fit:cover}.dashcam-evidence-thumbnail>span{display:flex;align-items:center;gap:7px;padding:10px;text-align:center}.dashcam-evidence-times{display:grid;grid-template-columns:72px minmax(0,1fr);gap:3px 8px;margin:0;color:var(--muted);font-size:11px}.dashcam-evidence-times dt{margin:0}.dashcam-evidence-times dd{min-width:0;margin:0;color:var(--text);overflow-wrap:anywhere}.dashcam-evidence-error{color:color-mix(in srgb,var(--red) 82%,var(--text));line-height:1.4}.dashcam-evidence.is-compact{gap:7px;margin-top:8px;padding-top:8px}.dashcam-evidence.is-compact .dashcam-evidence-button,.dashcam-evidence.is-compact .dashcam-evidence-open{min-height:30px;padding:5px 8px;font-size:11px}.dashcam-evidence.is-compact .dashcam-evidence-thumbnail{width:min(100%,180px);border-radius:9px}.dashcam-evidence.is-compact .dashcam-evidence-times{grid-template-columns:64px minmax(0,1fr);font-size:10px}.dashcam-evidence .spin{animation:dashcam-evidence-spin .9s linear infinite}@keyframes dashcam-evidence-spin{to{transform:rotate(360deg)}}.camera-safety-inline{--safety-color: var(--blue);display:inline-flex;align-items:center;gap:5px;min-width:0;padding:4px 7px;border:1px solid color-mix(in srgb,var(--safety-color) 42%,var(--line));border-radius:999px;color:var(--safety-color);background:color-mix(in srgb,var(--safety-color) 9%,transparent);font-size:12px}.camera-safety-tooltip-wrap{position:relative;display:inline-flex;min-width:0;max-width:100%}.camera-safety-title-button{max-width:100%;padding:0;border:0;border-radius:5px;color:inherit;background:transparent;font:inherit;font-weight:750;line-height:1.35;text-align:left;overflow-wrap:anywhere;text-decoration:underline;text-decoration-style:dotted;text-decoration-color:color-mix(in srgb,currentColor 48%,transparent);text-underline-offset:3px}.camera-safety-title-button:focus-visible{outline:2px solid var(--accent-secondary);outline-offset:3px}.camera-safety-tooltip{position:absolute;z-index:1400;left:0;top:calc(100% + 8px);width:min(300px,calc(100vw - 48px));display:grid;gap:5px;padding:10px 12px;border:1px solid color-mix(in srgb,var(--accent-secondary) 42%,var(--line));border-radius:12px;color:var(--text);background:color-mix(in srgb,var(--bg) 94%,var(--accent-secondary) 6%);box-shadow:var(--shadow);font-size:12px;font-weight:400;line-height:1.4;white-space:normal;overflow-wrap:anywhere}.camera-safety-tooltip span{display:block}.camera-safety-tooltip code{display:block;color:inherit;font:600 11.5px/1.4 ui-monospace,SFMono-Regular,Consolas,monospace;overflow-wrap:anywhere}.attributes-camera-safety{margin:0 0 14px}.report-camera-safety{margin-top:10px}.camera-safety-popup-list{gap:5px;margin:6px 0}.camera-safety-popup-list .camera-safety-card{padding:6px 8px}.camera-safety-popup-list .camera-safety-card>p{display:none}.camera-safety-popup-list .camera-safety-icon{width:24px;height:24px}.camera-safety-popup-list .camera-safety-meta{font-size:10px}.camera-safety-popup-list .camera-safety-title-button{font-size:11px}.vehicle-list-safety-events{margin-top:7px}:root[data-theme=light] .camera-safety-card{background:color-mix(in srgb,var(--safety-color) 8%,white)}:root[data-theme=light] .camera-safety-tooltip{color:var(--text);background:color-mix(in srgb,white 94%,var(--accent-secondary) 6%)}@media(max-width:760px){.camera-safety-card{padding:12px}.camera-safety-details{grid-template-columns:86px minmax(0,1fr)}.dashcam-evidence-button,.dashcam-evidence-open,.dashcam-evidence-thumbnail{width:100%}.camera-safety-tooltip{position:fixed;z-index:3000;inset:auto 16px 16px;width:auto}}@media(max-width:900px){.reports-controls{grid-template-columns:1fr 1fr}.reports-actions{grid-column:1 / -1;display:flex;flex-wrap:wrap;gap:10px}}@media(max-width:760px){.assistant-header,.assistant-actions,.reports-actions{align-items:stretch;flex-direction:column}.assistant-actions button,.reports-actions button{width:100%;justify-content:center}.reports-controls{grid-template-columns:1fr}}.login-shell{--default-login-background: url(/brand/login-bg-city-desktop.jpg);height:auto;overflow:auto;overscroll-behavior:contain}.login-shell:before{background-image:var(--custom-login-background, var(--default-login-background))!important}.login-card{overflow:auto;overscroll-behavior:contain}.app-status-stack{display:grid;gap:8px;margin-bottom:14px}.app-status-stack>.warn-box,.app-status-stack>.error-box{margin:0}.map-app-shell .app-status-stack{position:fixed;z-index:820;left:50%;top:max(18px,env(safe-area-inset-top));width:min(520px,calc(100vw - 36px));transform:translate(-50%);pointer-events:none}.map-app-shell .app-status-stack>.warn-box,.map-app-shell .app-status-stack>.error-box{position:static;width:auto;transform:none;box-shadow:0 16px 42px #0000005c;pointer-events:auto}.workspace-main{padding-top:max(18px,env(safe-area-inset-top));padding-right:max(18px,env(safe-area-inset-right));padding-bottom:max(22px,env(safe-area-inset-bottom));padding-left:max(18px,env(safe-area-inset-left))}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--accent-secondary);outline-offset:3px}.vehicle-list-row,.camera-safety-card,.integration-item{content-visibility:auto;contain-intrinsic-size:auto 96px}.list-load-more{width:100%;justify-content:center;margin-top:8px}.camera-channel-row button,.icon-only-btn{min-width:44px;min-height:44px}@media(max-width:760px){.login-shell{--default-login-background: url(/brand/login-bg-city-mobile.jpg)}.workspace-main{padding-top:max(12px,env(safe-area-inset-top));padding-right:max(12px,env(safe-area-inset-right));padding-bottom:max(16px,env(safe-area-inset-bottom));padding-left:max(12px,env(safe-area-inset-left))}.map-app-shell .app-status-stack{top:max(64px,calc(env(safe-area-inset-top) + 58px));width:calc(100vw - 24px - env(safe-area-inset-left) - env(safe-area-inset-right))}.dashcam-evidence-button,.dashcam-evidence-open,.dashcam-evidence.is-compact .dashcam-evidence-button,.dashcam-evidence.is-compact .dashcam-evidence-open{min-height:44px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media(min-width:1181px){.map-app-shell.sidebar-hidden .fleet-overlay-panel{right:max(94px,calc(76px + env(safe-area-inset-right)),var(--fleet-right, 18px))}.map-app-shell.sidebar-hidden .map-toolbar{right:calc(514px + env(safe-area-inset-right))}}:root{color-scheme:dark;--bg: #08110f;--panel: #111c1a;--panel-2: #182724;--text: #f1f6f4;--muted: #a8bab5;--line: #2b403b;--green: #57c995;--red: #f39a8d;--yellow: #e8c06d;--blue: #70d5c2;--shadow: 0 18px 48px rgba(0, 0, 0, .28);--shadow-soft: 0 8px 28px rgba(0, 0, 0, .18);--focus-ring: #70d5c2;--radius-sm: 10px;--radius-md: 16px;--radius-lg: 22px;--accent-primary: #278779;--accent-secondary: #4db6a4;--surface-color: #111c1a;--text-color: #f1f6f4}:root[data-theme=light]{color-scheme:light;--bg: #f2f6f5;--panel: #ffffff;--panel-2: #edf4f2;--text: #14221f;--muted: #526a64;--line: #cfddd9;--green: #18744f;--red: #9d3d34;--yellow: #7a5a18;--blue: #176d66;--shadow: 0 16px 42px rgba(24, 54, 48, .1);--shadow-soft: 0 8px 24px rgba(24, 54, 48, .08);--focus-ring: #176d66;--accent-primary: #1f766d;--accent-secondary: #369b8c;--surface-color: #ffffff;--text-color: #14221f}strong,b{font-size:inherit}body,:root[data-theme=light] body{color:var(--text);background:radial-gradient(circle at 10% 0%,color-mix(in srgb,var(--accent-secondary) 10%,transparent),transparent 26rem),var(--bg)}.workspace-shell{grid-template-columns:272px minmax(0,1fr);background:var(--bg)}.workspace-shell .sidebar{padding:18px 16px;border-right:1px solid var(--line);background:color-mix(in srgb,var(--panel) 95%,transparent);box-shadow:8px 0 30px #00000014}.workspace-shell .nav{gap:6px}.workspace-shell .nav button{min-height:42px;padding:10px 12px;border-color:transparent!important;border-radius:12px;color:var(--muted);background:transparent!important;font-size:.9rem;font-weight:650;letter-spacing:0;text-transform:none}.workspace-shell .nav button:hover{color:var(--text);border-color:var(--line)!important;background:var(--panel-2)!important;transform:none}.workspace-shell .nav button.active,.workspace-shell .nav button.active:hover{color:#f7fffd!important;border-color:color-mix(in srgb,var(--accent-secondary) 48%,transparent)!important;background:linear-gradient(135deg,#1f766d,#2d9486)!important;box-shadow:0 8px 20px #1f766d38}.workspace-main{padding:22px clamp(18px,2.4vw,34px) 34px;scrollbar-gutter:stable}.workspace-main>.topbar{margin-bottom:20px!important;padding-bottom:16px;border-bottom:1px solid var(--line)}.topbar h2{color:var(--text);font-size:clamp(1.35rem,2vw,1.75rem)!important;font-weight:740;letter-spacing:-.025em}.topbar p{color:var(--muted);font-size:.88rem!important}.topbar .actions{justify-content:flex-end}.topbar .actions button,.topbar .actions a{min-height:42px}.topbar-profile-btn{max-width:230px;color:var(--text)!important}.topbar-profile-btn span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.panel,.card,.row,.assistant-composer,.assistant-answer,.telemetry-highlight-card,:root[data-theme=light] .panel,:root[data-theme=light] .card,:root[data-theme=light] .row{color:var(--text);border-color:var(--line)!important;background:var(--panel)!important;box-shadow:var(--shadow-soft)}.panel{border-radius:var(--radius-lg);padding:clamp(16px,2vw,24px)}.panel h3{color:var(--text);font-size:1.08rem;letter-spacing:-.012em}.muted,.card small,.row small{color:var(--muted)!important}.ghost-btn,.primary-btn,.danger-btn,.nav button{min-height:42px;padding:9px 13px;border-radius:12px;font-size:.86rem;letter-spacing:0;text-transform:none}.ghost-btn{color:var(--text);border-color:var(--line);background:var(--panel-2)}.primary-btn,.login-submit{color:#fff!important;background:linear-gradient(135deg,#1f766d,#369b8c)!important;box-shadow:0 10px 24px #1f766d3d!important}.primary-btn:disabled,.danger-btn:disabled,.ghost-btn:disabled{cursor:not-allowed;opacity:.58;transform:none}.danger-btn{color:color-mix(in srgb,var(--red) 82%,var(--text));border-color:color-mix(in srgb,var(--red) 36%,var(--line))!important;background:color-mix(in srgb,var(--red) 10%,var(--panel))!important}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid color-mix(in srgb,var(--focus-ring) 72%,transparent)!important;outline-offset:3px}input,select,textarea,:root[data-theme=light] input,:root[data-theme=light] select,:root[data-theme=light] textarea{min-height:44px;color:var(--text);border-color:var(--line);border-radius:11px;background:color-mix(in srgb,var(--panel-2) 88%,transparent)}input::placeholder,textarea::placeholder{color:color-mix(in srgb,var(--muted) 75%,transparent)}.badge{color:var(--muted);border-color:var(--line);background:color-mix(in srgb,var(--panel-2) 72%,transparent);font-weight:700}.badge.good{color:var(--green);border-color:color-mix(in srgb,var(--green) 42%,var(--line));background:color-mix(in srgb,var(--green) 8%,transparent)}.badge.warn{color:var(--yellow);border-color:color-mix(in srgb,var(--yellow) 42%,var(--line));background:color-mix(in srgb,var(--yellow) 8%,transparent)}.badge.bad{color:var(--red);border-color:color-mix(in srgb,var(--red) 42%,var(--line));background:color-mix(in srgb,var(--red) 8%,transparent)}.badge.info{color:var(--blue);border-color:color-mix(in srgb,var(--blue) 42%,var(--line));background:color-mix(in srgb,var(--blue) 8%,transparent)}.error-box,.success-box,.warn-box{border-radius:12px;line-height:1.45}.error-box{color:var(--red);border-color:color-mix(in srgb,var(--red) 38%,var(--line));background:color-mix(in srgb,var(--red) 9%,var(--panel))}.success-box{color:var(--green);border-color:color-mix(in srgb,var(--green) 38%,var(--line));background:color-mix(in srgb,var(--green) 9%,var(--panel))}.warn-box{color:var(--yellow);border-color:color-mix(in srgb,var(--yellow) 38%,var(--line));background:color-mix(in srgb,var(--yellow) 9%,var(--panel))}.table-wrap{border:1px solid var(--line);border-radius:14px;background:var(--panel)}th{color:var(--muted);background:var(--panel-2)}th,td{border-color:var(--line)}.sidebar-user-row{padding:9px 10px;border-color:var(--line);border-radius:13px;background:var(--panel-2)}.brand-user{min-width:0;color:var(--text)!important}.sidebar-profile-mini,.sidebar-logout-mini{min-width:34px;min-height:34px;display:inline-grid;place-items:center;padding:0;border:1px solid var(--line);border-radius:10px;color:var(--text);background:color-mix(in srgb,var(--panel) 78%,transparent)}.sidebar-profile-mini:hover{color:var(--blue);border-color:color-mix(in srgb,var(--blue) 46%,var(--line))}.sidebar-logout-mini{color:var(--yellow)}.sidebar-logout-mini span{display:none}.section-heading,.integration-title-row,.profile-section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.section-heading{margin-bottom:20px}.section-heading h3,.integration-title-row h3{margin-bottom:4px}.section-heading p,.integration-title-row p{margin:0}.integrations-panel{min-height:min(650px,calc(100dvh - 150px))}.approved-integration-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:24px}.approved-integration-card{min-height:350px;display:flex;flex-direction:column;gap:18px;padding:16px;border:1px solid var(--line)!important;border-radius:18px;color:var(--text);background:color-mix(in srgb,var(--panel-2) 54%,var(--panel))!important;box-shadow:none}.approved-integration-card:hover{border-color:color-mix(in srgb,var(--accent-secondary) 48%,var(--line))!important;transform:translateY(-2px);box-shadow:var(--shadow-soft)}.integration-logo-well{height:126px;display:grid;place-items:center;overflow:hidden;padding:18px;border-radius:14px;background:#fff}.integration-logo-well.ixcsoft{background:linear-gradient(135deg,#00526e,#007b91)}.integration-logo-well.hubsoft{background:linear-gradient(135deg,#24104c,#542d88)}.integration-logo-well img{width:100%;height:100%;object-fit:contain}.integration-logo-well.openai img{width:100%;height:100%;filter:grayscale(1) contrast(4)}.integration-logo-well.hubsoft img{width:86%}.integration-card-copy{display:grid;gap:10px}.integration-card-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}.integration-card-heading h4{margin:0;color:var(--text);font-size:1.06rem}.integration-card-copy p{margin:0;color:var(--muted);font-size:.88rem;line-height:1.55}.integration-action{min-height:42px;display:inline-flex;align-items:center;justify-content:center;gap:7px;margin-top:auto;border:1px solid var(--line);border-radius:11px;color:var(--text);background:var(--panel);font-size:.86rem;font-weight:700;text-decoration:none}.integration-action:hover{color:var(--blue);border-color:color-mix(in srgb,var(--blue) 46%,var(--line))}.config-panel{min-height:min(620px,calc(100dvh - 150px))}.config-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.config-card{min-width:0;min-height:190px;display:grid;align-content:start;gap:13px;padding:18px;border:1px solid var(--line);border-radius:16px;background:var(--panel-2)}.config-card-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:12px;color:var(--blue);background:color-mix(in srgb,var(--blue) 12%,transparent)}.config-card div{display:grid;gap:3px}.config-card small{color:var(--muted)}.config-card b{color:var(--text)}.config-card p{margin:0;color:var(--muted);font-size:.84rem;line-height:1.5}.config-details{margin-top:20px;padding:4px 16px;border:1px solid var(--line);border-radius:14px;background:color-mix(in srgb,var(--panel-2) 58%,transparent)}.config-details .kv:last-child{border-bottom:0}.config-details b{overflow-wrap:anywhere}.config-actions{margin-top:18px}.profile-dialog-backdrop{position:fixed;inset:0;z-index:3000;display:grid;place-items:center;padding:18px;background:#020908b8;backdrop-filter:blur(8px)}.profile-dialog{width:min(760px,100%);max-height:calc(100dvh - 36px);display:grid;grid-template-rows:auto minmax(0,1fr);overflow:hidden;border:1px solid var(--line);border-radius:22px;color:var(--text);background:var(--panel);box-shadow:0 30px 100px #0000007a}.profile-dialog-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:20px 22px;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--panel-2) 56%,var(--panel))}.profile-dialog-title-wrap{display:flex;align-items:flex-start;gap:13px}.profile-avatar{width:44px;height:44px;flex:0 0 auto;display:grid;place-items:center;border-radius:13px;color:#d9fff7;background:linear-gradient(135deg,#1f766d,#369b8c)}.profile-dialog h2{margin:0;font-size:1.28rem;letter-spacing:-.02em}.profile-dialog-header p{margin:4px 0 0;color:var(--muted);font-size:.84rem;line-height:1.45}.profile-close-btn{width:42px;height:42px;flex:0 0 auto;display:grid;place-items:center;border:1px solid var(--line);border-radius:11px;color:var(--text);background:var(--panel)}.profile-close-btn:hover{color:var(--red);border-color:color-mix(in srgb,var(--red) 38%,var(--line))}.profile-dialog-body{overflow:auto;overscroll-behavior:contain;padding:20px 22px 22px}.profile-loading{min-height:220px;display:flex;align-items:center;justify-content:center;gap:10px;color:var(--muted)}.profile-form{display:grid;gap:16px}.profile-form-section{display:grid;gap:15px;padding:17px;border:1px solid var(--line);border-radius:16px;background:color-mix(in srgb,var(--panel-2) 58%,transparent)}.profile-section-heading h3{margin:0 0 3px}.profile-section-heading p{margin:0;color:var(--muted);font-size:.81rem}.profile-field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.profile-field-grid label{display:grid;gap:7px;color:var(--text);font-size:.82rem;font-weight:700}.profile-field-wide{grid-column:1 / -1}.profile-security-note{display:flex;align-items:flex-start;gap:7px;margin:0;color:var(--muted);font-size:.78rem;line-height:1.5}.profile-security-note svg{flex:0 0 auto;margin-top:2px;color:var(--green)}.profile-form .error-box,.profile-form .success-box{margin:0}.profile-form-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px}.report-email-dialog{width:min(720px,100%)}.report-email-dialog h2{font-size:1.18rem}.report-email-dialog .profile-dialog-title-wrap>div{min-width:0}.report-email-destination{display:grid;gap:6px;min-width:0;padding:16px;border:1px solid var(--line);border-radius:16px;background:color-mix(in srgb,var(--panel-2) 58%,transparent)}.report-email-destination>span{color:var(--muted);font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.report-email-destination>strong{overflow-wrap:anywhere;font-size:.96rem}.report-email-destination>small,.report-email-summary small{display:block;margin-top:2px;color:var(--muted);font-size:.78rem;line-height:1.45}.report-email-fields{display:grid;gap:13px;padding:16px;border:1px solid var(--line);border-radius:16px;background:color-mix(in srgb,var(--panel-2) 58%,transparent)}.report-email-fields>label,.report-email-recipient-grid label{display:grid;gap:7px;color:var(--text);font-size:.82rem;font-weight:700}.report-email-fields textarea{width:100%;min-height:110px;resize:vertical;line-height:1.5}.report-email-fields label>small{color:var(--muted);font-weight:500;text-align:right}.report-email-recipient-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.report-email-attachment{display:flex;flex-wrap:wrap;gap:9px 18px;margin:0;padding:12px 14px;border:1px solid var(--line);border-radius:12px}.report-email-attachment legend{padding:0 6px;color:var(--muted);font-size:.78rem;font-weight:700}.report-email-attachment label{display:inline-flex;align-items:center;gap:7px;font-size:.82rem}.report-email-attachment input{accent-color:var(--green)}.report-email-summary{display:grid;gap:12px;margin:0;padding:16px;border-radius:14px;background:var(--panel-2)}.report-email-summary>div{display:grid;grid-template-columns:78px minmax(0,1fr);gap:12px;font-size:.85rem}.report-email-summary dt{color:var(--muted)}.report-email-summary dd{margin:0;overflow-wrap:anywhere}.report-email-note{margin:0;color:var(--muted);font-size:.8rem;line-height:1.5}.report-email-progress{display:flex;align-items:center;gap:8px;color:var(--text);font-size:.85rem}.report-email-form .warn-box{margin:0;color:var(--text);border:1px solid var(--line);background:var(--panel-2)}.report-email-form :disabled{cursor:not-allowed}@media(max-width:480px){.report-email-dialog .profile-avatar{display:none}.report-email-dialog .profile-form-actions{position:static;bottom:auto;margin:0;padding:0;border-top:0;background:transparent}.report-email-dialog .profile-form-actions>button{flex:1;justify-content:center;min-width:0}.report-email-summary>div{grid-template-columns:64px minmax(0,1fr);gap:8px}.report-email-recipient-grid{grid-template-columns:1fr}.report-email-attachment{display:grid}}.login-shell{padding:clamp(14px,3vw,32px)}.login-shell:after{background:linear-gradient(90deg,#030b0ae0,#030b0a99 55%,#103e3852),linear-gradient(180deg,#030b0a1f,#030b0aa3)!important}.login-card{width:min(100%,430px);max-height:calc(100dvh - 28px);padding:clamp(20px,3vw,28px);border-color:color-mix(in srgb,var(--accent-secondary) 36%,var(--line));border-radius:24px;color:var(--text);background:color-mix(in srgb,var(--panel) 92%,transparent)!important;box-shadow:0 26px 80px #0000006b}.login-card .brand-logo-mark{width:min(100%,220px)}.login-brand{margin-bottom:20px}.login-brand-subtitle{color:var(--muted);font-size:.9rem;letter-spacing:0;text-transform:none}.login-form label{color:var(--text);font-weight:650}.login-form small{color:var(--muted)}.login-security{color:var(--muted);border-color:var(--line)}:root[data-theme=light] .login-shell:after{background:linear-gradient(90deg,#f2f8f6c7,#f2f8f687 55%,#1f766d29),linear-gradient(180deg,#ffffff14,#14363038)!important}:root[data-theme=light] .login-card{color:var(--text);background:#fffffff0!important;border-color:var(--line)!important}:root[data-theme=light] .brand-logo-text strong{color:var(--text)!important}:root[data-theme=light] .brand-logo-text small{color:var(--muted)!important}:root[data-theme=light] .ghost-btn,:root[data-theme=light] .workspace-shell .ghost-btn{color:var(--text)!important;border-color:var(--line)!important;background:#fff!important}:root[data-theme=light] .danger-btn{color:var(--red)!important;border-color:color-mix(in srgb,var(--red) 38%,var(--line))!important;background:color-mix(in srgb,var(--red) 7%,#ffffff)!important}:root[data-theme=light] .floating-icon-rail{border-color:var(--line)!important;background:#fffffff7!important;box-shadow:var(--shadow)!important}:root[data-theme=light] .floating-icon-rail button{color:var(--text)!important;border-color:var(--line)!important;background:#fff!important}:root[data-theme=light] .floating-icon-rail button.active{color:#fff!important;border-color:#1f766d!important;background:linear-gradient(135deg,#1f766d,#369b8c)!important}:root[data-theme=light] .floating-icon-rail button.danger{color:var(--red)!important;border-color:color-mix(in srgb,var(--red) 38%,var(--line))!important;background:color-mix(in srgb,var(--red) 7%,#ffffff)!important}:root[data-theme=light] .leaflet-popup-content-wrapper,:root[data-theme=light] .leaflet-popup-tip{color:var(--text)!important;border-color:var(--line)!important;background:#fffffff7!important}:root[data-theme=light] .map-app-shell,:root[data-theme=light] .dashboard-screen,:root[data-theme=light] .map-stage-panel,:root[data-theme=light] .map-wrap,:root[data-theme=light] .leaflet-container{background:#dfe9e6!important}:root[data-theme=light] .map-app-shell .fleet-overlay-panel,:root[data-theme=light] .map-app-shell .dashboard-compact-grid .card,:root[data-theme=light] .map-app-shell .sidebar{color:var(--text)!important;border-color:var(--line)!important;background:#fffffff5!important;box-shadow:var(--shadow)!important}:root[data-theme=light] .map-app-shell .floating-icon-rail{border-color:var(--line)!important;background:#fffffff5!important;box-shadow:var(--shadow)!important}:root[data-theme=light] .map-app-shell .floating-icon-rail button,:root[data-theme=light] .map-side-icon-column button,:root[data-theme=light] .map-app-shell .map-toolbar .ghost-btn{color:var(--text)!important;border-color:var(--line)!important;background:#fffffff0!important}:root[data-theme=light] .map-app-shell .floating-icon-rail button.active{color:#fff!important;border-color:#1f766d!important;background:linear-gradient(135deg,#1f766d,#369b8c)!important}:root[data-theme=light] .map-app-shell .floating-icon-rail button.danger{color:var(--red)!important;border-color:color-mix(in srgb,var(--red) 38%,var(--line))!important;background:color-mix(in srgb,var(--red) 8%,#fff)!important}:root[data-theme=light] .movement-legend span{color:#405f59;border-color:var(--line);background:#fff}:root[data-theme=light] .fleet-overlay-panel .icon-only-btn{color:var(--text)!important;border-color:var(--line)!important;background:#fff!important}@media(max-width:1280px){.approved-integration-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.approved-integration-card:last-child{grid-column:1 / -1}.config-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.config-card:last-child{grid-column:1 / -1}}@media(max-width:1180px){.app-shell.sidebar-hidden .main{padding-right:max(14px,env(safe-area-inset-right))}.floating-icon-rail,.map-app-shell .floating-icon-rail{inset:auto max(10px,env(safe-area-inset-right)) max(10px,env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-left))!important;width:auto;height:62px;display:flex;align-items:center;gap:7px;overflow-x:auto;overflow-y:hidden;padding:8px;border:1px solid var(--line);border-radius:18px;background:color-mix(in srgb,var(--panel) 92%,transparent)!important;box-shadow:0 16px 46px #00000052;scrollbar-width:none}.floating-icon-rail button,.map-app-shell .floating-icon-rail button{width:44px!important;height:44px!important;min-width:44px;flex:0 0 44px;border-radius:12px}.workspace-shell.sidebar-hidden{grid-template-rows:minmax(0,1fr) auto}.workspace-shell.sidebar-hidden .workspace-main{grid-row:1;height:auto;padding-bottom:max(18px,env(safe-area-inset-bottom))!important}.workspace-shell.sidebar-hidden .floating-icon-rail{position:relative!important;inset:auto!important;grid-row:2;margin:0 max(10px,env(safe-area-inset-right)) max(10px,env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-left))}}@media(max-width:980px){.workspace-shell{grid-template-columns:minmax(0,1fr)}.app-shell.sidebar-hidden .main{padding-right:max(14px,env(safe-area-inset-right))}.workspace-main,.map-app-main{padding-bottom:calc(82px + env(safe-area-inset-bottom))!important}.floating-icon-rail,.map-app-shell .floating-icon-rail{inset:auto max(10px,env(safe-area-inset-right)) max(10px,env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-left))!important;width:auto;height:62px;display:flex;align-items:center;gap:7px;overflow-x:auto;overflow-y:hidden;padding:8px;border:1px solid var(--line);border-radius:18px;background:color-mix(in srgb,var(--panel) 92%,transparent)!important;box-shadow:0 16px 46px #00000052;scrollbar-width:none}.floating-icon-rail::-webkit-scrollbar{display:none}.floating-icon-rail button,.map-app-shell .floating-icon-rail button{width:44px!important;height:44px!important;min-width:44px;flex:0 0 44px;border-radius:12px}.topbar .actions{width:100%;justify-content:flex-start}.workspace-shell.sidebar-hidden{grid-template-rows:minmax(0,1fr) auto}.workspace-shell.sidebar-hidden .workspace-main{grid-row:1;height:auto;padding-bottom:max(18px,env(safe-area-inset-bottom))!important}.workspace-shell.sidebar-hidden .floating-icon-rail{position:relative!important;inset:auto!important;grid-row:2;margin:0 max(10px,env(safe-area-inset-right)) max(10px,env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-left))}}@media(max-width:760px){.workspace-main{padding-top:max(14px,env(safe-area-inset-top));padding-right:max(12px,env(safe-area-inset-right));padding-left:max(12px,env(safe-area-inset-left))}.workspace-main>.topbar{gap:12px;padding-bottom:13px}.topbar .actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.topbar .actions>*{width:100%;min-width:0}.topbar-profile-btn span,.topbar .whatsapp-support span{display:none}.topbar-profile-btn{max-width:none}.panel{padding:15px;border-radius:18px}.section-heading,.integration-title-row,.profile-section-heading{display:grid;gap:10px}.approved-integration-grid,.config-card-grid{grid-template-columns:1fr;gap:12px;margin-top:18px}.approved-integration-card,.approved-integration-card:last-child,.config-card,.config-card:last-child{grid-column:auto}.approved-integration-card{min-height:0}.integration-logo-well{height:108px}.config-card{min-height:0}.config-details{padding:2px 12px}.config-details .kv{grid-template-columns:1fr;gap:2px;padding:10px 0}.config-actions{display:grid;grid-template-columns:1fr}.profile-dialog-backdrop{padding:8px;place-items:stretch}.profile-dialog{width:100%;max-height:calc(100dvh - 16px);align-self:center;border-radius:18px}.profile-dialog-header{padding:15px}.profile-dialog-title-wrap{gap:10px}.profile-avatar{width:40px;height:40px}.profile-dialog h2{font-size:1.12rem}.profile-dialog-header p{font-size:.77rem}.profile-dialog-body{padding:14px}.profile-form-section{padding:13px}.profile-field-grid{grid-template-columns:1fr}.profile-field-wide{grid-column:auto}.profile-section-heading .badge{width:max-content}.profile-form-actions{position:sticky;bottom:-14px;margin:0 -14px -14px;padding:12px 14px max(12px,env(safe-area-inset-bottom));background:color-mix(in srgb,var(--panel) 96%,transparent);border-top:1px solid var(--line)}.profile-form-actions button{flex:1}.login-card{max-height:calc(100dvh - 20px)}.login-card .brand-logo-mark{width:min(100%,178px)}}@media(max-width:370px){.topbar .actions{grid-template-columns:1fr 1fr}.topbar .actions .primary-btn,.topbar .actions .danger-btn{font-size:.78rem;padding-inline:8px}.profile-dialog-title-wrap .profile-avatar{display:none}.profile-dialog-header{gap:8px}}.ai-page{min-width:0;min-height:min(760px,calc(100dvh - 172px))}.ai-header h3{display:flex;align-items:center;gap:9px}.ai-layout{display:grid;grid-template-columns:minmax(210px,270px) minmax(0,1fr);gap:16px;min-width:0}.ai-sidebar,.ai-chat{min-width:0;border:1px solid var(--line);border-radius:18px;background:var(--panel);box-shadow:var(--shadow-soft)}.ai-sidebar{display:flex;flex-direction:column;gap:16px;padding:14px}.ai-privacy-note,.ai-web-note{display:flex;gap:10px;align-items:flex-start;padding:11px;border:1px solid color-mix(in srgb,var(--accent) 35%,var(--line));border-radius:14px;color:var(--text);background:color-mix(in srgb,var(--accent) 8%,transparent)}.ai-privacy-note svg,.ai-web-note svg{flex:0 0 auto;color:var(--accent)}.ai-privacy-note div{display:grid;gap:3px;min-width:0}.ai-privacy-note span,.ai-web-note span{color:var(--muted);font-size:.78rem;line-height:1.4}.ai-suggestion-list{display:grid;gap:8px}.ai-suggestion-list>b{font-size:.8rem;color:var(--muted)}.ai-suggestion-buttons{display:grid;gap:8px;min-width:0}.ai-suggestion-buttons button{min-height:44px;padding:9px 11px;border:1px solid var(--line);border-radius:12px;color:var(--text);background:color-mix(in srgb,var(--accent) 7%,var(--panel));text-align:left;line-height:1.35;cursor:pointer}.ai-suggestion-buttons button:hover:not(:disabled){border-color:var(--accent)}.ai-suggestion-buttons button:disabled{opacity:.55;cursor:not-allowed}.ai-side-actions{display:grid;gap:8px;margin-top:auto}.ai-side-actions button{width:100%;justify-content:center;min-height:44px}.ai-chat{display:flex;flex-direction:column;overflow:hidden;min-height:560px;max-height:calc(100dvh - 220px)}.ai-message-list{flex:1 1 auto;min-height:300px;overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable;padding:18px;scroll-padding-bottom:160px}.ai-message{display:flex;align-items:flex-start;gap:10px;margin-bottom:18px;min-width:0}.ai-message.user{flex-direction:row-reverse}.ai-message-avatar{display:grid;place-items:center;flex:0 0 34px;width:34px;height:34px;border-radius:50%;color:var(--accent);background:color-mix(in srgb,var(--accent) 14%,var(--panel));border:1px solid color-mix(in srgb,var(--accent) 30%,var(--line))}.ai-message.user .ai-message-avatar{color:var(--blue)}.ai-message-content{min-width:0;max-width:min(760px,calc(100% - 44px));padding:12px 14px;border:1px solid var(--line);border-radius:5px 16px 16px;background:color-mix(in srgb,var(--panel-2) 86%,transparent)}.ai-message.user .ai-message-content{border-radius:16px 5px 16px 16px;background:color-mix(in srgb,var(--blue) 12%,var(--panel))}.ai-message-meta{display:flex;align-items:center;flex-wrap:wrap;gap:7px;margin-bottom:7px;font-size:.75rem}.ai-message-meta time{color:var(--muted);margin-left:auto}.ai-mode{display:inline-flex;align-items:center;gap:4px;padding:2px 7px;border-radius:999px;color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,transparent)}.ai-mode.web{color:var(--blue);background:color-mix(in srgb,var(--blue) 12%,transparent)}.ai-message-text{white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word;color:var(--text);line-height:1.58}.ai-as-of{display:block;margin-top:9px;color:var(--muted)}.ai-warnings{margin:10px 0 0;padding-left:20px;color:var(--warning, #f59e0b)}.ai-sources{margin-top:12px;padding-top:10px;border-top:1px solid var(--line);min-width:0}.ai-sources b{font-size:.78rem}.ai-sources ul{display:grid;gap:6px;margin:7px 0 0;padding-left:18px}.ai-sources li,.ai-sources a,.ai-sources span{min-width:0;overflow-wrap:anywhere;word-break:break-word}.ai-sources a{display:inline-flex;align-items:flex-start;gap:5px;color:var(--blue)}.ai-sources a svg{flex:0 0 auto;margin-top:2px}.ai-thinking{display:flex;align-items:center;gap:5px;margin:2px 0 12px 44px;color:var(--muted);font-size:.82rem}.ai-thinking span{width:6px;height:6px;border-radius:50%;background:var(--accent);animation:ai-pulse 1.1s infinite ease-in-out}.ai-thinking span:nth-child(2){animation-delay:.15s}.ai-thinking span:nth-child(3){animation-delay:.3s}@keyframes ai-pulse{0%,70%,to{opacity:.3;transform:translateY(0)}35%{opacity:1;transform:translateY(-3px)}}@media(prefers-reduced-motion:reduce){.ai-thinking span{animation:none}}.ai-offline,.ai-error{margin:0 14px 10px;display:flex;align-items:center;gap:10px}.ai-error{justify-content:space-between;flex-wrap:wrap}.ai-error button{min-height:40px}.ai-composer{flex:0 0 auto;padding:14px max(14px,env(safe-area-inset-right)) max(14px,env(safe-area-inset-bottom)) max(14px,env(safe-area-inset-left));border-top:1px solid var(--line);background:color-mix(in srgb,var(--panel) 94%,transparent)}.ai-composer>label{display:block;margin-bottom:7px;color:var(--muted);font-size:.78rem;font-weight:650}.ai-composer textarea{display:block;width:100%;min-height:76px;max-height:180px;resize:vertical;padding:11px 12px;border:1px solid var(--line);border-radius:13px;color:var(--text);background:var(--input, var(--panel-2));font:inherit;line-height:1.45}.ai-composer textarea:focus{outline:2px solid color-mix(in srgb,var(--accent) 55%,transparent);outline-offset:1px}.ai-composer-footer{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;margin-top:9px}.ai-composer-footer>button{min-height:44px}.ai-composer-options{display:grid;gap:5px;min-width:0}.ai-composer-options small{color:var(--muted)}.ai-web-toggle{display:inline-flex;align-items:center;gap:7px;min-height:32px;color:var(--text);font-size:.82rem}.ai-web-toggle input{width:18px;height:18px;accent-color:var(--accent)}.ai-cancel{color:var(--danger, #ef4444)}@media(max-width:1040px){.ai-layout{grid-template-columns:1fr}.ai-sidebar{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.ai-suggestion-list{grid-column:1 / -1}.ai-suggestion-buttons{grid-template-columns:repeat(2,minmax(0,1fr))}.ai-side-actions{grid-column:1 / -1;grid-template-columns:repeat(2,minmax(0,1fr))}.ai-chat{max-height:none;min-height:590px;height:min(700px,calc(100dvh - 220px))}}@media(max-width:600px){.ai-page{min-height:calc(100dvh - 132px);padding:12px!important}.ai-header{gap:10px}.ai-header .badge{align-self:flex-start}.ai-layout{gap:10px}.ai-chat{order:-1}.ai-sidebar{grid-template-columns:1fr;gap:10px;padding:10px}.ai-suggestion-list{grid-column:auto}.ai-suggestion-buttons{display:flex;overflow-x:auto;padding-bottom:3px;scroll-snap-type:x proximity}.ai-suggestion-buttons button{flex:0 0 min(245px,78vw);scroll-snap-align:start}.ai-side-actions{grid-column:auto;grid-template-columns:1fr 1fr}.ai-chat{min-height:520px;height:calc(100dvh - 188px);max-height:720px}.ai-message-list{padding:12px 10px;min-height:220px}.ai-message-avatar{flex-basis:30px;width:30px;height:30px}.ai-message-content{max-width:calc(100% - 38px);padding:10px 11px}.ai-composer{padding:10px max(10px,env(safe-area-inset-right)) max(10px,env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-left))}.ai-composer textarea{min-height:68px;font-size:16px;scroll-margin-bottom:calc(92px + env(safe-area-inset-bottom))}.ai-composer-footer{align-items:stretch;flex-direction:column}.ai-composer-footer>button{width:100%;justify-content:center}.ai-offline,.ai-error{margin-inline:10px}}@media(max-width:350px){.ai-side-actions{grid-template-columns:1fr}.ai-header h3{font-size:1rem}.ai-chat{height:calc(100dvh - 164px);min-height:470px}}
