.leaflet-pane,.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-tile-container,.leaflet-pane>svg,.leaflet-pane>canvas,.leaflet-zoom-box,.leaflet-image-layer,.leaflet-layer{position:absolute;top:0;left:0}.leaflet-container{overflow:hidden}.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow{-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.leaflet-tile::selection{background:0 0}.leaflet-safari .leaflet-tile{image-rendering:-webkit-optimize-contrast}.leaflet-safari .leaflet-tile-container{-webkit-transform-origin:0 0;width:1600px;height:1600px}.leaflet-marker-icon,.leaflet-marker-shadow{display:block}.leaflet-container .leaflet-overlay-pane svg{max-width:none!important;max-height:none!important}.leaflet-container .leaflet-marker-pane img,.leaflet-container .leaflet-shadow-pane img,.leaflet-container .leaflet-tile-pane img,.leaflet-container img.leaflet-image-layer,.leaflet-container .leaflet-tile{width:auto;padding:0;max-width:none!important;max-height:none!important}.leaflet-container img.leaflet-tile{mix-blend-mode:plus-lighter}.leaflet-container.leaflet-touch-zoom{-ms-touch-action:pan-x pan-y;touch-action:pan-x pan-y}.leaflet-container.leaflet-touch-drag{-ms-touch-action:pinch-zoom;touch-action:none;touch-action:pinch-zoom}.leaflet-container.leaflet-touch-drag.leaflet-touch-zoom{-ms-touch-action:none;touch-action:none}.leaflet-container{-webkit-tap-highlight-color:transparent}.leaflet-container a{-webkit-tap-highlight-color:#33b5e566}.leaflet-tile{filter:inherit;visibility:hidden}.leaflet-tile-loaded{visibility:inherit}.leaflet-zoom-box{box-sizing:border-box;z-index:800;width:0;height:0}.leaflet-overlay-pane svg{-moz-user-select:none}.leaflet-pane{z-index:400}.leaflet-tile-pane{z-index:200}.leaflet-overlay-pane{z-index:400}.leaflet-shadow-pane{z-index:500}.leaflet-marker-pane{z-index:600}.leaflet-tooltip-pane{z-index:650}.leaflet-popup-pane{z-index:700}.leaflet-map-pane canvas{z-index:100}.leaflet-map-pane svg{z-index:200}.leaflet-vml-shape{width:1px;height:1px}.lvml{behavior:url(#default#VML);display:inline-block;position:absolute}.leaflet-control{z-index:800;pointer-events:visiblePainted;pointer-events:auto;position:relative}.leaflet-top,.leaflet-bottom{z-index:1000;pointer-events:none;position:absolute}.leaflet-top{top:0}.leaflet-right{right:0}.leaflet-bottom{bottom:0}.leaflet-left{left:0}.leaflet-control{float:left;clear:both}.leaflet-right .leaflet-control{float:right}.leaflet-top .leaflet-control{margin-top:10px}.leaflet-bottom .leaflet-control{margin-bottom:10px}.leaflet-left .leaflet-control{margin-left:10px}.leaflet-right .leaflet-control{margin-right:10px}.leaflet-fade-anim .leaflet-popup{opacity:0;transition:opacity .2s linear}.leaflet-fade-anim .leaflet-map-pane .leaflet-popup{opacity:1}.leaflet-zoom-animated{transform-origin:0 0}svg.leaflet-zoom-animated{will-change:transform}.leaflet-zoom-anim .leaflet-zoom-animated{-webkit-transition:-webkit-transform .25s cubic-bezier(0,0,.25,1);-moz-transition:-moz-transform .25s cubic-bezier(0,0,.25,1);transition:transform .25s cubic-bezier(0,0,.25,1)}.leaflet-zoom-anim .leaflet-tile,.leaflet-pan-anim .leaflet-tile{transition:none}.leaflet-zoom-anim .leaflet-zoom-hide{visibility:hidden}.leaflet-interactive{cursor:pointer}.leaflet-grab{cursor:-webkit-grab;cursor:-moz-grab;cursor:grab}.leaflet-crosshair,.leaflet-crosshair .leaflet-interactive{cursor:crosshair}.leaflet-popup-pane,.leaflet-control{cursor:auto}.leaflet-dragging .leaflet-grab,.leaflet-dragging .leaflet-grab .leaflet-interactive,.leaflet-dragging .leaflet-marker-draggable{cursor:move;cursor:-webkit-grabbing;cursor:-moz-grabbing;cursor:grabbing}.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-image-layer,.leaflet-pane>svg path,.leaflet-tile-container{pointer-events:none}.leaflet-marker-icon.leaflet-interactive,.leaflet-image-layer.leaflet-interactive,.leaflet-pane>svg path.leaflet-interactive,svg.leaflet-image-layer.leaflet-interactive path{pointer-events:visiblePainted;pointer-events:auto}.leaflet-container{outline-offset:1px;background:#ddd}.leaflet-container a{color:#0078a8}.leaflet-zoom-box{background:#ffffff80;border:2px dotted #38f}.leaflet-container{font-family:Helvetica Neue,Arial,Helvetica,sans-serif;font-size:.75rem;line-height:1.5}.leaflet-bar{border-radius:4px;box-shadow:0 1px 5px #000000a6}.leaflet-bar a{text-align:center;color:#000;background-color:#fff;border-bottom:1px solid #ccc;width:26px;height:26px;line-height:26px;text-decoration:none;display:block}.leaflet-bar a,.leaflet-control-layers-toggle{background-position:50%;background-repeat:no-repeat;display:block}.leaflet-bar a:hover,.leaflet-bar a:focus{background-color:#f4f4f4}.leaflet-bar a:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.leaflet-bar a:last-child{border-bottom:none;border-bottom-right-radius:4px;border-bottom-left-radius:4px}.leaflet-bar a.leaflet-disabled{cursor:default;color:#bbb;background-color:#f4f4f4}.leaflet-touch .leaflet-bar a{width:30px;height:30px;line-height:30px}.leaflet-touch .leaflet-bar a:first-child{border-top-left-radius:2px;border-top-right-radius:2px}.leaflet-touch .leaflet-bar a:last-child{border-bottom-right-radius:2px;border-bottom-left-radius:2px}.leaflet-control-zoom-in,.leaflet-control-zoom-out{text-indent:1px;font:700 18px Lucida Console,Monaco,monospace}.leaflet-touch .leaflet-control-zoom-in,.leaflet-touch .leaflet-control-zoom-out{font-size:22px}.leaflet-control-layers{background:#fff;border-radius:5px;box-shadow:0 1px 5px #0006}.leaflet-control-layers-toggle{background-image:url(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{color:#333;background:#fff;padding:6px 10px 6px 6px}.leaflet-control-layers-scrollbar{padding-right:5px;overflow:hidden scroll}.leaflet-control-layers-selector{margin-top:2px;position:relative;top:1px}.leaflet-control-layers label{font-size:1.08333em;display:block}.leaflet-control-layers-separator{border-top:1px solid #ddd;height:0;margin:5px -10px 5px -6px}.leaflet-default-icon-path{background-image:url(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:#fffc;margin:0}.leaflet-control-attribution,.leaflet-control-scale-line{color:#333;padding:0 5px;line-height:1.4}.leaflet-control-attribution a{text-decoration:none}.leaflet-control-attribution a:hover,.leaflet-control-attribution a:focus{text-decoration:underline}.leaflet-attribution-flag{width:1em;height:.6669em;vertical-align:baseline!important;display:inline!important}.leaflet-left .leaflet-control-scale{margin-left:5px}.leaflet-bottom .leaflet-control-scale{margin-bottom:5px}.leaflet-control-scale-line{white-space:nowrap;box-sizing:border-box;text-shadow:1px 1px #fff;background:#fffc;border:2px solid #777;border-top:none;padding:2px 5px 1px;line-height:1.1}.leaflet-control-scale-line:not(:first-child){border-top:2px solid #777;border-bottom:none;margin-top:-2px}.leaflet-control-scale-line:not(:first-child):not(:last-child){border-bottom:2px solid #777}.leaflet-touch .leaflet-control-attribution,.leaflet-touch .leaflet-control-layers,.leaflet-touch .leaflet-bar{box-shadow:none}.leaflet-touch .leaflet-control-layers,.leaflet-touch .leaflet-bar{background-clip:padding-box;border:2px solid #0003}.leaflet-popup{text-align:center;margin-bottom:20px;position:absolute}.leaflet-popup-content-wrapper{text-align:left;border-radius:12px;padding:1px}.leaflet-popup-content{min-height:1px;margin:13px 24px 13px 20px;font-size:1.08333em;line-height:1.3}.leaflet-popup-content p{margin:1.3em 0}.leaflet-popup-tip-container{pointer-events:none;width:40px;height:20px;margin-top:-1px;margin-left:-20px;position:absolute;left:50%;overflow:hidden}.leaflet-popup-tip{pointer-events:auto;width:17px;height:17px;margin:-10px auto 0;padding:1px;transform:rotate(45deg)}.leaflet-popup-content-wrapper,.leaflet-popup-tip{color:#333;background:#fff;box-shadow:0 3px 14px #0006}.leaflet-container a.leaflet-popup-close-button{text-align:center;color:#757575;background:0 0;border:none;width:24px;height:24px;font:16px/24px Tahoma,Verdana,sans-serif;text-decoration:none;position:absolute;top:0;right:0}.leaflet-container a.leaflet-popup-close-button:hover,.leaflet-container a.leaflet-popup-close-button:focus{color:#585858}.leaflet-popup-scrolled{overflow:auto}.leaflet-oldie .leaflet-popup-content-wrapper{-ms-zoom:1}.leaflet-oldie .leaflet-popup-tip{-ms-filter:"progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678)";width:24px;filter:progid:DXImageTransform.Microsoft.Matrix(M11=.707107, M12=.707107, M21=-.707107, M22=.707107);margin:0 auto}.leaflet-oldie .leaflet-control-zoom,.leaflet-oldie .leaflet-control-layers,.leaflet-oldie .leaflet-popup-content-wrapper,.leaflet-oldie .leaflet-popup-tip{border:1px solid #999}.leaflet-div-icon{background:#fff;border:1px solid #666}.leaflet-tooltip{color:#222;white-space:nowrap;-webkit-user-select:none;user-select:none;pointer-events:none;background-color:#fff;border:1px solid #fff;border-radius:3px;padding:6px;position:absolute;box-shadow:0 1px 3px #0006}.leaflet-tooltip.leaflet-interactive{cursor:pointer;pointer-events:auto}.leaflet-tooltip-top:before,.leaflet-tooltip-bottom:before,.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{pointer-events:none;content:"";background:0 0;border:6px solid #0000;position:absolute}.leaflet-tooltip-bottom{margin-top:6px}.leaflet-tooltip-top{margin-top:-6px}.leaflet-tooltip-bottom:before,.leaflet-tooltip-top:before{margin-left:-6px;left:50%}.leaflet-tooltip-top:before{border-top-color:#fff;margin-bottom:-12px;bottom:0}.leaflet-tooltip-bottom:before{border-bottom-color:#fff;margin-top:-12px;margin-left:-6px;top:0}.leaflet-tooltip-left{margin-left:-6px}.leaflet-tooltip-right{margin-left:6px}.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{margin-top:-6px;top:50%}.leaflet-tooltip-left:before{border-left-color:#fff;margin-right:-12px;right:0}.leaflet-tooltip-right:before{border-right-color:#fff;margin-left:-12px;left:0}@media print{.leaflet-control{-webkit-print-color-adjust:exact;print-color-adjust:exact}}:root{--color-brand:#0b3d5c;--color-brand-hover:#0a334d;--color-accent:#1f8a70;--color-accent-hover:#1a7560;--color-danger:#c0392b;--color-warning:#d68910;--color-info:#2e86ab;--color-bg:#f4f7fa;--color-surface:#fff;--color-border:#d5dee7;--color-text:#1a2332;--color-text-muted:#5c6b7a;--color-row-alt:#eef3f7;--color-header-bg:#0b3d5c;--color-header-text:#fff;--color-hover-row:#e3ecf3;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--radius-sm:4px;--radius-md:8px;--font-xs:12px;--font-sm:13px;--font-md:14px;--font-lg:16px;--font-xl:20px;--font-2xl:28px;--control-h-sm:32px;--control-h-md:40px;--control-h-lg:48px;--estado-movimiento:var(--color-accent);--estado-detenido:var(--color-warning);--estado-apagado:var(--color-danger);--estado-sin-senal:var(--color-text-muted);color:var(--color-text);background:var(--color-bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;font-family:DM Sans,Segoe UI,sans-serif;line-height:1.4}*,:before,:after{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{min-width:320px}a{color:inherit;text-decoration:none}button{font:inherit}.btn{justify-content:center;align-items:center;gap:var(--space-2);height:var(--control-h-md);padding:0 var(--space-4);border-radius:var(--radius-sm);font-size:var(--font-md);cursor:pointer;border:1px solid #0000;font-weight:600;transition:background .15s,border-color .15s,opacity .15s;display:inline-flex}.btn:disabled{opacity:.45;cursor:not-allowed}.btn--sm{height:var(--control-h-sm);padding:0 var(--space-3);font-size:var(--font-sm)}.btn--lg{height:var(--control-h-lg);padding:0 20px}.btn--primary{background:var(--color-brand);color:#fff;border-color:var(--color-brand)}.btn--primary:hover:not(:disabled){background:var(--color-brand-hover);border-color:var(--color-brand-hover)}.btn--secondary{background:var(--color-accent);color:#fff;border-color:var(--color-accent)}.btn--secondary:hover:not(:disabled){background:var(--color-accent-hover);border-color:var(--color-accent-hover)}.btn--danger{background:var(--color-danger);color:#fff;border-color:var(--color-danger)}.btn--ghost{color:var(--color-brand);border-color:var(--color-border);background:0 0}.btn--ghost:hover:not(:disabled){background:var(--color-row-alt)}.btn--warning{background:var(--color-warning);color:#fff;border-color:var(--color-warning)}.data-table{border-collapse:collapse;background:var(--color-surface);width:100%;font-family:IBM Plex Sans,DM Sans,sans-serif;font-size:var(--font-sm)}.data-table th{background:var(--color-header-bg);color:var(--color-header-text);text-align:left;padding:10px 12px;font-weight:600}.data-table td{border-bottom:1px solid var(--color-border);color:var(--color-text);padding:8px 12px}.data-table tbody tr:nth-child(2n){background:var(--color-row-alt)}.data-table tbody tr:hover{background:var(--color-hover-row)}.data-table tbody tr.is-selected{outline:2px solid var(--color-info);outline-offset:-2px}.data-table .num{text-align:right;font-variant-numeric:tabular-nums}.marker-icon{background-color:#fff;border:1px solid #38f;border-radius:50%;outline:0;transition:opacity .3s;width:14px!important;height:14px!important;margin:-8px 0 0 -8px!important}.marker-icon-middle{opacity:.7;width:10px!important;height:10px!important;margin:-6px 0 0 -6px!important}.leaflet-pm-draggable{cursor:move!important}.cursor-marker{cursor:crosshair;pointer-events:none;opacity:0}.cursor-marker.visible{opacity:1!important}.geoman-draw-cursor,.geoman-draw-cursor .leaflet-interactive{cursor:crosshair}.rect-style-marker,.rect-start-marker{opacity:0}.rect-style-marker.visible,.rect-start-marker.visible{opacity:1!important}.vertexmarker-disabled{opacity:.7}.pm-text-marker{width:0;height:0}.pm-textarea{box-sizing:content-box;color:#000;resize:none;cursor:pointer;background-color:#fff;border:none;border-radius:3px;outline:0;padding-top:4px;padding-bottom:0;padding-left:7px}.leaflet-pm-draggable .pm-textarea{cursor:move}.pm-textarea:focus,.pm-textarea:focus-within,.pm-textarea:focus-visible,.pm-textarea:active{border:2px solid #000;outline:0}.pm-textarea.pm-disabled{-webkit-user-select:none;user-select:none;border:none}.pm-textarea.pm-hasfocus{cursor:auto}.leaflet-pm-touch-hint{top:var(--pm-touch-hint-top,10px);color:#333;z-index:1000;pointer-events:none;background:#fffffff2;border-radius:4px;padding:8px 16px;font-size:14px;position:absolute;left:50%;transform:translate(-50%);box-shadow:0 2px 6px #0003}.leaflet-pm-toolbar .leaflet-buttons-control-button{box-sizing:border-box;z-index:3;padding:5px;position:relative}.leaflet-pm-toolbar .leaflet-pm-actions-container a.leaflet-pm-action:first-child:not(.pos-right),.leaflet-pm-toolbar .leaflet-pm-actions-container a.leaflet-pm-action:last-child.pos-right,.leaflet-pm-toolbar .button-container a.leaflet-buttons-control-button{border-radius:0}.leaflet-pm-toolbar .button-container:last-child a.leaflet-buttons-control-button{border-bottom-right-radius:2px;border-bottom-left-radius:2px}.leaflet-pm-toolbar .button-container:first-child a.leaflet-buttons-control-button{border-top-left-radius:2px;border-top-right-radius:2px}.leaflet-pm-toolbar .button-container:last-child a.leaflet-buttons-control-button{border-bottom:none}.leaflet-pm-toolbar .control-fa-icon{font-size:19px;line-height:24px}.leaflet-pm-toolbar .control-icon{box-sizing:border-box;background-position:50%;background-repeat:no-repeat;background-size:contain;width:100%;height:100%}.leaflet-pm-toolbar .leaflet-pm-icon-marker{background-image:url("data:image/svg+xml,<?xml version=\"1.0\" encoding=\"UTF-8\"?>%0A<svg width=\"24px\" height=\"24px\" viewBox=\"0 0 24 24\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">%0A    <!-- Generator: Sketch 52.5 (67469) - http://www.bohemiancoding.com/sketch -->%0A    <title>Atoms/Icons/Tools/Marker</title>%0A    <desc>Created with Sketch.</desc>%0A    <defs>%0A        <path d=\"M15.5,24.8782959 C15.2909201,24.8772219 15.1744857,24.8467817 14.6590866,24.2354163 C10.2196955,19.4118054 8,15.5014392 8,12.5043177 C8,8.35979746 11.3578644,5 15.5,5 C19.6421356,5 23,8.35979746 23,12.5043177 C23,17 18.2878217,21.9268378 16.3336601,24.2440186 C15.8224622,24.8501802 15.7090799,24.8793699 15.5,24.8782959 Z M15.5,15.5326948 C17.275201,15.5326948 18.7142857,14.1180004 18.7142857,12.3728864 C18.7142857,10.6277723 17.275201,9.21307792 15.5,9.21307792 C13.724799,9.21307792 12.2857143,10.6277723 12.2857143,12.3728864 C12.2857143,14.1180004 13.724799,15.5326948 15.5,15.5326948 Z\" id=\"path-1\"></path>%0A    </defs>%0A    <g id=\"Symbols\" stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\">%0A        <g id=\"Atoms/Icons/Tools/Marker\" transform=\"translate(-3.000000, -3.000000)\">%0A            <mask id=\"mask-2\" fill=\"white\">%0A                <use xlink:href=\"%23path-1\"></use>%0A            </mask>%0A            <use id=\"Mask\" fill=\"%235B5B5B\" fill-rule=\"nonzero\" xlink:href=\"%23path-1\"></use>%0A        </g>%0A    </g>%0A</svg>")}.leaflet-pm-toolbar .leaflet-pm-icon-polygon{background-image:url("data:image/svg+xml,<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\">%0A  <defs>%0A    <path id=\"polygon-a\" d=\"M19.4206892,9.16509725 C19.1523681,8.66992914 19,8.10275831 19,7.5 C19,5.56700338 20.5670034,4 22.5,4 C24.4329966,4 26,5.56700338 26,7.5 C26,9.26323595 24.6961471,10.7219407 23,10.9645556 L23,19.0354444 C24.6961471,19.2780593 26,20.736764 26,22.5 C26,24.4329966 24.4329966,26 22.5,26 C20.736764,26 19.2780593,24.6961471 19.0354444,23 L10.9645556,23 C10.7219407,24.6961471 9.26323595,26 7.5,26 C5.56700338,26 4,24.4329966 4,22.5 C4,20.5670034 5.56700338,19 7.5,19 C8.10275831,19 8.66992914,19.1523681 9.16509725,19.4206892 L19.4206892,9.16509725 Z M20.8349073,10.5793063 L10.5793108,20.8349027 C10.6086731,20.8890888 10.6366469,20.9441372 10.6631844,21 L19.3368156,21 C19.6825775,20.272154 20.272154,19.6825775 21,19.3368156 L21,10.6631844 C20.9441372,10.6366469 20.8890888,10.6086731 20.8349027,10.5793108 Z M22.5,9 C23.3284271,9 24,8.32842712 24,7.5 C24,6.67157288 23.3284271,6 22.5,6 C21.6715729,6 21,6.67157288 21,7.5 C21,8.32842712 21.6715729,9 22.5,9 Z M22.5,24 C23.3284271,24 24,23.3284271 24,22.5 C24,21.6715729 23.3284271,21 22.5,21 C21.6715729,21 21,21.6715729 21,22.5 C21,23.3284271 21.6715729,24 22.5,24 Z M7.5,24 C8.32842712,24 9,23.3284271 9,22.5 C9,21.6715729 8.32842712,21 7.5,21 C6.67157288,21 6,21.6715729 6,22.5 C6,23.3284271 6.67157288,24 7.5,24 Z\"/>%0A  </defs>%0A  <g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(-3 -3)\">%0A    <mask id=\"polygon-b\" fill=\"%23fff\">%0A      <use xlink:href=\"%23polygon-a\"/>%0A    </mask>%0A    <use fill=\"%235B5B5B\" fill-rule=\"nonzero\" xlink:href=\"%23polygon-a\"/>%0A    <g fill=\"%235B5B5B\" mask=\"url(%23polygon-b)\">%0A      <rect width=\"30\" height=\"30\"/>%0A    </g>%0A  </g>%0A</svg>%0A")}.leaflet-pm-toolbar .leaflet-pm-icon-polyline{background-image:url("data:image/svg+xml,<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\">%0A  <defs>%0A    <path id=\"line-a\" d=\"M9.16509725,19.4206892 L18.4206892,10.1650973 C18.1523681,9.66992914 18,9.10275831 18,8.5 C18,6.56700338 19.5670034,5 21.5,5 C23.4329966,5 25,6.56700338 25,8.5 C25,10.4329966 23.4329966,12 21.5,12 C20.8972417,12 20.3300709,11.8476319 19.8349027,11.5793108 L10.5793108,20.8349027 C10.8476319,21.3300709 11,21.8972417 11,22.5 C11,24.4329966 9.43299662,26 7.5,26 C5.56700338,26 4,24.4329966 4,22.5 C4,20.5670034 5.56700338,19 7.5,19 C8.10275831,19 8.66992914,19.1523681 9.16509725,19.4206892 Z M21.5,10 C22.3284271,10 23,9.32842712 23,8.5 C23,7.67157288 22.3284271,7 21.5,7 C20.6715729,7 20,7.67157288 20,8.5 C20,9.32842712 20.6715729,10 21.5,10 Z M7.5,24 C8.32842712,24 9,23.3284271 9,22.5 C9,21.6715729 8.32842712,21 7.5,21 C6.67157288,21 6,21.6715729 6,22.5 C6,23.3284271 6.67157288,24 7.5,24 Z\"/>%0A  </defs>%0A  <g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(-3 -3)\">%0A    <mask id=\"line-b\" fill=\"%23fff\">%0A      <use xlink:href=\"%23line-a\"/>%0A    </mask>%0A    <use fill=\"%235B5B5B\" fill-rule=\"nonzero\" xlink:href=\"%23line-a\"/>%0A    <g fill=\"%235B5B5B\" mask=\"url(%23line-b)\">%0A      <rect width=\"30\" height=\"30\"/>%0A    </g>%0A  </g>%0A</svg>%0A")}.leaflet-pm-toolbar .leaflet-pm-icon-circle{background-image:url("data:image/svg+xml,<?xml version=\"1.0\" encoding=\"UTF-8\"?>%0A<svg width=\"24px\" height=\"24px\" viewBox=\"0 0 24 24\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">%0A    <!-- Generator: Sketch 52.5 (67469) - http://www.bohemiancoding.com/sketch -->%0A    <title>Atoms/Icons/Tools/Circle</title>%0A    <desc>Created with Sketch.</desc>%0A    <defs>%0A        <path d=\"M18.2897751,6.78602275 C18.8924131,6.29464981 19.661797,6 20.5,6 C22.4329966,6 24,7.56700338 24,9.5 C24,10.338203 23.7053502,11.1075869 23.2139772,11.7102249 C23.719599,12.8712053 24,14.1528571 24,15.5 C24,20.7467051 19.7467051,25 14.5,25 C9.25329488,25 5,20.7467051 5,15.5 C5,10.2532949 9.25329488,6 14.5,6 C15.8471429,6 17.1287947,6.28040098 18.2897751,6.78602275 Z M17.1504228,8.4817586 C16.3263581,8.17039236 15.4330777,8 14.5,8 C10.3578644,8 7,11.3578644 7,15.5 C7,19.6421356 10.3578644,23 14.5,23 C18.6421356,23 22,19.6421356 22,15.5 C22,14.5669223 21.8296076,13.6736419 21.5182414,12.8495772 C21.1960383,12.9473968 20.8541622,13 20.5,13 C18.5670034,13 17,11.4329966 17,9.5 C17,9.14583778 17.0526032,8.80396169 17.1504228,8.4817586 Z M14.5,17 C13.6715729,17 13,16.3284271 13,15.5 C13,14.6715729 13.6715729,14 14.5,14 C15.3284271,14 16,14.6715729 16,15.5 C16,16.3284271 15.3284271,17 14.5,17 Z M20.5,11 C21.3284271,11 22,10.3284271 22,9.5 C22,8.67157288 21.3284271,8 20.5,8 C19.6715729,8 19,8.67157288 19,9.5 C19,10.3284271 19.6715729,11 20.5,11 Z\" id=\"path-1\"></path>%0A    </defs>%0A    <g id=\"Symbols\" stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\">%0A        <g id=\"Atoms/Icons/Tools/Circle\" transform=\"translate(-3.000000, -3.000000)\">%0A            <mask id=\"mask-2\" fill=\"white\">%0A                <use xlink:href=\"%23path-1\"></use>%0A            </mask>%0A            <use id=\"Mask\" fill=\"%235B5B5B\" fill-rule=\"nonzero\" xlink:href=\"%23path-1\"></use>%0A            <g id=\"Atoms/Color/Grey\" mask=\"url(%23mask-2)\" fill=\"%235B5B5B\">%0A                <rect id=\"Rectangle\" x=\"0\" y=\"0\" width=\"30\" height=\"30\"></rect>%0A            </g>%0A        </g>%0A    </g>%0A</svg>")}.leaflet-pm-toolbar .leaflet-pm-icon-circle-marker{background-image:url("data:image/svg+xml,<?xml version=\"1.0\" encoding=\"UTF-8\"?>%0A%0A<svg viewBox=\"0 0 100 100\" xmlns=\"http://www.w3.org/2000/svg\" stroke=\"%235B5B5B\" stroke-width=\"8\"%0A     fill=\"none\">%0A<circle cx=\"50\" cy=\"50\" r=\"35\"/>%0A  <circle cx=\"50\" cy=\"50\" r=\"3\" fill=\"%235B5B5B\"/>%0A</svg>")}.leaflet-pm-toolbar .leaflet-pm-icon-rectangle{background-image:url("data:image/svg+xml,<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\">%0A  <defs>%0A    <path id=\"rectangle-a\" d=\"M23,10.9645556 L23,19.0354444 C24.6961471,19.2780593 26,20.736764 26,22.5 C26,24.4329966 24.4329966,26 22.5,26 C20.736764,26 19.2780593,24.6961471 19.0354444,23 L10.9645556,23 C10.7219407,24.6961471 9.26323595,26 7.5,26 C5.56700338,26 4,24.4329966 4,22.5 C4,20.736764 5.30385293,19.2780593 7,19.0354444 L7,10.9645556 C5.30385293,10.7219407 4,9.26323595 4,7.5 C4,5.56700338 5.56700338,4 7.5,4 C9.26323595,4 10.7219407,5.30385293 10.9645556,7 L19.0354444,7 C19.2780593,5.30385293 20.736764,4 22.5,4 C24.4329966,4 26,5.56700338 26,7.5 C26,9.26323595 24.6961471,10.7219407 23,10.9645556 Z M21,10.6631844 C20.272154,10.3174225 19.6825775,9.72784598 19.3368156,9 L10.6631844,9 C10.3174225,9.72784598 9.72784598,10.3174225 9,10.6631844 L9,19.3368156 C9.72784598,19.6825775 10.3174225,20.272154 10.6631844,21 L19.3368156,21 C19.6825775,20.272154 20.272154,19.6825775 21,19.3368156 L21,10.6631844 Z M7.5,9 C8.32842712,9 9,8.32842712 9,7.5 C9,6.67157288 8.32842712,6 7.5,6 C6.67157288,6 6,6.67157288 6,7.5 C6,8.32842712 6.67157288,9 7.5,9 Z M22.5,9 C23.3284271,9 24,8.32842712 24,7.5 C24,6.67157288 23.3284271,6 22.5,6 C21.6715729,6 21,6.67157288 21,7.5 C21,8.32842712 21.6715729,9 22.5,9 Z M22.5,24 C23.3284271,24 24,23.3284271 24,22.5 C24,21.6715729 23.3284271,21 22.5,21 C21.6715729,21 21,21.6715729 21,22.5 C21,23.3284271 21.6715729,24 22.5,24 Z M7.5,24 C8.32842712,24 9,23.3284271 9,22.5 C9,21.6715729 8.32842712,21 7.5,21 C6.67157288,21 6,21.6715729 6,22.5 C6,23.3284271 6.67157288,24 7.5,24 Z\"/>%0A  </defs>%0A  <g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(-3 -3)\">%0A    <mask id=\"rectangle-b\" fill=\"%23fff\">%0A      <use xlink:href=\"%23rectangle-a\"/>%0A    </mask>%0A    <use fill=\"%235B5B5B\" fill-rule=\"nonzero\" xlink:href=\"%23rectangle-a\"/>%0A    <g fill=\"%235B5B5B\" mask=\"url(%23rectangle-b)\">%0A      <rect width=\"30\" height=\"30\"/>%0A    </g>%0A  </g>%0A</svg>%0A")}.leaflet-pm-toolbar .leaflet-pm-icon-delete{background-image:url("data:image/svg+xml,<?xml version=\"1.0\" encoding=\"UTF-8\"?>%0A<svg width=\"24px\" height=\"24px\" viewBox=\"0 0 24 24\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">%0A    <!-- Generator: Sketch 52.5 (67469) - http://www.bohemiancoding.com/sketch -->%0A    <title>Atoms/Icons/Tools/Eraser</title>%0A    <desc>Created with Sketch.</desc>%0A    <defs>%0A        <path d=\"M17.7874219,18.4812552 L11.6480079,13.3498184 L6.40466009,19.3816001 L10.5539156,22.9884929 L13.86934,22.9884929 L17.7874219,18.4812552 Z M16.5074252,22.9884929 L26.0000002,22.9884929 L26.0000002,24.9884929 L10.0000002,24.9884929 L9.80708313,24.9884929 L5.09254204,20.8910192 C4.25891285,20.1663564 4.17057814,18.9031112 4.89524093,18.069482 L16.0482444,5.23941916 C16.7729072,4.40578998 18.0361525,4.31745526 18.8697816,5.04211806 L24.9074583,10.2905903 C25.7410875,11.0152531 25.8294222,12.2784983 25.1047594,13.1121275 L16.5074252,22.9884929 Z\" id=\"path-1\"></path>%0A    </defs>%0A    <g id=\"Symbols\" stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\">%0A        <g id=\"Atoms/Icons/Tools/Eraser\" transform=\"translate(-3.000000, -3.000000)\">%0A            <mask id=\"mask-2\" fill=\"white\">%0A                <use xlink:href=\"%23path-1\"></use>%0A            </mask>%0A            <use id=\"Combined-Shape\" fill=\"%235B5B5B\" fill-rule=\"nonzero\" xlink:href=\"%23path-1\"></use>%0A        </g>%0A    </g>%0A</svg>")}.leaflet-pm-toolbar .leaflet-pm-icon-edit{background-image:url("data:image/svg+xml,<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\">%0A  <defs>%0A    <path id=\"edit_anchor-a\" d=\"M13.5,11 C11.5670034,11 10,9.43299662 10,7.5 C10,5.56700338 11.5670034,4 13.5,4 C15.4329966,4 17,5.56700338 17,7.5 C17,9.43299662 15.4329966,11 13.5,11 Z M13.5,9 C14.3284271,9 15,8.32842712 15,7.5 C15,6.67157288 14.3284271,6 13.5,6 C12.6715729,6 12,6.67157288 12,7.5 C12,8.32842712 12.6715729,9 13.5,9 Z M12.0002889,7.52973893 C12.0125983,8.16273672 12.4170197,8.6996643 12.9807111,8.90767966 L3,15 L3,13 L12.0002889,7.52973893 Z M14.2172722,6.18228472 L19.453125,3 L22.6589355,3 L14.989102,7.68173885 C14.9962971,7.62216459 15,7.56151472 15,7.5 C15,6.93138381 14.6836098,6.4366645 14.2172722,6.18228472 Z M23.4434042,19.2851736 L20.1282799,19.2851736 L21.8729983,23.5349525 C21.9945296,23.8295773 21.8556546,24.1599209 21.5778734,24.2849208 L20.0414675,24.9545142 C19.7550613,25.0795141 19.4338738,24.9366704 19.3123426,24.6509518 L17.6544367,20.6154541 L14.9461873,23.4010151 C14.5852811,23.7721711 14,23.4860463 14,22.9992653 L14,9.57183533 C14,9.05933561 14.6225311,8.809492 14.946156,9.17008555 L23.8340292,18.3120179 C24.1925291,18.6613615 23.9279979,19.2851736 23.4434042,19.2851736 Z\"/>%0A  </defs>%0A  <g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(-3 -3)\">%0A    <mask id=\"edit_anchor-b\" fill=\"%23fff\">%0A      <use xlink:href=\"%23edit_anchor-a\"/>%0A    </mask>%0A    <use fill=\"%235B5B5B\" fill-rule=\"nonzero\" xlink:href=\"%23edit_anchor-a\"/>%0A    <g fill=\"%235B5B5B\" mask=\"url(%23edit_anchor-b)\">%0A      <rect width=\"30\" height=\"30\"/>%0A    </g>%0A  </g>%0A</svg>%0A")}.leaflet-pm-toolbar .leaflet-pm-icon-drag{background-image:url("data:image/svg+xml,<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\">%0A  <defs>%0A    <path id=\"move-a\" d=\"M21,14 L21,10 L27,15 L21,20 L21,16 L16,16 L16,21 L20,21 L15,27 L10,21 L14,21 L14,16 L9,16 L9,20 L3,15 L9,10 L9,14 L14,14 L14,9 L10,9 L15,3 L20,9 L16,9 L16,14 L21,14 Z\"/>%0A  </defs>%0A  <g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(-3 -3)\">%0A    <mask id=\"move-b\" fill=\"%23fff\">%0A      <use xlink:href=\"%23move-a\"/>%0A    </mask>%0A    <use fill=\"%23D8D8D8\" xlink:href=\"%23move-a\"/>%0A    <g fill=\"%235B5B5B\" mask=\"url(%23move-b)\">%0A      <rect width=\"30\" height=\"30\"/>%0A    </g>%0A  </g>%0A</svg>%0A")}.leaflet-pm-toolbar .leaflet-pm-icon-cut{background-image:url("data:image/svg+xml,<?xml version=\"1.0\" encoding=\"UTF-8\"?>%0A<svg width=\"24px\" height=\"24px\" viewBox=\"0 0 24 24\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">%0A    <!-- Generator: Sketch 52.5 (67469) - http://www.bohemiancoding.com/sketch -->%0A    <title>Atoms/Icons/Tools/Scissors</title>%0A    <desc>Created with Sketch.</desc>%0A    <defs>%0A        <path d=\"M12.9691574,13.4939435 L21.0317032,5.54167013 L23.4649499,5.67722957 L17.0470713,14.5106816 L27.5660336,17.1333535 L25.7891944,18.8012588 L14.5854951,17.8987506 L13.6487955,19.188007 C13.794639,19.2650958 13.9367985,19.3534417 14.0741377,19.4532245 C15.6379648,20.5894114 15.9846357,22.7782052 14.8484488,24.3420324 C13.7122619,25.9058595 11.5234681,26.2525304 9.95964096,25.1163435 C8.39581384,23.9801565 8.04914296,21.7913627 9.18532986,20.2275356 C9.74587276,19.4560145 10.5626188,18.9807475 11.4341218,18.8336407 L12.6805656,17.1180579 L12.5239724,16.3747216 L11.9506932,15.3012391 L9.89310646,14.7882251 C9.13093796,15.2357261 8.19977854,15.3966447 7.27445355,15.1659352 C5.39887519,14.698301 4.25751094,12.7987519 4.72514515,10.9231736 C5.19277935,9.04759519 7.09232846,7.90623094 8.96790682,8.37386515 C10.8434852,8.84149935 11.9848494,10.7410485 11.5172152,12.6166268 C11.4761464,12.7813449 11.4240335,12.9404001 11.3618627,13.0931999 L12.9691574,13.4939435 Z M7.75829735,13.2253438 C8.56211664,13.4257584 9.37620912,12.9366023 9.57662378,12.132783 C9.77703844,11.3289637 9.28788233,10.5148713 8.48406303,10.3144566 C7.68024373,10.1140419 6.86615126,10.603198 6.6657366,11.4070173 C6.46532194,12.2108366 6.95447805,13.0249291 7.75829735,13.2253438 Z M10.8033639,21.4031061 C10.3164266,22.0733177 10.4649998,23.0113722 11.1352115,23.4983095 C11.8054231,23.9852467 12.7434776,23.8366735 13.2304148,23.1664619 C13.7173521,22.4962502 13.5687788,21.5581957 12.8985672,21.0712585 C12.2283556,20.5843212 11.2903011,20.7328945 10.8033639,21.4031061 Z\" id=\"path-1\"></path>%0A    </defs>%0A    <g id=\"Symbols\" stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\">%0A        <g id=\"Atoms/Icons/Tools/Scissors\" transform=\"translate(-3.000000, -3.000000)\">%0A            <mask id=\"mask-2\" fill=\"white\">%0A                <use xlink:href=\"%23path-1\"></use>%0A            </mask>%0A            <use id=\"Mask\" fill=\"%235B5B5B\" fill-rule=\"nonzero\" transform=\"translate(16.093194, 15.663351) rotate(-32.000000) translate(-16.093194, -15.663351) \" xlink:href=\"%23path-1\"></use>%0A        </g>%0A    </g>%0A</svg>")}.leaflet-pm-toolbar .leaflet-pm-icon-snapping{background-image:url("data:image/svg+xml,<?xml version=\"1.0\" encoding=\"UTF-8\"?>%0A<svg width=\"24px\" height=\"24px\" viewBox=\"0 0 24 24\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">%0A    <!-- Generator: Sketch 57.1 (83088) - https://sketch.com -->%0A    <title>Atoms/Icons/Tools/Magnet</title>%0A    <desc>Created with Sketch.</desc>%0A    <defs>%0A        <path d=\"M21.9994759,10.9428183 L21.9999985,16.3710417 C22,16.6872007 22,17.0058278 22,17.3269411 C22,21.5646545 18.6421356,25 14.5,25 C10.3578644,25 7,21.5646545 7,17.3269411 L7.00087508,10.9907507 L11.0022808,10.9984125 C11.0017033,11.6980114 11.001247,12.4168248 11.0008992,13.1554887 L11,17.3269411 C11,19.3756809 12.5876841,21 14.5,21 C16.4123159,21 18,19.3756809 18,17.3269411 C18,15.0702032 17.9995696,12.9619668 17.998539,10.9910032 L21.9994759,10.9428183 Z M10,7 C10.5522847,7 11,7.44771525 11,8 L11,10 L7,10 L7,8 C7,7.44771525 7.44771525,7 8,7 L10,7 Z M21,7 C21.5522847,7 22,7.44771525 22,8 L22,10 L18,10 L18,8 C18,7.44771525 18.4477153,7 19,7 L21,7 Z\" id=\"path-1\"></path>%0A    </defs>%0A    <g id=\"Symbols\" stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\">%0A        <g id=\"Atoms/Icons/Tools/Magnet\" transform=\"translate(-3.000000, -3.000000)\">%0A            <mask id=\"mask-2\" fill=\"white\">%0A                <use xlink:href=\"%23path-1\"></use>%0A            </mask>%0A            <use id=\"Mask\" fill=\"%235B5B5B\" fill-rule=\"nonzero\" transform=\"translate(14.500000, 16.000000) rotate(45.000000) translate(-14.500000, -16.000000) \" xlink:href=\"%23path-1\"></use>%0A        </g>%0A    </g>%0A</svg>")}.leaflet-pm-toolbar .leaflet-pm-icon-rotate{background-image:url("data:image/svg+xml,<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\">%0A    <defs>%0A        <path id=\"rotate\" d=\"M21.2,5.8c-0.1-0.2-0.2-0.3-0.3-0.5l-0.1-0.2c-0.1-0.2-0.2-0.3-0.3-0.5l-0.1-0.2c-0.1-0.2-0.2-0.3-0.4-0.5l-0.2-0.3l2.8-3.1L18,0.6l-4.6,0.1l0.5,4.5l0.5,4.5l3.2-3.6v0.1l0.1,0.2c0.1,0.1,0.1,0.2,0.2,0.2l0.1,0.2C18,7,18,7.1,18.1,7.2c0.3,0.7,0.6,1.4,0.7,2.1c0.2,1.4,0,2.9-0.6,4.2L18,13.9L17.9,14l-0.3,0.5l-0.1,0.2c-0.2,0.2-0.4,0.5-0.6,0.7c-0.5,0.5-1.1,1-1.7,1.3c-0.6,0.4-1.3,0.6-2.1,0.8c-0.7,0.1-1.5,0.2-2.2,0.1c-0.8-0.1-1.5-0.3-2.2-0.5c-0.7-0.3-1.3-0.7-1.9-1.2l-0.4-0.4l-0.2-0.3L6,15c-0.1-0.1-0.2-0.2-0.2-0.3l-0.3-0.4l-0.1-0.1l-0.2-0.4c0-0.1-0.1-0.1-0.1-0.2l-0.3-0.5l-0.1-0.2c-0.1-0.3-0.2-0.6-0.3-0.9c-0.2-0.8-0.3-1.6-0.3-2.4c0-0.2,0-0.3,0-0.5V8.9c0-0.2,0-0.3,0.1-0.4l0.1-0.6l0.2-0.6c0.3-0.8,0.7-1.5,1.2-2.2c0.5-0.7,1.1-1.3,1.8-1.8c0.2-0.1,0.3-0.4,0.1-0.6C7.5,2.6,7.4,2.5,7.3,2.5H7.1L7,2.6C6.1,3,5.4,3.6,4.7,4.2C4,4.9,3.5,5.7,3,6.6c-0.9,1.8-1.2,3.8-0.8,5.8c0.1,0.5,0.2,0.9,0.3,1.4l0.3,0.8C2.9,14.7,3,14.8,3,15l0.2,0.4c0,0.1,0.1,0.2,0.1,0.2l0.3,0.5c0.1,0.2,0.2,0.3,0.3,0.5l0.1,0.2c0.1,0.1,0.2,0.3,0.3,0.4L5,17.8c0.7,0.7,1.6,1.3,2.5,1.8c0.9,0.5,1.9,0.8,3,0.9c0.5,0.1,1,0.1,1.5,0.1c0.6,0,1.1,0,1.6-0.1c1-0.2,2.1-0.5,3-1l0.2-0.1c0.2-0.1,0.3-0.2,0.5-0.3l0.7-0.4c0.2-0.1,0.3-0.2,0.4-0.3l0.2-0.2c0.2-0.1,0.4-0.3,0.5-0.5l0.1-0.1c0.3-0.3,0.7-0.7,0.9-1l0.6-0.9l0.4-0.6c1-1.9,1.4-4.1,1.1-6.2C22,7.8,21.7,6.7,21.2,5.8z\"/>%0A    </defs>%0A    <g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(0 2)\">%0A        <mask id=\"rotate-b\" fill=\"%23fff\">%0A            <use xlink:href=\"%23rotate\"/>%0A        </mask>%0A        <use fill=\"%235B5B5B\" fill-rule=\"nonzero\" xlink:href=\"%23rotate\"/>%0A        <g fill=\"%235B5B5B\" mask=\"url(%23rotate-b)\">%0A            <rect width=\"30\" height=\"30\"/>%0A        </g>%0A    </g>%0A</svg>%0A")}.leaflet-pm-toolbar .leaflet-pm-icon-text{background-image:url("data:image/svg+xml,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\">%0A  <title>Text</title>%0A  <g id=\"Ebene_2\" data-name=\"Ebene 2\">%0A    <polyline points=\"19.64 7.27 19.64 4 12 4 12 20 15.91 20 8.09 20 12 20 12 4 4.36 4 4.36 7.27\" fill=\"none\" stroke=\"%235b5b5b\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2.5px\"/>%0A  </g>%0A</svg>")}.leaflet-buttons-control-button:hover,.leaflet-buttons-control-button:focus{cursor:pointer;background-color:#f4f4f4}.active>.leaflet-buttons-control-button{box-shadow:inset 0 -1px 5px 2px #514d4d4f}.leaflet-buttons-control-text-hide{display:none}.button-container{position:relative}.button-container .leaflet-pm-actions-container{z-index:2;white-space:nowrap;direction:ltr;display:none;position:absolute;top:0;left:100%}.leaflet-right .leaflet-pm-toolbar .button-container .leaflet-pm-actions-container{left:auto;right:100%}.button-container.active .leaflet-pm-actions-container{display:block}.button-container .leaflet-pm-actions-container:not(.pos-right) a.leaflet-pm-action:last-child{border-right:0;border-radius:0 3px 3px 0}.button-container .leaflet-pm-actions-container.pos-right a.leaflet-pm-action:first-child{border-radius:3px 0 0 3px}.button-container .leaflet-pm-actions-container.pos-right a.leaflet-pm-action:last-child{border-right:0}.button-container .leaflet-pm-actions-container .leaflet-pm-action{color:#fff;-webkit-user-select:none;user-select:none;vertical-align:middle;background-color:#666;border-bottom:none;border-right:1px solid #eee;width:auto;height:29px;padding:0 10px;line-height:29px;display:inline-block}.leaflet-pm-toolbar .button-container:first-child.pos-right.active a.leaflet-buttons-control-button{border-top-left-radius:0}.leaflet-pm-toolbar .button-container:first-child.active:not(.pos-right) a.leaflet-buttons-control-button{border-top-right-radius:0}.button-container .leaflet-pm-actions-container .leaflet-pm-action:hover,.button-container .leaflet-pm-actions-container .leaflet-pm-action:focus{cursor:pointer;background-color:#777}.button-container .leaflet-pm-actions-container .leaflet-pm-action.active-action{background-color:#8e8e8e}.leaflet-pm-toolbar.activeChild{z-index:801}.leaflet-buttons-control-button.pm-disabled{background-color:#f4f4f4}.leaflet-buttons-control-button.pm-disabled>.control-icon{filter:opacity(.6)}.button-container .leaflet-pm-actions-container .pm-action-button-mode.control-icon{filter:brightness(0)invert();width:18px}.app-shell{background:var(--color-bg);flex-direction:column;height:100%;min-height:100%;display:flex}.app-header{justify-content:space-between;align-items:center;gap:var(--space-4);padding:0 var(--space-5);background:var(--color-brand);color:#fff;z-index:20;height:56px;display:flex;box-shadow:0 1px #0000001f}.brand-block{align-items:baseline;gap:var(--space-3);display:flex}.brand-name{font-size:var(--font-xl);letter-spacing:.03em;font-weight:700}.brand-sub{font-size:var(--font-sm);opacity:.72;font-weight:500}.header-meta{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.live-pill{align-items:center;gap:var(--space-2);height:28px;padding:0 var(--space-3);font-size:var(--font-sm);background:#ffffff1f;border-radius:999px;font-weight:600;display:inline-flex}.live-dot{background:var(--color-warning);border-radius:50%;width:8px;height:8px}.live-pill--en_vivo .live-dot{background:var(--color-accent);box-shadow:0 0 0 3px #1f8a7059}.live-pill--error .live-dot,.live-pill--reintentando .live-dot{background:var(--color-danger)}.meta-chip{height:28px;padding:0 var(--space-3);border-radius:var(--radius-sm);font-size:var(--font-sm);background:#ffffff1a;align-items:center;display:inline-flex}.meta-chip--ok{background:#16a34a52}.meta-chip--warn{background:#dc262652}.meta-chip--off{background:#64748b59}.meta-chip--disconnect{background:#5c6b7a73;border:1px solid #ffffff26}.app-main{flex:1;grid-template-columns:minmax(0,1fr) 360px;min-height:0;display:grid}.map-pane{min-height:0;position:relative}.map-frame{width:100%;height:100%;position:relative}.fleet-map{background:#e8eef3;width:100%;height:100%;min-height:480px}.leaflet-container{font:inherit}.leaflet-control-zoom{overflow:hidden;border-radius:var(--radius-sm)!important;border:none!important;box-shadow:0 2px 10px #0b3d5c2e!important}.leaflet-control-zoom a{width:36px!important;height:36px!important;color:var(--color-brand)!important;background:var(--color-surface)!important;border-bottom-color:var(--color-border)!important;line-height:36px!important}.map-dot{background:var(--dot-color,var(--color-accent));border:2px solid #fff;border-radius:50%;display:block;box-shadow:0 1px 4px #1a233259}.map-dot--selected{border-color:var(--color-brand);box-shadow:0 0 0 3px #0b3d5c40}.leaflet-tooltip.fleet-unit-label{color:#fff;letter-spacing:.01em;white-space:nowrap;pointer-events:none;background:#0b3d5c;border:none;border-radius:6px;padding:3px 8px;font-size:11px;font-weight:700;line-height:1.25;box-shadow:0 2px 8px #0b3d5c66}.leaflet-tooltip.fleet-unit-label:before{border-top-color:#0b3d5c}.leaflet-tooltip-top.fleet-unit-label:before{border-width:6px 6px 0;margin-left:-6px}.fleet-trail-ring-marker{background:0 0!important;border:none!important}.fleet-trail-ring{box-sizing:border-box;border:3px solid var(--color-brand);background:#fff;border-radius:50%;width:14px;height:14px;display:block;box-shadow:0 0 0 1px #ffffffe6,0 1px 4px #1a233266}.marker-cluster-small,.marker-cluster-medium,.marker-cluster-large{background:#0b3d5c2e}.marker-cluster-small div,.marker-cluster-medium div,.marker-cluster-large div{background:var(--color-brand);color:#fff;font:600 13px/1 IBM Plex Sans,sans-serif}.map-load-error{color:var(--color-danger);font-size:var(--font-sm);background:#c0392b1a;border-bottom:1px solid #c0392b33;margin:0;padding:10px 16px}.popup-card--slim{min-width:120px}.sr-only{clip:rect(0, 0, 0, 0);border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.vehicle-marker{background:0 0!important;border:none!important}.vehicle-marker .fleet-marker{margin:0}.fleet-marker{pointer-events:auto;width:100%;height:100%;position:relative;overflow:visible}.fleet-marker-svg{transform-origin:50%;filter:drop-shadow(0 1px 2px #00000080);will-change:transform;width:100%;height:100%;display:block;overflow:visible}.fleet-marker-rot{transform-origin:50%;isolation:isolate;will-change:transform;width:100%;height:100%;position:relative}.fleet-marker-base,.fleet-marker-sprite{object-fit:contain;object-position:center center;pointer-events:none;-webkit-user-select:none;user-select:none;z-index:0;filter:drop-shadow(0 1px 2px #0006);width:100%;height:100%;margin:0;display:block;position:absolute;inset:0}.fleet-marker.is-selected .fleet-marker-sprite,.fleet-marker.is-selected .fleet-marker-base{filter:drop-shadow(0 0 0 2px var(--color-brand)) drop-shadow(0 2px 6px #0b3d5c59)}.fleet-marker.is-selected{transform-origin:50%;transform:scale(1.06)}.fleet-marker-pin{z-index:-1;pointer-events:none;width:16px;height:16px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.fleet-marker-pin-core{background:var(--color-brand);border:2px solid #fff;border-radius:50%;position:absolute;inset:3px;box-shadow:0 2px 8px #0b3d5c73}.fleet-marker-pin-ring{border:2px solid #0b3d5c8c;border-radius:50%;position:absolute;inset:-6px}.fleet-marker.is-selected .fleet-marker-pin-ring{animation:2s ease-out infinite marker-pulse}.fleet-popup .leaflet-popup-content-wrapper,.fleet-popup.leaflet-popup{transition:none!important}@keyframes marker-pulse{0%{opacity:.85;transform:scale(.55)}70%{opacity:0;transform:scale(1.35)}to{opacity:0;transform:scale(1.35)}}.meta-chip--focus{border-color:var(--color-brand);color:var(--color-brand);background:#0b3d5c1a;font-weight:700}.side-focus-actions{padding:var(--space-4);border-top:1px solid var(--color-border);background:var(--color-bg)}.side-focus-actions .btn{width:100%}.unit-panel{border-bottom:1px solid var(--color-border);flex:1;min-height:0;overflow:auto}.unit-panel-head{justify-content:space-between;align-items:flex-start;gap:var(--space-3);padding:var(--space-4);border-bottom:1px solid var(--color-border);background:var(--color-row-alt);z-index:1;display:flex;position:sticky;top:0}.unit-panel-title{font-size:var(--font-lg);color:var(--color-brand);margin:0;font-weight:700}.unit-panel-sub{font-size:var(--font-sm);color:var(--color-text-muted);margin:4px 0 0}.unit-panel-body{padding:var(--space-3) var(--space-4) var(--space-5)}.unit-panel-estado{margin-bottom:var(--space-3);border-radius:var(--radius-sm);background:color-mix(in srgb, var(--estado-color) 12%, white);border:1px solid color-mix(in srgb, var(--estado-color) 30%, transparent);font-size:var(--font-md);color:var(--estado-color);align-items:center;gap:8px;padding:8px 12px;font-weight:700;display:inline-flex}.unit-panel-estado-dot{background:var(--estado-color);border-radius:50%;width:10px;height:10px}.unit-panel-section{margin-bottom:var(--space-4)}.unit-panel-section-title{margin:0 0 var(--space-2);font-size:var(--font-sm);color:var(--color-brand);text-transform:uppercase;letter-spacing:.04em;font-weight:700}.unit-panel-grid{border:1px solid var(--color-border);border-radius:var(--radius-sm);flex-direction:column;gap:0;display:flex;overflow:hidden}.unit-panel-row{gap:var(--space-2);font-size:var(--font-sm);background:var(--color-surface);border-bottom:1px solid var(--color-border);grid-template-columns:118px 1fr;padding:8px 12px;display:grid}.unit-panel-row:nth-child(2n){background:var(--color-row-alt)}.unit-panel-row:last-child{border-bottom:none}.unit-panel-label{color:var(--color-text-muted);font-weight:600}.unit-panel-value{color:var(--color-text);text-align:right;word-break:break-word}.unit-panel-value--mono{font-variant-numeric:tabular-nums;font-family:IBM Plex Sans,monospace}.unit-panel-msg{padding:var(--space-4);font-size:var(--font-sm);color:var(--color-text-muted);margin:0}.unit-panel-msg--error{color:var(--color-danger)}.unit-panel-notes{font-size:var(--font-sm);color:var(--color-text);background:var(--color-row-alt);border-radius:var(--radius-sm);margin:0;padding:10px 12px;line-height:1.45}.popup-card--mini{min-width:160px}.map-legend{display:none}.fleet-popup .leaflet-popup-content-wrapper{border-radius:var(--radius-md);padding:0;overflow:hidden;box-shadow:0 8px 24px #0b3d5c2e}.popup-card--detail{padding:var(--space-3) var(--space-4)}.popup-estado{margin-bottom:var(--space-2);border-radius:var(--radius-sm);background:color-mix(in srgb, var(--estado-color) 12%, white);border:1px solid color-mix(in srgb, var(--estado-color) 30%, transparent);font-size:var(--font-sm);color:var(--estado-color);align-items:center;gap:8px;padding:6px 10px;font-weight:700;display:inline-flex}.popup-estado-dot{background:var(--estado-color);border-radius:50%;width:8px;height:8px}.popup-title{font-size:var(--font-lg);color:var(--color-brand);font-weight:700}.popup-sub{font-size:var(--font-sm);color:var(--color-text-muted);margin-bottom:var(--space-2)}.popup-dl{margin:var(--space-2) 0 0;padding:0}.popup-dl-row{gap:var(--space-2);border-bottom:1px solid var(--color-border);font-size:var(--font-xs);grid-template-columns:88px 1fr;padding:6px 0;display:grid}.popup-dl-row:last-child{border-bottom:none}.popup-dl-row dt{color:var(--color-text-muted);margin:0;font-weight:600}.popup-dl-row dd{color:var(--color-text);text-align:right;word-break:break-word;margin:0}.popup-mono{font-variant-numeric:tabular-nums;font-family:IBM Plex Sans,monospace}.popup-loading,.popup-error{font-size:var(--font-sm);color:var(--color-text-muted);margin:0}.popup-error{color:var(--color-danger)}.fleet-popup .leaflet-popup-content{min-width:320px;max-width:360px;margin:0}.fleet-popup .leaflet-popup-content-wrapper{border-radius:var(--radius-md);border:1px solid var(--color-border);padding:0;overflow:hidden;box-shadow:0 10px 28px #0b3d5c38}.fleet-popup .leaflet-popup-close-button{display:none}.popup-card--map{font-size:var(--font-md);background:var(--color-surface)}.popup-map-banner{background:var(--color-brand);color:#fff;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;display:flex}.popup-map-banner-main{flex:1;align-items:center;gap:8px;min-width:0;display:flex}.popup-map-banner-unit{font-weight:700;font-size:var(--font-md);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.popup-map-banner .popup-estado-badge{flex-shrink:0;padding:2px 7px;font-size:10px}.popup-map-close{border-radius:var(--radius-sm);color:#fff;cursor:pointer;background:#ffffff1f;border:1px solid #ffffff59;flex-shrink:0;width:34px;height:34px;padding:0;font-size:22px;line-height:1}.popup-map-close:hover{background:#ffffff38}.popup-map-body{padding:10px 12px 12px}.popup-map-row{border-bottom:1px solid var(--color-border);grid-template-columns:80px 1fr;align-items:start;gap:10px;padding:6px 0;display:grid}.popup-map-row:last-child{border-bottom:none}.popup-map-row--split{grid-template-columns:1fr 1fr;gap:12px}.popup-map-row--split>span{flex-direction:column;gap:2px;display:flex}.popup-map-k{color:var(--color-text-muted);font-size:11px;font-weight:600;display:block}.popup-map-v{color:var(--color-text);text-align:left;word-break:break-word;font-size:var(--font-md);display:block}.popup-map-v--hl{border-radius:var(--radius-sm);background:#e8f4fc;padding:3px 6px;font-family:IBM Plex Sans,monospace;font-size:11px}.popup-map-v--speed{color:var(--color-brand);font-weight:700}.vehicle-marker,.leaflet-marker-icon{overflow:visible!important}.unit-panel-msg--inline{color:var(--color-text-muted);margin:0;padding:4px 10px 0;font-size:11px}.app-main--unit-detail{display:block;position:relative}.app-main--unit-detail .map-pane{width:100%;height:100%}.side-pane.side-pane--unit-detail{z-index:500;pointer-events:none;width:360px;max-width:100%;height:auto;min-height:0;box-shadow:none;background:0 0;border:none;margin:0;padding:0;position:absolute;top:0;right:0}.side-pane--unit-detail .unit-panel--legacy{pointer-events:auto;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);flex:none;width:100%;max-height:min(480px,100vh - 96px);overflow:hidden;box-shadow:0 4px 16px #0b3d5c26}.unit-panel-collapsed{pointer-events:auto;background:var(--color-brand);border:1px solid var(--color-border);border-radius:var(--radius-md) 0 0 var(--radius-md);border-right:none;justify-content:center;align-items:flex-start;width:52px;margin-left:auto;padding:10px 8px;display:flex;box-shadow:-4px 4px 14px #0b3d5c26}.side-pane--unit-detail .unit-panel-tabs,.side-pane--unit-detail .unit-panel-tab-body{background:var(--color-surface)}.unit-panel--compact{min-height:0;padding-top:0;position:relative}.unit-panel-compact-head{color:#fff;background:#3d4f5f;flex-shrink:0;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;padding:8px 12px;display:grid}.unit-panel-collapse-btn{cursor:pointer;background:#fff;border:2px solid #ffffffe6;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;padding:0;display:inline-flex;box-shadow:0 2px 6px #0000001f}.unit-panel-collapse-btn:hover{background:var(--color-row-alt)}.unit-panel-collapse-btn--expand{border-color:#ffffffd9}.unit-panel-collapse-icon{border-right:2.5px solid var(--color-brand);border-bottom:2.5px solid var(--color-brand);width:10px;height:10px;display:block;transform:rotate(-45deg)translate(-1px,-1px)}.unit-panel-collapse-icon--expand{border-color:var(--color-brand);transform:rotate(135deg)translate(-1px,-1px)}.unit-panel-compact-title{font-size:var(--font-sm);text-overflow:ellipsis;white-space:nowrap;min-width:0;font-weight:700;overflow:hidden}.unit-panel-compact-head .btn--ghost{color:#fff;border-color:#ffffff59;flex-shrink:0}.unit-panel--legacy{background:var(--color-surface);flex-direction:column;min-height:0;display:flex}.unit-panel-toolbar{background:#2c5282;gap:4px;padding:6px 8px;display:flex}.unit-panel-tool{color:#fff;cursor:pointer;background:0 0;border:none;padding:4px 8px;font-size:16px}.unit-panel-select-wrap{background:#1a365d;padding:0}.unit-panel-select{color:#fff;width:100%;height:36px;font-size:var(--font-sm);background:#1a365d;border:none;padding:0 10px;font-weight:600}.unit-panel-tabs{border-bottom:1px solid var(--color-border);background:#cbd5e0;display:flex}.unit-panel-tab{font-size:var(--font-sm);color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;flex:1;padding:8px 6px;font-weight:600}.unit-panel-tab.is-active{background:var(--color-surface);color:var(--color-brand);box-shadow:inset 0 -2px 0 var(--color-brand)}.unit-panel-tab-body{flex:auto;min-height:0;max-height:300px;padding:8px 10px 12px;overflow:auto}.unit-tab-head{font-size:var(--font-sm);border-bottom:1px solid var(--color-border);justify-content:space-between;gap:8px;margin-bottom:4px;padding:8px 4px;font-weight:600;display:flex}.unit-estado-pill{color:#fff;border-radius:3px;padding:2px 8px;font-size:11px;font-weight:700;display:inline-block}.unit-tab-row{font-size:var(--font-sm);border-bottom:1px solid #0000000f;grid-template-columns:100px 1fr;gap:8px;padding:6px 4px;display:grid}.unit-tab-k{color:var(--color-text-muted);font-weight:600}.unit-tab-v{text-align:right;color:var(--color-text);word-break:break-word}.unit-tab-v--hl{background:#d6eaf8;border-radius:2px;padding:2px 4px;font-family:IBM Plex Sans,monospace;font-size:12px}.fleet-popup .leaflet-popup-tip{box-shadow:none}.leaflet-tooltip.fleet-unit-label{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-brand);letter-spacing:.01em;white-space:nowrap;pointer-events:none;padding:2px 7px;font-family:DM Sans,sans-serif;font-size:11px;font-weight:700;box-shadow:0 1px 4px #1a23322e}.leaflet-tooltip.fleet-unit-label:before{display:none}.popup-card{padding:var(--space-3) var(--space-4)}.popup-topline{justify-content:space-between;align-items:center;gap:var(--space-2);font-size:var(--font-md);display:flex}.popup-status{border-radius:50%;width:10px;height:10px}.popup-type{font-size:var(--font-sm);color:var(--color-text);margin-top:2px;font-weight:600}.popup-meta{font-size:var(--font-xs);color:var(--color-text-muted);margin-top:2px}.popup-empresa-dot{vertical-align:middle;border-radius:50%;width:8px;height:8px;margin-right:6px;display:inline-block}.side-pane{background:var(--color-surface);border-left:1px solid var(--color-border);flex-direction:column;min-height:0;display:flex}.side-head{padding:var(--space-4);border-bottom:1px solid var(--color-border);background:linear-gradient(180deg, #fff 0%, var(--color-row-alt) 100%)}.side-head h1{font-size:var(--font-lg);color:var(--color-brand);margin:0;font-weight:700}.side-head p{margin:var(--space-1) 0 0;color:var(--color-text-muted);font-size:var(--font-sm)}.map-filters{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border);background:var(--color-bg);gap:var(--space-3);flex-direction:column;flex-shrink:0;display:flex}.map-search-wrap{position:relative}.map-search-icon{color:var(--color-text-muted);pointer-events:none;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.map-search{border:1px solid var(--color-border);border-radius:var(--radius-sm);width:100%;min-height:40px;font-size:var(--font-md);background:var(--color-surface);color:var(--color-text);padding:8px 12px 8px 40px}.map-search:focus{border-color:var(--color-brand);outline:none;box-shadow:0 0 0 3px #0b3d5c1f}.map-filter-field{gap:var(--space-1);flex-direction:column;display:flex}.map-filter-label{font-size:var(--font-xs);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em;font-weight:700}.map-filter-select{border:1px solid var(--color-border);border-radius:var(--radius-sm);min-height:40px;font-size:var(--font-sm);background:var(--color-surface);color:var(--color-text);padding:8px 12px}.map-flota-filter{gap:var(--space-2);flex-direction:column;min-width:0;display:flex}.map-flota-chips{gap:var(--space-2);flex-wrap:wrap;display:flex}.map-flota-chip{border:1px solid var(--color-border);background:var(--color-surface);font-size:var(--font-sm);color:var(--color-text);cursor:pointer;border-radius:999px;align-items:center;gap:6px;padding:6px 12px;font-weight:600;transition:border-color .15s,background .15s,color .15s;display:inline-flex}.map-flota-chip:hover{background:var(--color-row-alt);border-color:#b8c9d8}.map-flota-chip.is-active{border-color:var(--color-brand);color:var(--color-brand);background:#0b3d5c14}.map-flota-chip-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px;box-shadow:0 0 0 1px #00000014}.map-flota-chip-count{font-size:var(--font-xs);color:var(--color-text-muted);margin-left:2px;font-weight:700}.map-flota-chip.is-active .map-flota-chip-count{color:var(--color-brand)}.map-filter-meta{font-size:var(--font-xs);color:var(--color-text-muted);margin:0;font-weight:600}.unit-list-empty{padding:var(--space-6);text-align:center;flex:1;place-items:center;display:grid}.unit-list-empty p{font-size:var(--font-sm);color:var(--color-text-muted);margin:0}.unit-list{padding:var(--space-2);gap:var(--space-2);flex-direction:column;flex:1;display:flex;overflow:auto}.unit-row{gap:var(--space-3);width:100%;padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);text-align:left;cursor:pointer;color:inherit;grid-template-columns:44px 1fr auto;align-items:center;margin:0;transition:border-color .15s,background .15s,box-shadow .15s;display:grid}.unit-row:hover{background:var(--color-hover-row);border-color:#b7c7d6}.unit-row.is-selected{border-color:var(--color-info);box-shadow:0 0 0 1px var(--color-info);background:#eef6fb}.unit-row-icon{border:2px solid var(--color-border);background:#f7fafc;border-radius:8px;justify-content:center;align-items:center;width:48px;height:48px;display:flex;overflow:hidden;box-shadow:0 1px 3px #0b3d5c1a}.unit-row-icon svg{width:42px;height:42px;display:block}.unit-row-main{flex-direction:column;gap:1px;min-width:0;display:flex}.unit-row-top{justify-content:space-between;align-items:baseline;gap:var(--space-2);display:flex}.unit-placa{font-weight:700;font-size:var(--font-md);letter-spacing:.02em;color:var(--color-brand)}.unit-speed{font-family:IBM Plex Sans,DM Sans,sans-serif;font-size:var(--font-xs);font-variant-numeric:tabular-nums;color:var(--color-text-muted);font-weight:600}.unit-row-sub{font-size:var(--font-xs);color:var(--color-text-muted);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.unit-row-driver{color:var(--color-text)}.unit-row-status{flex-direction:column;align-items:flex-end;gap:2px;min-width:76px;display:flex}.unit-estado-line{align-items:center;gap:6px;display:inline-flex}.estado-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.unit-estado-text{color:var(--color-text);font-size:11px;font-weight:600;line-height:1.2}.unit-time-block{flex-direction:column;align-items:flex-end;gap:1px;display:flex}.unit-time{font-variant-numeric:tabular-nums;color:var(--color-text-muted);align-items:baseline;gap:4px;font-family:IBM Plex Sans,DM Sans,sans-serif;font-size:11px;line-height:1.2;display:inline-flex}.unit-time-label{color:var(--color-text-muted);opacity:.9;font-size:10px;font-weight:600}.unit-time-value{color:var(--color-text);font-weight:600}.unit-time--pos .unit-time-value{color:var(--color-text-muted);font-weight:500}.unit-time--stale .unit-time-value{color:var(--color-text-muted)}@media (width<=960px){.app-shell{height:100dvh}.app-header--mobile{gap:var(--space-2);flex-wrap:wrap;height:auto;min-height:48px;padding:8px 12px}.app-header--mobile .brand-sub{display:none}.app-header--mobile .brand-name{font-size:var(--font-lg)}.app-header--mobile .header-meta{justify-content:flex-start;gap:6px;width:100%}.app-header--mobile .meta-chip:not(.meta-chip--focus):not(.meta-chip--summary){display:none}.app-header--mobile .header-action-btn{padding-left:10px;padding-right:10px}.app-main.app-main--mobile{flex:1;min-height:0;display:block;position:relative;overflow:hidden}.app-main--mobile .map-pane{z-index:1;position:absolute;inset:0}.app-main--mobile .map-frame,.app-main--mobile .fleet-map{height:100%;min-height:0}.app-main--mobile:not(.app-main--unit-detail) .side-pane{z-index:450;border-left:none;border-top:1px solid var(--color-border);border-radius:var(--radius-md) var(--radius-md) 0 0;visibility:hidden;pointer-events:none;width:100%;max-height:min(58vh,480px);padding-bottom:env(safe-area-inset-bottom,0px);transition:transform .28s;position:fixed;bottom:0;left:0;right:0;transform:translateY(100%);box-shadow:0 -8px 28px #0b3d5c2e}.app-main--mobile-list-open:not(.app-main--unit-detail) .side-pane{visibility:visible;pointer-events:auto;transform:translateY(0)}.app-main--mobile:not(.app-main--unit-detail) .side-pane:before{content:"";background:var(--color-border);border-radius:2px;flex-shrink:0;width:40px;height:4px;margin:8px auto 4px;display:block}.app-main--mobile.app-main--unit-detail .map-pane{width:100%;height:100%;position:absolute;inset:0}.app-main--mobile .side-pane--unit-detail{z-index:500;pointer-events:none;visibility:visible;width:100%;max-width:none;height:auto;padding-bottom:env(safe-area-inset-bottom,0px);position:fixed;inset:auto 0 0;transform:none}.app-main--mobile .side-pane--unit-detail .unit-panel--legacy{border-radius:var(--radius-md) var(--radius-md) 0 0;border-right:1px solid var(--color-border);width:100%;max-height:min(55vh,420px);box-shadow:0 -6px 24px #0b3d5c33}.app-main--mobile .side-pane--unit-detail .unit-panel-collapsed{border:1px solid var(--color-border);border-radius:var(--radius-md) 0 0 var(--radius-md);border-right:none;width:52px;margin:0;position:fixed;inset:50% 0 auto auto;transform:translateY(-50%);box-shadow:-4px 4px 14px #0b3d5c26}.map-mobile-backdrop{z-index:440;cursor:pointer;background:#1a23326b;border:none;margin:0;padding:0;position:fixed;inset:0}.map-mobile-fab{left:var(--space-3);bottom:calc(var(--space-4) + env(safe-area-inset-bottom,0px));z-index:420;border-radius:var(--radius-sm);background:var(--color-brand);color:#fff;min-height:40px;font:600 var(--font-md) "DM Sans", sans-serif;cursor:pointer;border:none;padding:0 16px;position:absolute;box-shadow:0 4px 14px #0b3d5c59}.map-mobile-fab:hover{background:var(--color-brand-hover)}.app-main--mobile-list-open .map-mobile-fab{display:none}.app-main--mobile .leaflet-bottom.leaflet-right{bottom:calc(var(--space-3) + env(safe-area-inset-bottom,0px));right:var(--space-2)}.app-main--mobile:not(.app-main--unit-detail) .leaflet-bottom.leaflet-right{bottom:calc(var(--space-3) + env(safe-area-inset-bottom,0px))}.app-main--mobile.app-main--unit-detail:not(.app-main--mobile-panel-hidden) .leaflet-bottom.leaflet-right{bottom:calc(min(55vh, 420px) + var(--space-2))}.fleet-popup .leaflet-popup-content{min-width:0;max-width:min(300px,100vw - 48px)}.fleet-popup .leaflet-popup-content-wrapper{max-width:calc(100vw - 32px)}.app-main--mobile .side-head{padding:var(--space-3)}.app-main--mobile .side-head h1{font-size:var(--font-md)}.app-main--mobile .map-filters{padding:var(--space-2) var(--space-3)}.map-legend{left:var(--space-2);bottom:var(--space-2)}}.auth-loading{height:100%;color:var(--color-text-muted);place-items:center;display:grid}.login-shell{background:var(--color-bg);grid-template-columns:1fr 1fr;min-height:100%;display:grid}.login-hero{padding:var(--space-6);background:linear-gradient(145deg, #0a334d 0%, var(--color-brand) 55%, #0d4a6e 100%);color:#fff;justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.login-hero:before{content:"";pointer-events:none;background:radial-gradient(circle at 20% 80%,#1f8a7040 0%,#0000 50%),radial-gradient(circle at 80% 20%,#2e86ab33 0%,#0000 45%);position:absolute;inset:0}.login-hero-inner{max-width:420px;position:relative}.login-hero-mark{border-radius:var(--radius-md);width:56px;height:56px;font-size:var(--font-lg);letter-spacing:.06em;margin-bottom:var(--space-5);background:#ffffff1f;border:1px solid #fff3;place-items:center;font-weight:800;display:grid}.login-hero h1{margin:0 0 var(--space-3);letter-spacing:-.02em;font-size:36px;font-weight:700}.login-hero p{margin:0 0 var(--space-5);font-size:var(--font-lg);opacity:.9;line-height:1.5}.login-hero-list{gap:var(--space-3);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.login-hero-list li{align-items:center;gap:var(--space-3);font-size:var(--font-sm);opacity:.88;display:flex}.login-hero-list li:before{content:"";background:var(--color-accent);border-radius:50%;flex-shrink:0;width:6px;height:6px}.login-panel{padding:var(--space-6);place-items:center;display:grid}.login-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);width:100%;max-width:420px;padding:var(--space-6);gap:var(--space-4);flex-direction:column;display:flex;box-shadow:0 8px 32px #0b3d5c14}.login-card-head h2{font-size:var(--font-2xl);color:var(--color-brand);margin:0}.login-card-head p{margin:var(--space-1) 0 0;color:var(--color-text-muted);font-size:var(--font-sm)}.login-card label{gap:var(--space-2);font-size:var(--font-sm);flex-direction:column;font-weight:600;display:flex}.login-submit{width:100%;margin-top:var(--space-2)}.login-card input,.ui-field-control input,.ui-field-control select,.ui-field-control textarea,.admin-form input,.admin-form select,.admin-form textarea,.admin-search{height:var(--control-h-md);padding:0 var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:var(--font-md);background:var(--color-surface);color:var(--color-text);transition:border-color .15s,box-shadow .15s}.login-card input:focus,.ui-field-control input:focus,.ui-field-control select:focus,.ui-field-control textarea:focus,.admin-form input:focus,.admin-form select:focus,.admin-form textarea:focus,.admin-search:focus{border-color:var(--color-brand);outline:none;box-shadow:0 0 0 3px #0b3d5c1f}.ui-field-control textarea,.admin-form textarea{height:auto;min-height:110px;padding:var(--space-3);resize:vertical;font-family:inherit}.form-error{padding:var(--space-3) var(--space-4);border-radius:var(--radius-sm);color:var(--color-danger);font-size:var(--font-sm);background:#c0392b14;border:1px solid #c0392b33}.form-ok{padding:var(--space-3) var(--space-4);border-radius:var(--radius-sm);color:var(--color-accent);font-size:var(--font-sm);background:#1f8a7014;border:1px solid #1f8a7033}.form-warning{padding:var(--space-3) var(--space-4);border-radius:var(--radius-sm);color:var(--color-text);font-size:var(--font-sm);background:#d689101a;border:1px solid #d6891047}.admin-shell{background:var(--color-bg);grid-template-columns:268px 1fr;height:100%;min-height:100%;display:grid;overflow:hidden}.admin-side{background:linear-gradient(180deg, #082a40 0%, var(--color-brand) 100%);color:#fff;height:100vh;padding:var(--space-5) var(--space-4);gap:var(--space-3);z-index:10;flex-direction:column;display:flex;position:sticky;top:0;box-shadow:4px 0 24px #0b3d5c1a}.admin-brand{align-items:center;gap:var(--space-3);padding-bottom:var(--space-4);margin-bottom:var(--space-1);border-bottom:1px solid #ffffff1a;display:flex}.admin-brand-mark{border-radius:var(--radius-md);width:44px;height:44px;font-size:var(--font-sm);letter-spacing:.05em;background:#ffffff1a;border:1px solid #ffffff26;place-items:center;font-weight:800;display:grid}.admin-brand strong{font-size:var(--font-lg);font-weight:700;display:block}.admin-brand span{font-size:var(--font-xs);opacity:.7}.admin-map-link{justify-content:center;align-items:center;gap:var(--space-2);min-height:var(--control-h-md);padding:0 var(--space-4);border-radius:var(--radius-sm);background:var(--color-accent);color:#fff;font-size:var(--font-sm);font-weight:600;text-decoration:none;transition:background .15s,transform .1s;display:flex}.admin-map-link:hover{background:var(--color-accent-hover)}.admin-map-link svg{flex-shrink:0}.admin-nav-block+.admin-nav-block{margin-top:var(--space-1)}.admin-nav-block--cobranzas{margin-top:var(--space-3);padding-top:var(--space-3);border-top:1px solid #1f8a7073}.admin-nav-label{margin:var(--space-3) 0 var(--space-1);padding:0 var(--space-3);letter-spacing:.1em;text-transform:uppercase;opacity:.5;font-size:10px;font-weight:700}.admin-nav-block--cobranzas .admin-nav-label--cobranzas{opacity:1;color:#a8ecdaf2;margin-top:0}.admin-nav--cobranzas .admin-nav-link.is-active{background:#1f8a7038}.admin-nav--cobranzas .admin-nav-link.is-active:before{background:#4fd4b0}.whatsapp-qr-wrap{min-height:300px;padding:var(--space-4);border:1px dashed var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);justify-content:center;align-items:center;display:flex}.whatsapp-qr-img{border-radius:var(--radius-sm);width:280px;height:280px}.whatsapp-qr-placeholder{text-align:center;max-width:260px;font-size:var(--font-sm);color:var(--color-text-muted);line-height:1.5}.wa-empresa-picker{max-width:420px}.wa-panel{margin-top:var(--space-4);background:var(--color-surface);border:1px solid var(--color-border);border-radius:12px;overflow:hidden;box-shadow:0 4px 24px #0b3d5c12}.wa-panel-head{justify-content:space-between;align-items:flex-start;gap:var(--space-4);padding:var(--space-5);border-bottom:1px solid var(--color-border);color:#fff;background:linear-gradient(135deg,#0b3d5c 0%,#0d4a6e 70%,#0b3d5c 100%);flex-wrap:wrap;display:flex}.wa-panel--connected{border-color:#1f8a7073;box-shadow:0 4px 28px #1f8a702e}.wa-panel--connected .wa-panel-head{background:linear-gradient(135deg,#145a49 0%,#1f8a70 42%,#2ba88a 100%);border-bottom-color:#ffffff2e}.wa-head-status{font-size:var(--font-sm);letter-spacing:.02em;border-radius:999px;align-items:center;gap:8px;padding:6px 14px;font-weight:700;display:inline-flex}.wa-head-status--on{color:#156b58;background:#fff;box-shadow:0 2px 12px #00000026}.wa-head-status-dot{background:var(--color-accent);border-radius:50%;width:10px;height:10px;box-shadow:0 0 0 3px #1f8a7040}.wa-panel-brand{align-items:center;gap:var(--space-4);min-width:0;display:flex}.wa-panel-icon{border-radius:var(--radius-md);background:#ffffff1f;border:1px solid #fff3;flex-shrink:0;place-items:center;width:48px;height:48px;display:grid}.wa-panel-icon svg{width:24px;height:24px}.wa-panel-eyebrow{font-size:var(--font-xs);letter-spacing:.06em;text-transform:uppercase;opacity:.75;margin:0 0 2px;font-weight:600}.wa-panel-title{font-size:var(--font-xl);letter-spacing:-.02em;margin:0;font-weight:700}.wa-panel-head-meta{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.wa-live-dot{font-size:var(--font-xs);color:#ffffffd9;align-items:center;gap:8px;font-weight:600;display:inline-flex}.wa-live-dot-pulse{background:var(--color-accent);border-radius:50%;width:8px;height:8px;animation:2s ease-out infinite wa-pulse;box-shadow:0 0 #1f8a7099}@keyframes wa-pulse{0%{box-shadow:0 0 #1f8a708c}70%{box-shadow:0 0 0 8px #1f8a7000}to{box-shadow:0 0 #1f8a7000}}.wa-panel-body{grid-template-columns:minmax(0,1fr) minmax(280px,360px);gap:0;display:grid}.wa-panel-info{padding:var(--space-5);gap:var(--space-5);border-right:1px solid var(--color-border);flex-direction:column;display:flex}.wa-status-card{gap:var(--space-4);padding:var(--space-4);border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-row-alt);display:flex}.wa-status-card--success{border:2px solid var(--color-accent);background:linear-gradient(135deg,#1f8a7033 0%,#1f8a701a 100%)}.wa-status-card--success .wa-status-card-icon{color:#fff;background:var(--color-accent);border-radius:50%;width:48px;height:48px;box-shadow:0 4px 14px #1f8a7059}.wa-status-card--success .wa-status-card-title{color:#145a49}.wa-status-card--success .wa-status-card-text{color:#1a7560}.wa-status-card--warning{background:#d6891014;border-color:#d6891059}.wa-status-card--info{background:#2e86ab14;border-color:#2e86ab59}.wa-status-card--danger{background:#c0392b0f;border-color:#c0392b59}.wa-status-card-icon{width:44px;height:44px;color:var(--color-brand);flex-shrink:0;place-items:center;display:grid}.wa-status-card-title{font-size:var(--font-md);color:var(--color-text);margin-bottom:4px;font-weight:700;display:block}.wa-status-card-text{font-size:var(--font-sm);color:var(--color-text-muted);margin:0;line-height:1.5}.wa-steps{gap:var(--space-3);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.wa-step{gap:var(--space-3);padding:var(--space-3);border-radius:var(--radius-sm);border:1px solid #0000;align-items:flex-start;transition:background .15s,border-color .15s;display:flex}.wa-step strong{font-size:var(--font-sm);color:var(--color-text);margin-bottom:2px;font-weight:600;display:block}.wa-step span{font-size:var(--font-xs);color:var(--color-text-muted);line-height:1.45}.wa-step-num{width:28px;height:28px;font-size:var(--font-xs);background:var(--color-row-alt);border:1px solid var(--color-border);color:var(--color-text-muted);border-radius:50%;flex-shrink:0;place-items:center;font-weight:700;display:grid}.wa-step.is-current{background:#1f8a700f;border-color:#1f8a7040}.wa-step.is-current .wa-step-num{background:var(--color-accent);border-color:var(--color-accent);color:#fff}.wa-step.is-done .wa-step-num{background:var(--color-brand);border-color:var(--color-brand);color:#fff}.wa-panel-foot{gap:var(--space-2);padding-top:var(--space-3);border-top:1px solid var(--color-border);flex-direction:column;margin-top:auto;display:flex}.wa-panel-updated{font-size:var(--font-xs);color:var(--color-text-muted);margin:0}.wa-panel-note{font-size:var(--font-xs);color:var(--color-text-muted);opacity:.85;margin:0}.wa-panel-qr-col{padding:var(--space-5);background:linear-gradient(180deg, #f8fbfd 0%, var(--color-bg) 100%);justify-content:center;align-items:center;min-height:380px;display:flex}.wa-qr-frame{text-align:center;align-items:center;gap:var(--space-3);flex-direction:column;width:100%;max-width:320px;display:flex}.wa-qr-frame--live{padding:var(--space-4);background:var(--color-surface);border:2px solid var(--color-accent);border-radius:var(--radius-md);animation:2.5s ease-in-out infinite wa-qr-glow;box-shadow:0 8px 32px #1f8a701f}@keyframes wa-qr-glow{0%,to{box-shadow:0 8px 32px #1f8a701f}50%{box-shadow:0 8px 36px #1f8a7038}}.wa-qr-caption{font-size:var(--font-xs);letter-spacing:.04em;text-transform:uppercase;color:var(--color-accent-hover);margin:0;font-weight:700}.wa-qr-img{border-radius:var(--radius-sm);width:100%;max-width:280px;height:auto;padding:var(--space-2);background:#fff}.wa-qr-hint{font-size:var(--font-xs);color:var(--color-text-muted);margin:0;line-height:1.45}.wa-qr-frame--pending{padding:var(--space-6) var(--space-4);color:var(--color-text-muted)}.wa-qr-frame--pending strong{font-size:var(--font-md);color:var(--color-text)}.wa-qr-frame--pending p{font-size:var(--font-sm);max-width:240px;margin:0;line-height:1.5}.wa-panel--connected .wa-panel-qr-col{background:linear-gradient(#1f8a7024 0%,#1f8a700f 100%)}.wa-connected-visual{text-align:center;align-items:center;gap:var(--space-3);padding:var(--space-5);background:var(--color-surface);border:2px solid var(--color-accent);border-radius:var(--radius-md);flex-direction:column;width:100%;max-width:300px;display:flex;box-shadow:0 8px 28px #1f8a7033}.wa-connected-ring{background:var(--color-accent);color:#fff;border:3px solid #ffffffe6;border-radius:50%;place-items:center;width:88px;height:88px;display:grid;box-shadow:0 6px 20px #1f8a7073}.wa-connected-visual strong{font-size:var(--font-xl);color:#145a49;font-weight:700}.wa-connected-visual p{font-size:var(--font-sm);color:#1a7560;max-width:260px;margin:0;line-height:1.5}.wa-spinner{border:3px solid var(--color-border);border-top-color:var(--color-accent);border-radius:50%;width:36px;height:36px;animation:.75s linear infinite wa-spin}@keyframes wa-spin{to{transform:rotate(360deg)}}.wa-test-panel{margin-top:var(--space-4);padding:var(--space-5);background:var(--color-surface);border:1px solid var(--color-border);border-radius:12px}.wa-test-title{margin:0 0 var(--space-1);font-size:var(--font-lg);color:var(--color-brand);font-weight:700}.wa-test-desc{margin:0 0 var(--space-4);font-size:var(--font-sm);color:var(--color-text-muted)}@media (width<=900px){.wa-panel-body{grid-template-columns:1fr}.wa-panel-info{border-right:none;border-bottom:1px solid var(--color-border)}.wa-panel-qr-col{min-height:320px}}.admin-nav{flex-direction:column;gap:2px;display:flex}.admin-nav--section{margin-bottom:var(--space-2)}.admin-nav-scroll{gap:var(--space-1);min-height:0;margin-right:calc(-1 * var(--space-2));padding-right:var(--space-2);flex-direction:column;flex:1;display:flex;overflow-y:auto}.admin-nav-scroll .admin-nav{flex:unset}.admin-nav-link{align-items:center;gap:var(--space-3);min-height:44px;padding:0 var(--space-3);border-radius:var(--radius-sm);font-size:var(--font-sm);color:#ffffffd1;cursor:pointer;text-align:left;background:0 0;border:none;width:100%;font-weight:600;transition:background .15s,color .15s;display:flex;position:relative}.admin-nav-icon{opacity:.85;place-items:center;width:20px;height:20px;display:grid}.admin-nav-link:hover{color:#fff;background:#ffffff1a}.admin-nav-link.is-active{color:#fff;background:#ffffff24}.admin-nav-link.is-active:before{content:"";background:var(--color-accent);border-radius:0 2px 2px 0;width:3px;position:absolute;top:8px;bottom:8px;left:0}.admin-side-foot{gap:var(--space-3);padding-top:var(--space-4);border-top:1px solid #ffffff1a;flex-direction:column;margin-top:auto;display:flex}.admin-user-card{align-items:center;gap:var(--space-3);padding:var(--space-3);border-radius:var(--radius-sm);background:#00000026;display:flex}.admin-user-card strong{font-size:var(--font-sm);font-weight:600;display:block}.admin-user-card span{font-size:var(--font-xs);opacity:.7}.admin-user-avatar{background:linear-gradient(135deg, var(--color-accent), #2e86ab);width:38px;height:38px;font-weight:700;font-size:var(--font-sm);border-radius:50%;flex-shrink:0;place-items:center;display:grid}.admin-logout-btn{justify-content:center;align-items:center;gap:var(--space-2);width:100%;min-height:var(--control-h-sm);padding:0 var(--space-3);border-radius:var(--radius-sm);color:#ffffffe6;font-size:var(--font-sm);cursor:pointer;background:0 0;border:1px solid #ffffff40;font-weight:600;transition:background .15s;display:flex}.admin-logout-btn:hover{background:#ffffff14}.admin-workspace{flex-direction:column;min-width:0;height:100%;min-height:0;display:flex;overflow:hidden}.admin-topbar{z-index:5;min-height:64px;padding:var(--space-3) var(--space-6);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--color-border);background:#ffffffeb;justify-content:space-between;align-items:center;display:flex;position:sticky;top:0;box-shadow:0 1px #1a23320a}.admin-topbar-eyebrow{letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-muted);margin-bottom:2px;font-size:11px;font-weight:700;display:block}.admin-topbar-title{font-size:var(--font-xl);color:var(--color-brand);letter-spacing:-.01em;margin:0;font-weight:700}.admin-topbar-user{font-size:var(--font-sm);color:var(--color-text-muted);padding:var(--space-2) var(--space-3);background:var(--color-row-alt);border-radius:var(--radius-sm);font-weight:600}.admin-main{min-height:0;padding:var(--space-5) var(--space-6) var(--space-6);overscroll-behavior:contain;background:linear-gradient(180deg, var(--color-bg) 0%, #eef2f6 100%);flex:1;overflow:auto}.admin-page{gap:var(--space-5);flex-direction:column;max-width:1360px;margin:0 auto;display:flex}.user-section{gap:var(--space-4);flex-direction:column;display:flex}.user-section-head{justify-content:space-between;align-items:flex-start;gap:var(--space-4);padding-bottom:var(--space-2);border-bottom:1px solid var(--color-border);display:flex}.user-section-title{font-size:var(--font-lg);color:var(--color-brand);margin:0;font-weight:700}.user-section-desc{margin:var(--space-1) 0 0;font-size:var(--font-sm);color:var(--color-text-muted);max-width:52ch;line-height:1.45}.admin-page-head{justify-content:space-between;align-items:flex-start;gap:var(--space-4);margin-bottom:var(--space-5);padding-bottom:var(--space-4);border-bottom:1px solid var(--color-border);display:flex}.admin-page-head h2{font-size:var(--font-lg);color:var(--color-text);margin:0;font-weight:600}.admin-page-head p{margin:var(--space-1) 0 0;color:var(--color-text-muted);font-size:var(--font-sm);max-width:56ch;line-height:1.5}.admin-page-meta{margin-top:var(--space-2);font-size:var(--font-xs);color:var(--color-info);font-weight:600;display:inline-block}.admin-page-head-action{flex-shrink:0}.admin-toolbar{align-items:center;gap:var(--space-4);margin-bottom:var(--space-4);display:flex}.admin-search-wrap{flex:1;max-width:480px;position:relative}.admin-search-icon{left:var(--space-3);color:var(--color-text-muted);pointer-events:none;position:absolute;top:50%;transform:translateY(-50%)}.admin-search{background:var(--color-surface);width:100%;box-shadow:0 1px 2px #1a23320a;padding-left:40px!important}.admin-toolbar-meta{font-size:var(--font-sm);color:var(--color-text-muted);padding:var(--space-2) var(--space-3);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-weight:600}.searchable-select{width:100%;position:relative}.searchable-select-trigger{justify-content:space-between;align-items:center;gap:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);width:100%;min-height:40px;color:var(--color-text);font-size:var(--font-md);text-align:left;cursor:pointer;padding:8px 12px;transition:border-color .15s,box-shadow .15s;display:flex}.searchable-select-trigger:hover:not(:disabled){border-color:#b8c9d8}.searchable-select.is-open .searchable-select-trigger,.searchable-select-trigger:focus-visible{border-color:var(--color-brand);outline:none;box-shadow:0 0 0 3px #0b3d5c1f}.searchable-select.is-disabled .searchable-select-trigger{background:var(--color-row-alt);color:var(--color-text-muted);cursor:not-allowed}.searchable-select-value{flex-direction:column;gap:2px;min-width:0;display:flex}.searchable-select-main{color:var(--color-text);font-weight:600;line-height:1.3}.searchable-select-sub{font-size:var(--font-sm);color:var(--color-text-muted);line-height:1.3}.searchable-select-placeholder{color:var(--color-text-muted)}.searchable-select-caret{border-right:2px solid var(--color-text-muted);border-bottom:2px solid var(--color-text-muted);flex-shrink:0;width:8px;height:8px;transform:rotate(45deg)translateY(-2px)}.searchable-select-hidden{opacity:0;pointer-events:none;width:0;height:0;position:absolute}.searchable-select-panel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);flex-direction:column;display:flex;overflow:hidden;box-shadow:0 16px 40px #0f172a2e}.searchable-select-panel--floating{box-shadow:0 20px 48px #0f172a38}.searchable-select-search{padding:var(--space-3);border-bottom:1px solid var(--color-border);background:var(--color-bg);position:relative}.searchable-select-search-icon{left:calc(var(--space-3) + 8px);color:var(--color-text-muted);pointer-events:none;position:absolute;top:50%;transform:translateY(-50%)}.searchable-select-search input{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);width:100%;min-height:36px;padding-left:36px!important}.searchable-select-meta{font-size:var(--font-xs);color:var(--color-text-muted);border-bottom:1px solid var(--color-border);background:var(--color-surface);padding:6px 12px}.searchable-select-list{padding:var(--space-2);flex:1;min-height:0;margin:0;list-style:none;overflow-y:auto}.searchable-select-option{border-radius:var(--radius-sm);text-align:left;cursor:pointer;background:0 0;border:none;flex-direction:column;align-items:flex-start;gap:2px;width:100%;padding:10px 12px;transition:background .12s;display:flex}.searchable-select-option:hover,.searchable-select-option.is-selected{background:var(--color-row-alt)}.searchable-select-option.is-selected .searchable-select-main{color:var(--color-brand)}.searchable-select-empty{padding:var(--space-4);font-size:var(--font-sm);color:var(--color-text-muted);text-align:center}.dt-shell{background:var(--color-surface);border:1px solid var(--color-border);border-radius:12px;overflow:hidden;box-shadow:0 4px 20px #0b3d5c0f}.dt-head{justify-content:space-between;align-items:center;gap:var(--space-4);padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--color-border);background:linear-gradient(#fafcfe 0%,#fff 100%);display:flex}.dt-head-title{font-size:var(--font-md);color:var(--color-brand);margin:0;font-weight:700}.dt-head-count{font-size:var(--font-xs);color:var(--color-text-muted);background:var(--color-row-alt);border:1px solid var(--color-border);border-radius:999px;padding:4px 12px;font-weight:700}.dt-scroll-top{border-bottom:1px solid var(--color-border);background:var(--color-bg);max-height:14px;display:none;overflow:auto hidden}.dt-scroll-top.is-visible{display:block}.dt-scroll-top-inner{pointer-events:none;height:1px}.dt-scroll{overflow:auto}.dt-table{border-collapse:separate;border-spacing:0;width:100%;font-family:IBM Plex Sans,DM Sans,sans-serif;font-size:var(--font-sm)}.dt-table thead th{z-index:1;background:var(--color-header-bg);color:var(--color-header-text);text-align:left;white-space:nowrap;letter-spacing:.06em;text-transform:uppercase;border-bottom:2px solid #0000001f;padding:14px 20px;font-size:11px;font-weight:600;position:sticky;top:0}.dt-table thead th.is-num,.dt-table tbody td.is-num{text-align:right}.dt-table thead th.w-actions,.dt-table tbody td.w-actions{text-align:center;width:120px}.dt-table tbody td{border-bottom:1px solid var(--color-border);color:var(--color-text);vertical-align:middle;padding:16px 20px}.dt-table tbody tr:last-child td{border-bottom:none}.dt-table tbody tr{transition:background .12s}.dt-table tbody tr:hover{background:var(--color-hover-row)}.dt-table tbody tr:hover td{background:0 0}.dt-table td.is-mono,.dt-table .is-mono{font-variant-numeric:tabular-nums;font-family:IBM Plex Sans,ui-monospace,monospace;font-size:var(--font-xs);letter-spacing:.02em}.dt-cell-primary{flex-direction:column;gap:3px;display:flex}.dt-cell-main{color:var(--color-text);font-weight:600;font-size:var(--font-md)}.dt-cell-sub{font-size:var(--font-xs);color:var(--color-text-muted)}.dt-actions{background:var(--color-row-alt);border:1px solid var(--color-border);border-radius:var(--radius-sm);gap:4px;padding:4px;display:inline-flex}.dt-action{width:32px;height:32px;color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;border-radius:3px;place-items:center;transition:background .12s,color .12s;display:grid}.dt-action:hover{background:var(--color-surface);color:var(--color-brand)}.dt-action--delete:hover{color:var(--color-danger);background:#c0392b14}.dt-action--map:hover,.dt-action--pay:hover{color:var(--color-accent);background:#1f8a701a}.dt-foot{justify-content:space-between;align-items:center;gap:var(--space-4);border-top:1px solid var(--color-border);background:var(--color-bg);font-size:var(--font-xs);color:var(--color-text-muted);flex-wrap:wrap;padding:10px 20px;font-weight:600;display:flex}.dt-pagination{align-items:center;gap:var(--space-3);display:flex}.dt-pagination-meta{font-size:var(--font-sm);color:var(--color-text);text-align:center;min-width:7rem}.dt-empty{padding:var(--space-6) var(--space-5);text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:220px;display:flex}.dt-empty-icon{background:var(--color-row-alt);border:1px solid var(--color-border);width:64px;height:64px;color:var(--color-text-muted);margin-bottom:var(--space-4);border-radius:50%;place-items:center;display:grid}.dt-empty-title{margin:0 0 var(--space-2);font-size:var(--font-lg);color:var(--color-text);font-weight:700}.dt-empty-text{max-width:36ch;font-size:var(--font-sm);color:var(--color-text-muted);margin:0;line-height:1.5}.ui-badge{letter-spacing:.02em;white-space:nowrap;border:1px solid #0000;border-radius:999px;align-items:center;gap:6px;padding:4px 10px;font-size:11px;font-weight:700;display:inline-flex}.ui-badge-dot{border-radius:50%;flex-shrink:0;width:6px;height:6px}.ui-badge--success{color:#156b58;background:#1f8a701a;border-color:#1f8a7040}.ui-badge--success .ui-badge-dot{background:var(--color-accent)}.ui-badge--danger{color:#922b21;background:#c0392b14;border-color:#c0392b33}.ui-badge--danger .ui-badge-dot{background:var(--color-danger)}.ui-badge--warning{color:#9a6508;background:#d689101a;border-color:#d6891040}.ui-badge--warning .ui-badge-dot{background:var(--color-warning)}.ui-badge--info{color:#1e5f7a;background:#2e86ab1a;border-color:#2e86ab40}.ui-badge--info .ui-badge-dot{background:var(--color-info)}.ui-badge--neutral{background:var(--color-row-alt);color:var(--color-text-muted);border-color:var(--color-border)}.ui-badge--neutral .ui-badge-dot{background:var(--color-text-muted)}.ui-color-chip{align-items:center;gap:var(--space-2);background:var(--color-row-alt);border:1px solid var(--color-border);border-radius:999px;padding:4px 10px 4px 4px;display:inline-flex}.ui-color-chip-swatch{width:20px;height:20px;box-shadow:0 0 0 1px var(--color-border);border:2px solid #fff;border-radius:50%}.ui-color-chip-hex{font-family:IBM Plex Sans,monospace;font-size:var(--font-xs);color:var(--color-text-muted);font-weight:600}.ui-form{gap:var(--space-4);flex-direction:column;display:flex}.ui-form-section{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden}.ui-form-section-head{padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--color-border);background:linear-gradient(180deg, #f8fafc 0%, var(--color-bg) 100%)}.ui-form-section-head h3{font-size:var(--font-md);color:var(--color-brand);margin:0;font-weight:700}.ui-form-section-head p{margin:var(--space-1) 0 0;font-size:var(--font-sm);color:var(--color-text-muted);line-height:1.45}.ui-form-section-body{padding:var(--space-5)}.ui-form-grid{gap:var(--space-5);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.ui-form-grid--1{grid-template-columns:1fr}.ui-radio-row{gap:var(--space-3);flex-wrap:wrap;display:flex}.ui-radio{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);min-height:40px;font-size:var(--font-md);color:var(--color-text);cursor:pointer;align-items:center;gap:8px;padding:0 14px;font-weight:600;display:inline-flex}.ui-radio:has(input:checked){border-color:var(--color-brand);color:var(--color-brand);background:#eef3f7}.ui-radio input{accent-color:var(--color-brand);margin:0}.ui-field{gap:var(--space-2);flex-direction:column;min-width:0;display:flex}.ui-field-control{width:100%;margin-top:auto}.ui-field.span-2{grid-column:span 2}.ui-field-head{flex-direction:column;gap:2px;display:flex}.ui-field-label{font-size:var(--font-sm);color:var(--color-text);align-items:center;gap:4px;font-weight:700;display:flex}.ui-field-req{color:var(--color-danger);font-weight:700}.ui-field-hint{font-size:var(--font-xs);color:var(--color-text-muted);margin:0;line-height:1.4}.ui-field-control input,.ui-field-control select,.ui-field-control textarea{background:var(--color-surface);width:100%;box-shadow:inset 0 1px 2px #1a23320a}.ui-field-control select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%235C6B7A' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;padding-right:36px!important}.ui-field-control textarea{min-height:120px;line-height:1.5}.ui-field-control input.is-mono,.ui-field-control .is-mono{letter-spacing:.03em;font-family:IBM Plex Sans,ui-monospace,monospace}.ui-color-picker{align-items:center;gap:var(--space-3);min-height:40px;display:flex}.ui-color-picker-btn{border-radius:var(--radius-sm);width:40px;height:40px;box-shadow:0 0 0 1px var(--color-border), 0 2px 8px #0000001a;cursor:pointer;border:2px solid #fff;flex-shrink:0;overflow:hidden}.ui-color-picker-btn input[type=color]{cursor:pointer;border:none;width:120%;height:120%;margin:-10%;padding:0}.ui-color-picker .is-mono{flex:1}.ui-form-section--flat{background:0 0;border:none;border-radius:0}.ui-form-section--flat .ui-form-section-head{padding:0 0 var(--space-4);background:0 0;border-bottom:none}.ui-form-section--flat .ui-form-section-body{padding:0}.form-grid{gap:var(--space-5);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.form-field.span-2{grid-column:span 2}.admin-card{display:contents}.modal-backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;padding:var(--space-4);cursor:default;background:#0f172a80;place-items:center;display:grid;position:fixed;inset:0}.modal-backdrop--nested{z-index:1100;-webkit-backdrop-filter:none;backdrop-filter:none;background:#0f172a59}.modal-panel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:12px;width:100%;max-width:520px;overflow:hidden;box-shadow:0 24px 64px #0003}.modal-panel--lg{flex-direction:column;max-width:720px;max-height:min(90vh,860px);display:flex}.modal-panel--lg .modal-body{flex:1;overflow-y:auto}.modal-panel--xl{flex-direction:column;width:min(1040px,100vw - 32px);max-width:none;max-height:min(92vh,900px);display:flex}.modal-panel--xl .modal-body{padding:var(--space-6);flex:1;overflow-y:auto}.modal-panel--sm{max-width:440px}.admin-kpis{gap:var(--space-3);margin-bottom:var(--space-4);display:grid}.admin-kpis--2{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-kpis--3{grid-template-columns:repeat(3,minmax(0,1fr))}.admin-kpis--4{grid-template-columns:repeat(4,minmax(0,1fr))}.admin-kpi{min-width:0;padding:var(--space-4);background:var(--color-surface);border:1px solid var(--color-border);border-left:4px solid var(--color-info);border-radius:var(--radius-sm);flex-direction:column;gap:6px;display:flex}.admin-kpi--brand,.admin-kpi--conteo{border-left-color:var(--color-brand);background:#eef3f7}.admin-kpi--warning,.admin-kpi--deuda{border-left-color:var(--color-warning);background:#fff8ef;border-color:#f0d4a8}.admin-kpi--accent,.admin-kpi--success{border-left-color:var(--color-accent);background:#eef8f4;border-color:#c5e6db}.admin-kpi--info,.admin-kpi--parcial{border-left-color:var(--color-info);background:#eef6fa}.admin-kpi--danger,.admin-kpi--vencida{border-left-color:var(--color-danger);background:#fdf0ee}.admin-kpi em{font-style:normal;font-size:var(--font-xs);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.03em;font-weight:600}.admin-kpi strong{font-size:var(--font-2xl);font-variant-numeric:tabular-nums;color:var(--color-text);overflow-wrap:anywhere;font-weight:700;line-height:1.15}.admin-kpi--brand strong,.admin-kpi--conteo strong{color:var(--color-brand)}.admin-kpi--warning strong,.admin-kpi--deuda strong{color:var(--color-warning)}.admin-kpi--accent strong,.admin-kpi--success strong{color:var(--color-accent)}.admin-kpi--info strong,.admin-kpi--parcial strong{color:var(--color-info)}.admin-kpi--danger strong,.admin-kpi--vencida strong{color:var(--color-danger)}.admin-kpi span{font-size:var(--font-xs);color:var(--color-text-muted)}.admin-list-toolbar{align-items:flex-end;gap:var(--space-4);margin-bottom:var(--space-4);display:flex}.admin-list-toolbar .admin-toolbar{flex:1;min-width:0;margin-bottom:0}.admin-list-toolbar .admin-search-wrap{max-width:none}.admin-list-filter{flex:0 0 240px;max-width:100%;margin:0}.admin-list-filter .ui-field-control select{width:100%;height:40px}@media (width<=960px){.admin-kpis--3,.admin-kpis--4{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=560px){.admin-kpis--2,.admin-kpis--3,.admin-kpis--4{grid-template-columns:1fr}.admin-list-toolbar{flex-direction:column;align-items:stretch}.admin-list-filter{flex:auto}}.cobranza-saldo-cell{color:var(--color-warning);font-variant-numeric:tabular-nums;font-weight:700}.cobranza-amounts{gap:var(--space-3);grid-template-columns:repeat(3,1fr);display:grid}.cobranza-amounts>div{padding:var(--space-3) var(--space-4);background:var(--color-row-alt);border:1px solid var(--color-border);border-radius:var(--radius-sm)}.cobranza-amounts>div.is-saldo{background:#fff8ef;border-color:#f0d4a8}.cobranza-amounts>div.is-saldo strong{color:var(--color-warning)}.cobranza-amounts em{font-style:normal;font-size:var(--font-xs);color:var(--color-text-muted);margin-bottom:4px;font-weight:600;display:block}.cobranza-amounts strong{font-size:var(--font-lg);font-variant-numeric:tabular-nums;color:var(--color-brand);font-weight:700}.cobranza-lines{border-collapse:collapse;width:100%;font-size:var(--font-sm)}.cobranza-lines th{background:var(--color-header-bg);color:var(--color-header-text);text-align:left;z-index:1;padding:10px 12px;font-weight:600;position:sticky;top:0}.cobranza-lines td{border-bottom:1px solid var(--color-border);color:var(--color-text);vertical-align:middle;padding:10px 12px}.cobranza-lines tr:nth-child(2n) td{background:var(--color-row-alt)}.cobranza-lines tr:last-child td{border-bottom:none}.cobranza-lines .is-num{text-align:right;font-variant-numeric:tabular-nums}.cobranza-lines-sub{font-size:var(--font-xs);color:var(--color-text-muted);display:block}@media (width<=720px){.cobranza-amounts{grid-template-columns:1fr}}.cobranza-pago-form .ui-form-grid{gap:var(--space-3)}.admin-tab-bar{gap:var(--space-2);margin-bottom:var(--space-4);flex-wrap:wrap;display:flex}.admin-tab{height:40px;padding:0 var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text-muted);font-size:var(--font-md);cursor:pointer;font-weight:600}.admin-tab.is-active{background:var(--color-brand);border-color:var(--color-brand);color:#fff}.admin-tab:hover:not(.is-active){background:var(--color-row-alt);color:var(--color-text)}.ui-check{align-items:flex-start;gap:var(--space-2);font-size:var(--font-md);color:var(--color-text);cursor:pointer;display:flex}.ui-check input{margin-top:3px}.empresa-unidades-btn{white-space:nowrap;align-items:center;gap:6px;display:inline-flex}.empresa-unidades-btn svg{flex-shrink:0;width:16px;height:16px}.empresa-unidades-count{min-width:1.5rem;height:20px;font-size:var(--font-xs);background:#ffffff38;border-radius:10px;justify-content:center;align-items:center;padding:0 6px;font-weight:700;line-height:1;display:inline-flex}.empresa-tarifa-btn{align-items:center;gap:6px;display:inline-flex}.empresa-tarifa-btn svg{width:16px;height:16px}.tarifa-plataforma-modal{gap:var(--space-4);flex-direction:column;display:flex}.tarifa-plataforma-actual{gap:var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.tarifa-plataforma-actual>div{padding:var(--space-3);background:var(--color-row-alt);border:1px solid var(--color-border);border-radius:var(--radius-sm);flex-direction:column;gap:4px;display:flex}.tarifa-plataforma-actual em{font-style:normal;font-size:var(--font-xs);color:var(--color-text-muted);font-weight:600}.tarifa-plataforma-actual strong{font-size:var(--font-sm);color:var(--color-text)}.tarifa-plataforma-actual span{font-size:var(--font-xs);color:var(--color-text-muted)}.tarifa-plataforma-hint{font-size:var(--font-sm);color:var(--color-text-muted);margin:0;line-height:1.45}.tarifa-plataforma-opciones{gap:var(--space-2);flex-direction:column;display:flex}.tarifa-plataforma-opcion{align-items:flex-start;gap:var(--space-3);padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);cursor:pointer;transition:border-color .12s,background .12s;display:flex}.tarifa-plataforma-opcion:hover{background:var(--color-row-alt)}.tarifa-plataforma-opcion.is-selected{border-color:var(--color-brand);box-shadow:inset 3px 0 0 var(--color-brand);background:#eef3f7}.tarifa-plataforma-opcion input{flex-shrink:0;margin-top:3px}.tarifa-plataforma-opcion-body{flex-direction:column;gap:2px;min-width:0;display:flex}.tarifa-plataforma-opcion-body strong{font-size:var(--font-sm);color:var(--color-text)}.tarifa-plataforma-opcion-body span{font-size:var(--font-xs);color:var(--color-text-muted)}.tarifa-plataforma-preview{padding:var(--space-3);border-radius:var(--radius-sm);background:#1f8a7014;border:1px solid #1f8a7040;flex-direction:column;gap:4px;display:flex}.tarifa-plataforma-preview span{font-size:var(--font-xs);color:var(--color-text-muted);font-weight:600}.tarifa-plataforma-preview strong{font-size:var(--font-xl);color:var(--color-accent)}.tarifa-plataforma-preview em{font-style:normal;font-size:var(--font-xs);color:var(--color-text-muted)}@media (width<=560px){.tarifa-plataforma-actual{grid-template-columns:1fr}}.wa-comprobante-summary{gap:var(--space-3);margin-bottom:var(--space-4);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.wa-comprobante-summary>div{padding:var(--space-3);background:var(--color-row-alt);border:1px solid var(--color-border);border-left:3px solid var(--color-brand);border-radius:var(--radius-sm);flex-direction:column;gap:4px;min-width:0;display:flex}.wa-comprobante-summary em{font-style:normal;font-size:var(--font-xs);color:var(--color-text-muted);font-weight:600}.wa-comprobante-summary strong{font-size:var(--font-sm);color:var(--color-text);word-break:break-word;font-weight:700}@media (width<=720px){.wa-comprobante-summary{grid-template-columns:1fr}}.cobranza-pago-form .ui-field-hint{display:none}.cobranza-pago-summary{gap:var(--space-2);padding:var(--space-3);margin-bottom:var(--space-4);background:var(--color-row-alt);border:1px solid var(--color-border);border-radius:var(--radius-sm);grid-template-columns:repeat(3,1fr);display:grid}.cobranza-pago-summary em{font-style:normal;font-size:var(--font-xs);color:var(--color-text-muted);margin-bottom:2px;display:block}.cobranza-pago-summary strong{font-size:var(--font-md);font-variant-numeric:tabular-nums;color:var(--color-text);font-weight:600}.cobranza-pago-section{margin-bottom:var(--space-4)}.cobranza-pago-section-head{justify-content:space-between;align-items:center;gap:var(--space-3);margin-bottom:var(--space-2);display:flex}.cobranza-pago-section-head h3{font-size:var(--font-md);color:var(--color-brand);margin:0;font-weight:600}.cobranza-pago-hint{margin:0 0 var(--space-3);font-size:var(--font-sm);color:var(--color-text-muted)}.cobranza-pago-empty{padding:var(--space-3);font-size:var(--font-sm);color:var(--color-text-muted);border:1px dashed var(--color-border);border-radius:var(--radius-sm);margin:0}.cobranza-ticket{gap:var(--space-3);margin-bottom:var(--space-4);flex-direction:column;display:flex}.cobranza-ticket-head{justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.cobranza-ticket-head h3{font-size:var(--font-md);color:var(--color-brand);margin:0;font-weight:600}.cobranza-ticket-scroll{border:1px solid var(--color-border);border-radius:var(--radius-sm);max-height:280px;overflow-y:auto}.cobranza-ticket-table{margin:0}.cobranza-ticket-table thead th{z-index:1;position:sticky;top:0}.cobranza-ticket-table th.is-actions,.cobranza-ticket-table td.is-actions{text-align:right;white-space:nowrap;width:88px}.cobranza-ticket-list{border:1px solid var(--color-border);border-radius:var(--radius-sm);max-height:220px;margin:0;padding:0;list-style:none;overflow:hidden auto}.cobranza-ticket-list li{justify-content:space-between;align-items:center;gap:var(--space-3);border-bottom:1px solid var(--color-border);background:var(--color-surface);padding:10px 12px;display:flex}.cobranza-ticket-list li:nth-child(2n){background:var(--color-row-alt)}.cobranza-ticket-list li:last-child{border-bottom:none}.cobranza-ticket-item-main{flex-direction:column;gap:2px;min-width:0;display:flex}.cobranza-ticket-item-main strong{font-size:var(--font-sm);color:var(--color-text);font-weight:600}.cobranza-ticket-item-main span{font-size:var(--font-xs);font-variant-numeric:tabular-nums;color:var(--color-text-muted);font-family:IBM Plex Sans,ui-monospace,monospace}.cobranza-ticket-item-side{align-items:center;gap:var(--space-2);flex-shrink:0;display:flex}.cobranza-ticket-list>li>em,.cobranza-ticket-item-side em{font-style:normal;font-size:var(--font-sm);font-variant-numeric:tabular-nums;color:var(--color-text);text-align:right;min-width:72px;font-weight:600}.cobranza-pick-list{gap:var(--space-2);flex-direction:column;max-height:320px;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.cobranza-pick-item{align-items:center;gap:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);text-align:left;cursor:pointer;width:100%;color:var(--color-text);padding:10px 12px;display:flex}.cobranza-pick-item:hover{background:#e3ecf3}.cobranza-pick-item.is-selected{border-color:var(--color-brand);background:#e3ecf3}.cobranza-pick-item-check{width:18px;color:var(--color-brand);font-size:var(--font-sm);flex-shrink:0;line-height:1}.cobranza-pick-item-main{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.cobranza-pick-item-main strong{font-size:var(--font-sm);font-weight:600}.cobranza-pick-item-main span{font-size:var(--font-xs);font-variant-numeric:tabular-nums;color:var(--color-text-muted);font-family:IBM Plex Sans,ui-monospace,monospace}.cobranza-pick-item>em{font-style:normal;font-size:var(--font-sm);font-variant-numeric:tabular-nums;flex-shrink:0;font-weight:600}.cobranza-adelanto-add{gap:var(--space-3);padding:var(--space-3);background:var(--color-row-alt);border:1px solid var(--color-border);border-radius:var(--radius-sm);grid-template-columns:1fr;display:grid}.cobranza-adelanto-add-actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.cobranza-adelanto-list-head{justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.cobranza-adelanto-list-head h3{font-size:var(--font-md);color:var(--color-brand);margin:0;font-weight:600}.cobranza-adelanto-empty{padding:var(--space-5) var(--space-4);text-align:center;font-size:var(--font-sm);color:var(--color-text-muted);border:1px dashed var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);margin:0}.cobranza-adelanto-list{border:1px solid var(--color-border);border-radius:var(--radius-sm);max-height:240px;margin:0;padding:0;list-style:none;overflow:hidden auto}.cobranza-adelanto-list li{justify-content:space-between;align-items:center;gap:var(--space-3);border-bottom:1px solid var(--color-border);background:var(--color-surface);padding:10px 12px;display:flex}.cobranza-adelanto-list li:nth-child(2n){background:var(--color-row-alt)}.cobranza-adelanto-list li:last-child{border-bottom:none}.cobranza-adelanto-item-main{flex-direction:column;gap:2px;min-width:0;display:flex}.cobranza-adelanto-item-main strong{font-size:var(--font-sm);color:var(--color-text);font-weight:600}.cobranza-adelanto-item-main span{font-size:var(--font-xs);font-variant-numeric:tabular-nums;color:var(--color-text-muted);font-family:IBM Plex Sans,ui-monospace,monospace}.cobranza-adelanto-item-side{align-items:center;gap:var(--space-2);flex-shrink:0;display:flex}.cobranza-adelanto-item-side em{font-style:normal;font-size:var(--font-sm);font-variant-numeric:tabular-nums;color:var(--color-text);text-align:right;min-width:72px;font-weight:600}.cobranza-adelanto-item-spacer{width:64px;display:inline-block}.cobranza-adelanto-totales{margin:0}.cobranza-adelanto-toolbar{gap:var(--space-2);margin-bottom:var(--space-3);flex-wrap:wrap;display:flex}.cobranza-adelanto-row{gap:var(--space-3);grid-template-columns:140px 1fr;align-items:end;display:grid}.cobranza-adelanto-presets{gap:var(--space-2);flex-wrap:wrap;padding-bottom:2px;display:flex}.cobranza-adelanto-presets .btn.is-active{background:var(--color-brand);color:#fff;border-color:var(--color-brand)}@media (width<=720px){.cobranza-pago-summary,.cobranza-adelanto-row{grid-template-columns:1fr}}.modal-head{justify-content:space-between;align-items:flex-start;gap:var(--space-4);padding:var(--space-5);border-bottom:1px solid var(--color-border);background:linear-gradient(#f8fafc 0%,#fff 100%);display:flex}.modal-head-text h2{font-size:var(--font-xl);color:var(--color-brand);margin:0;font-weight:700}.modal-head-text p{margin:var(--space-1) 0 0;font-size:var(--font-sm);color:var(--color-text-muted)}.modal-head h2{font-size:var(--font-lg);color:var(--color-brand);margin:0}.modal-close{border-radius:var(--radius-sm);cursor:pointer;width:36px;height:36px;color:var(--color-text-muted);background:0 0;border:none;place-items:center;font-size:22px;line-height:1;transition:background .15s;display:grid}.modal-close:hover{background:var(--color-row-alt);color:var(--color-text)}.modal-body{padding:var(--space-5)}.modal-foot{justify-content:flex-end;align-items:center;gap:var(--space-3);padding:var(--space-4) var(--space-5);border-top:1px solid var(--color-border);background:var(--color-bg);display:flex}.user-form-columns{gap:var(--space-6);grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;display:grid}.user-form-col{gap:var(--space-5);flex-direction:column;min-width:0;display:flex}.ui-form-grid--spacious{gap:var(--space-5) var(--space-6)}.ui-textarea{border:1px solid var(--color-border);border-radius:var(--radius-sm);width:100%;min-height:88px;font-family:inherit;font-size:var(--font-md);color:var(--color-text);background:var(--color-surface);resize:vertical;padding:10px 12px;line-height:1.45}.ui-textarea:focus{border-color:var(--color-brand);outline:none;box-shadow:0 0 0 3px #0b3d5c1f}input.is-readonly{background:var(--color-row-alt);color:var(--color-text-muted);cursor:not-allowed}.access-code-row{gap:var(--space-3);align-items:stretch;display:flex}.access-code-input{letter-spacing:.06em;text-transform:uppercase;flex:1;font-family:IBM Plex Sans,monospace;font-weight:600}.scope-options{gap:var(--space-3);flex-direction:column;display:flex}.scope-option{align-items:flex-start;gap:var(--space-3);padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);cursor:pointer;transition:border-color .15s,background .15s;display:flex}.scope-option:hover{background:var(--color-row-alt);border-color:#b8c9d8}.scope-option.is-selected{border-color:var(--color-brand);background:#eef3f7;box-shadow:inset 0 0 0 1px #0b3d5c14}.scope-option input{accent-color:var(--color-brand);margin-top:3px}.scope-option-text{flex-direction:column;gap:2px;display:flex}.scope-option-text strong{font-size:var(--font-md);color:var(--color-text)}.scope-option-text small{font-size:var(--font-sm);color:var(--color-text-muted);line-height:1.4}.user-form-note{padding:var(--space-4) var(--space-5);border-radius:var(--radius-md);background:linear-gradient(#f0f7fb 0%,#fff 100%);border:1px solid #c5dce8}.user-form-note strong{font-size:var(--font-sm);color:var(--color-brand);margin-bottom:var(--space-2);display:block}.user-form-note p{font-size:var(--font-sm);color:var(--color-text-muted);margin:0;line-height:1.5}.user-form-note code{color:var(--color-brand);background:#0b3d5c14;border-radius:4px;padding:2px 6px;font-family:IBM Plex Sans,monospace;font-weight:600}.dt-code{font-family:IBM Plex Sans,monospace;font-weight:600;font-size:var(--font-sm);letter-spacing:.04em;color:var(--color-brand)}@media (width<=900px){.user-form-columns{grid-template-columns:1fr}}.confirm-backdrop{z-index:1200}.confirm-panel{text-align:center;overflow:hidden}.confirm-panel .modal-head{display:none}.confirm-body{padding:var(--space-6) var(--space-5) var(--space-4)}.confirm-icon{width:56px;height:56px;margin:0 auto var(--space-4);border-radius:50%;place-items:center;display:grid}.confirm-icon--danger{color:var(--color-danger);background:#c0392b1a;border:1px solid #c0392b33}.confirm-icon--primary{color:var(--color-brand);background:#0b3d5c14;border:1px solid #0b3d5c26}.confirm-title{margin:0 0 var(--space-3);font-size:var(--font-xl);color:var(--color-text);font-weight:700}.confirm-message{font-size:var(--font-sm);color:var(--color-text-muted);margin:0;max-width:42ch;margin-inline:auto;line-height:1.55}.confirm-body .form-error{margin-top:var(--space-4);text-align:left}.confirm-foot{justify-content:center;gap:var(--space-3)}.confirm-foot .btn{min-width:120px}.admin-form{gap:var(--space-4);flex-direction:column;display:flex}.admin-form label{gap:var(--space-2);font-size:var(--font-sm);flex-direction:column;font-weight:600;display:flex}.form-actions{justify-content:flex-end;gap:var(--space-3);margin-top:var(--space-2);padding-top:var(--space-4);border-top:1px solid var(--color-border);display:flex}.gps-onboard-panel{background:var(--color-surface);border-radius:var(--radius-md);border:1px solid var(--color-border);width:min(520px,100vw - 32px);overflow:hidden;box-shadow:0 24px 64px #00000047}.gps-onboard-head{padding:var(--space-5) var(--space-6);border-bottom:1px solid var(--color-border);background:linear-gradient(#f4f7fa 0%,#fff 100%)}.gps-onboard-head h2{font-size:var(--font-xl);color:var(--color-brand);margin:0;font-weight:700}.gps-onboard-head p{margin:var(--space-2) 0 0;color:var(--color-text-muted);font-size:var(--font-sm);font-family:IBM Plex Sans,sans-serif}.gps-onboard-body{padding:var(--space-5) var(--space-6)}.gps-onboard-note{margin:0 0 var(--space-4);font-size:var(--font-sm);color:var(--color-warning)}.gps-onboard-steps{gap:var(--space-4);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.gps-onboard-step{gap:var(--space-3);align-items:flex-start;display:flex}.gps-onboard-step__mark{width:28px;height:28px;font-size:var(--font-sm);background:var(--color-row-alt);color:var(--color-text-muted);border:1px solid var(--color-border);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-weight:700;display:inline-flex}.gps-onboard-step--active .gps-onboard-step__mark{background:var(--color-info);color:#fff;border-color:var(--color-info)}.gps-onboard-step--done .gps-onboard-step__mark{background:var(--color-accent);color:#fff;border-color:var(--color-accent)}.gps-onboard-step--fail .gps-onboard-step__mark{background:var(--color-danger);color:#fff;border-color:var(--color-danger)}.gps-onboard-step__label{font-size:var(--font-md);color:var(--color-text);font-weight:600}.gps-onboard-step__detail{font-size:var(--font-sm);color:var(--color-text-muted);margin-top:2px}.gps-onboard-hint{margin:var(--space-5) 0 0;font-size:var(--font-sm);color:var(--color-text-muted)}.gps-onboard-foot{padding:var(--space-4) var(--space-6) var(--space-5);border-top:1px solid var(--color-border);justify-content:flex-end;display:flex}.wizard-overlay{z-index:1100;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);padding:var(--space-4);cursor:default;background:#0f172a99;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.wizard-panel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:12px;flex-direction:column;width:min(1240px,100vw - 32px);height:min(94vh,920px);max-height:94vh;display:flex;overflow:hidden;box-shadow:0 32px 80px #00000047}.wizard-panel-head{justify-content:space-between;align-items:flex-start;gap:var(--space-4);padding:var(--space-5) var(--space-6);border-bottom:1px solid var(--color-border);background:linear-gradient(#f4f7fa 0%,#fff 100%);flex-shrink:0;display:flex}.wizard-panel-head h2{color:var(--color-brand);letter-spacing:-.02em;margin:0;font-size:24px;font-weight:700}.wizard-panel-head p{margin:var(--space-2) 0 0;color:var(--color-text-muted);font-size:var(--font-md);max-width:52ch}.vehicle-wizard-form{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.wizard{min-height:0;padding:var(--space-5) var(--space-6);flex-direction:column;flex:1;display:flex;overflow:hidden}.wizard-progress{background:var(--color-border);height:4px;margin-bottom:var(--space-5);border-radius:2px;overflow:hidden}.wizard-progress-bar{background:linear-gradient(90deg, var(--color-brand), var(--color-accent));border-radius:2px;height:100%;transition:width .3s}.wizard-steps{margin:0 0 var(--space-5);gap:var(--space-3);flex-shrink:0;grid-template-columns:repeat(5,1fr);padding:0;list-style:none;display:grid}.wizard-step{align-items:flex-start;gap:var(--space-3);padding:var(--space-4);border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-bg);min-height:76px;transition:border-color .2s,box-shadow .2s;display:flex}.wizard-step.is-active{border-color:var(--color-brand);background:#eef3f7;box-shadow:0 0 0 1px #0b3d5c1a,0 4px 12px #0b3d5c14}.wizard-step.is-done{border-color:var(--color-accent);background:#1f8a700f}.wizard-step-num{background:var(--color-brand);color:#fff;border-radius:50%;flex-shrink:0;place-items:center;width:28px;height:28px;font-size:13px;font-weight:700;display:grid}.wizard-step.is-done .wizard-step-num{background:var(--color-accent);font-size:14px}.wizard-step-text{flex-direction:column;gap:4px;min-width:0;display:flex}.wizard-step-text strong{font-size:var(--font-sm);color:var(--color-text);line-height:1.25}.wizard-step-text small{font-size:var(--font-xs);color:var(--color-text-muted);line-height:1.35}.wizard-body{padding:var(--space-2) 0 var(--space-4);flex:1;min-height:320px;overflow:auto}.wizard-actions{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-4) var(--space-6);border-top:1px solid var(--color-border);background:var(--color-bg);flex-shrink:0;display:flex}.wizard-actions-right{gap:var(--space-3);display:flex}.header-action-btn{white-space:nowrap;text-decoration:none}.header-action-btn.btn--ghost{color:#fff!important;border-color:#ffffff59!important}.header-action-btn.btn--ghost:hover:not(:disabled){background:#ffffff1f!important}.header-action-btn.btn--secondary{box-shadow:0 1px 2px #00000026}@media (width<=1024px){.wizard-panel{width:calc(100vw - 24px);height:96vh}.wizard-steps{grid-template-columns:repeat(3,1fr)}}@media (width<=900px){.login-shell{grid-template-columns:1fr}.login-hero{min-height:240px;padding:var(--space-5)}.login-hero h1{font-size:var(--font-2xl)}.wizard-steps{grid-template-columns:1fr 1fr}.ui-form-grid{grid-template-columns:1fr}.ui-field.span-2{grid-column:span 1}}@media (width<=800px){.admin-shell{grid-template-columns:1fr;height:auto;min-height:100%;overflow:visible}.admin-workspace{height:auto;overflow:visible}.admin-main{overflow:visible}.admin-side{flex-flow:wrap;align-items:center;height:auto;position:static}.admin-nav{flex-flow:wrap;flex:unset;width:100%}.admin-side-foot{border-top:none;flex-flow:wrap;align-items:center;width:100%;padding-top:0}.admin-topbar{padding:var(--space-3) var(--space-4)}.admin-main,.wizard-panel-head,.wizard{padding:var(--space-4)}.wizard-steps{grid-template-columns:1fr}.wizard-actions{padding:var(--space-4);flex-wrap:wrap}}.admin-nav-block--reportes .admin-nav-label--reportes{opacity:1;color:#8cc8e6f2;margin-top:0}.admin-nav--reportes .admin-nav-link.is-active{background:#2e86ab38}.admin-nav--reportes .admin-nav-link.is-active:before{background:#6eb8d9}.recorrido-report{gap:var(--space-4);flex-direction:column;max-width:none;display:flex}.recorrido-filters-card .recorrido-filters-grid{gap:var(--space-4);grid-template-columns:repeat(auto-fill,minmax(200px,1fr));align-items:end;display:grid}.recorrido-filters-actions{align-items:flex-end;gap:var(--space-2);flex-wrap:wrap;padding-bottom:2px;display:flex}.km-period-pills{flex-wrap:wrap;gap:8px;display:flex}.km-period-pill{appearance:none;border:1px solid var(--color-border,#d5dee7);color:var(--color-text,#1a2332);font:inherit;cursor:pointer;background:#fff;border-radius:10px;padding:8px 14px;font-size:13px;font-weight:700}.km-period-pill.is-active{background:var(--color-brand,#0b3d5c);border-color:var(--color-brand,#0b3d5c);color:#fff}.shared-links-page{gap:var(--space-5,20px);flex-direction:column;display:flex}.shared-links-toast{color:#1a7560;background:#e8f6f1;border-radius:10px;margin:0;padding:10px 14px;font-size:13px;font-weight:600}.shared-links-list-block{gap:var(--space-4,16px);flex-direction:column;display:flex}.shared-links-list-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.shared-links-list-title{color:var(--color-brand,#0b3d5c);margin:0;font-size:16px;font-weight:800}.shared-links-list-tools{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.shared-links-list-tools .input{min-width:220px}.shared-links-row-actions{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.recorrido-filter-hint{gap:var(--space-2);margin:var(--space-4) 0 0;flex-wrap:wrap;display:flex}.recorrido-chip{min-height:28px;padding:0 var(--space-3);font-size:var(--font-xs);color:var(--color-brand);background:#eef3f7;border:1px solid #c8d8e6;border-radius:999px;align-items:center;font-weight:600;display:inline-flex}.recorrido-chip--muted{color:var(--color-text-muted);background:var(--color-surface);border-color:var(--color-border);font-family:IBM Plex Sans,monospace;font-weight:500}.recorrido-empty{padding:var(--space-6);text-align:center;background:var(--color-surface);border:1px dashed var(--color-border);border-radius:var(--radius-md);color:var(--color-text-muted)}.recorrido-empty strong{margin-bottom:var(--space-2);font-size:var(--font-lg);color:var(--color-text);display:block}.recorrido-empty p{font-size:var(--font-sm);margin:0}.recorrido-results{gap:var(--space-4);flex-direction:column;display:flex}.recorrido-unit-banner{justify-content:space-between;align-items:flex-start;gap:var(--space-4);padding:var(--space-4) var(--space-5);border-radius:var(--radius-md);color:#fff;background:linear-gradient(135deg,#0b3d5c 0%,#145a7a 100%);flex-wrap:wrap;display:flex;box-shadow:0 8px 24px #0b3d5c2e}.recorrido-unit-eyebrow{letter-spacing:.08em;text-transform:uppercase;opacity:.72;margin-bottom:var(--space-1);font-size:10px;font-weight:700;display:block}.recorrido-unit-title{font-size:var(--font-xl);margin:0;font-weight:700;line-height:1.2}.recorrido-unit-sub{margin:var(--space-1) 0 0;font-size:var(--font-sm);opacity:.88}.recorrido-unit-range{min-width:min(100%,320px);padding:var(--space-3) var(--space-4);border-radius:var(--radius-sm);background:#ffffff1a;border:1px solid #ffffff29}.recorrido-unit-range strong{font-size:var(--font-sm);font-weight:600;line-height:1.45;display:block}.recorrido-unit-signals{margin-top:var(--space-2);font-size:var(--font-xs);opacity:.88;line-height:1.4;display:block}.recorrido-session-list{gap:var(--space-2);max-height:180px;padding:var(--space-3) var(--space-5);border-top:1px solid var(--color-border);background:var(--color-bg);flex-direction:column;display:flex;overflow:auto}.recorrido-session-item{gap:var(--space-3);padding:var(--space-2) var(--space-3);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:var(--font-sm);color:var(--color-text-muted);grid-template-columns:auto 1fr auto;align-items:center;display:grid}.recorrido-session-item strong{color:var(--color-text);font-size:var(--font-sm);font-weight:600}.recorrido-session-badge{font-size:var(--font-xs);color:var(--color-brand);white-space:nowrap;align-items:center;gap:8px;font-weight:700;display:inline-flex}.recorrido-session-dot{background:var(--estado-color,var(--color-accent));border-radius:999px;flex-shrink:0;width:10px;height:10px}.recorrido-estado-pill{min-height:28px;padding:0 var(--space-3);font-size:var(--font-xs);color:var(--color-text);background:var(--color-surface);border:1px solid var(--color-border);border-radius:999px;align-items:center;gap:8px;font-weight:600;display:inline-flex}.recorrido-estado-dot{background:var(--estado-color,var(--color-text-muted));border-radius:999px;flex-shrink:0;width:10px;height:10px}.recorrido-active-marker span{background:var(--estado-color,var(--color-accent))}.recorrido-map-foot{align-items:flex-start;gap:var(--space-3);padding:var(--space-3) var(--space-5);border-top:1px solid var(--color-border);background:var(--color-bg);flex-flow:column wrap;display:flex}.recorrido-note{padding:var(--space-3) var(--space-4);font-size:var(--font-sm);color:var(--color-warning);border-radius:var(--radius-sm);background:#fff8ef;border:1px solid #f0d4a8;margin:0}.recorrido-map-hero{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);flex-direction:column;display:flex;overflow:hidden;box-shadow:0 2px 12px #1a23320f}.recorrido-map-hero-head{padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--color-border);background:linear-gradient(180deg, #f8fafc 0%, var(--color-surface) 100%)}.recorrido-map-hero-head h3{font-size:var(--font-md);color:var(--color-text);margin:0;font-weight:700}.recorrido-map-hero-head p{margin:var(--space-1) 0 0;font-size:var(--font-sm);color:var(--color-text-muted)}.recorrido-map-shell{flex-direction:column;display:flex}.recorrido-map-toolbar{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border);background:var(--color-surface);flex-wrap:wrap;display:flex}.recorrido-map-toolbar-title{font-size:var(--font-sm);color:var(--color-text);font-weight:600}.recorrido-map-toolbar-actions{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.recorrido-map-shell--fullscreen{z-index:1200;background:var(--color-bg);box-shadow:none;position:fixed;inset:0}.recorrido-map-shell--fullscreen .recorrido-map-toolbar{padding:var(--space-3) var(--space-5);background:var(--color-brand);border-bottom-color:var(--color-brand-hover);flex-shrink:0}.recorrido-map-shell--fullscreen .recorrido-map-toolbar-title{color:#fff;font-size:var(--font-md)}.recorrido-map-shell--fullscreen .recorrido-map-toolbar-actions .btn--ghost{color:#fff;border-color:#ffffff73}.recorrido-map-shell--fullscreen .recorrido-map-toolbar-actions .btn--ghost:hover:not(:disabled){color:#fff;background:#ffffff1f}.recorrido-map-shell--fullscreen .recorrido-map-canvas.route-draw-map{flex:auto;height:auto;min-height:0}.recorrido-map-shell--fullscreen .recorrido-map-inner{height:100%;min-height:100%}.recorrido-map-shell--fullscreen .recorrido-map-foot{background:var(--color-surface);flex-shrink:0}.recorrido-map-shell--fullscreen .recorrido-session-list,.recorrido-map-shell--fullscreen .recorrido-disconnect-list{flex-shrink:0;max-height:120px;overflow:auto}body.recorrido-map-fullscreen-open{overflow:hidden}.recorrido-map-canvas.route-draw-map{background:var(--color-row-alt);border:none;border-radius:0;height:min(62vh,720px);min-height:520px}.recorrido-map-inner{min-height:480px}.recorrido-map-legend{gap:var(--space-2);flex-wrap:wrap;display:flex}.recorrido-legend-chip{min-height:28px;padding:0 var(--space-3);font-size:var(--font-xs);color:var(--color-text);background:var(--color-surface);border:1px solid var(--color-border);border-radius:999px;align-items:center;gap:8px;font-weight:600;display:inline-flex}.recorrido-legend-chip:before{content:"";background:var(--legend-color,var(--color-accent));border-radius:999px;flex-shrink:0;width:10px;height:10px}.recorrido-legend-chip--move:before{background:var(--color-accent)}.recorrido-legend-chip--stop:before{background:var(--color-warning)}.recorrido-legend-chip--off:before{background:var(--color-text-muted)}.recorrido-legend-chip--disconnect:before{border-top:2px dashed var(--color-danger);background:0 0;border-radius:0;width:14px;height:0}.recorrido-legend-chip--nofix:before{background:var(--color-warning)}.recorrido-disconnect-list{gap:var(--space-2);padding:var(--space-3) var(--space-5);border-top:1px solid var(--color-border);background:#fdf6ec;flex-direction:column;display:flex}.recorrido-disconnect-item{gap:var(--space-3);padding:var(--space-2) var(--space-3);background:var(--color-surface);border:1px solid var(--color-warning);border-radius:var(--radius-sm);font-size:var(--font-sm);color:var(--color-text-muted);grid-template-columns:auto 1fr auto;align-items:center;display:grid}.recorrido-disconnect-item strong{color:var(--color-text);font-weight:600}.recorrido-disconnect-badge{font-size:var(--font-xs);color:var(--color-warning);white-space:nowrap;font-weight:700}.recorrido-disconnect-wrap{background:0 0;border:none}.recorrido-disconnect-dot{background:var(--color-surface);border:2px solid var(--color-warning);border-radius:999px;justify-content:center;align-items:center;width:22px;height:22px;font-size:11px;line-height:1;display:flex;box-shadow:0 1px 4px #1a233233}.recorrido-nofix-wrap{background:0 0;border:none}.recorrido-nofix-dot{background:var(--color-surface);border:2px solid var(--color-text-muted);border-radius:999px;justify-content:center;align-items:center;width:22px;height:22px;font-size:11px;line-height:1;display:flex;box-shadow:0 1px 4px #1a233233}.recorrido-nofix-badge{color:var(--color-text-muted)}.recorrido-note--server{border-color:var(--color-warning);color:var(--color-text);background:#fdf6ec}.recorrido-note--mixed{border-color:var(--color-info);background:#eef6fa}.recorrido-map-meta{font-size:var(--font-xs);color:var(--color-text-muted);margin:0}.recorrido-seq-wrap,.recorrido-active-wrap{background:0 0;border:none}.recorrido-seq-marker{color:#fff;border:2px solid #fff;border-radius:999px;justify-content:center;align-items:center;width:24px;height:24px;font-size:11px;font-weight:700;line-height:1;display:inline-flex;box-shadow:0 2px 8px #00000038}.recorrido-seq-marker--start,.recorrido-seq-marker--end{border-width:3px;width:28px;height:28px;font-size:12px;box-shadow:0 3px 10px #00000047}.recorrido-seq-marker--start{background:var(--color-accent)}.recorrido-seq-marker--mid{background:var(--color-info)}.recorrido-seq-marker--end{background:var(--color-brand)}.recorrido-active-wrap{pointer-events:none;align-items:center;gap:8px;display:flex}.recorrido-active-marker{border:2px solid var(--color-brand);background:#fff;border-radius:999px;justify-content:center;align-items:center;width:34px;height:34px;display:inline-flex;position:relative;box-shadow:0 4px 14px #0b3d5c47}.recorrido-active-marker span{border-left:7px solid #0000;border-right:7px solid #0000;border-bottom:18px solid var(--color-brand);width:0;height:0;transform:rotate(var(--heading));transform-origin:50% 60%;display:block}.recorrido-active-wrap strong{height:28px;padding:0 var(--space-3);background:var(--color-brand);color:#fff;font-size:var(--font-xs);border-radius:999px;align-items:center;font-weight:700;display:inline-flex;box-shadow:0 4px 14px #0b3d5c33}.recorrido-legend-chip--endpoint:before{background:var(--color-brand);box-shadow:0 0 0 2px var(--color-surface), 0 0 0 3px var(--color-brand)}.recorrido-legend-chip--seq-start:before{background:var(--color-accent)}.recorrido-legend-chip--seq-mid:before{background:var(--color-info)}.recorrido-legend-chip--seq-end:before{background:var(--color-brand)}.recorrido-legend-chip--guide:before{border-top:2px dashed var(--color-accent);opacity:.7;background:0 0;border-radius:0;width:18px;height:0}.recorrido-table-section .ui-form-section-body{padding-top:var(--space-4)}.recorrido-pagination{justify-content:center;align-items:center;gap:var(--space-4);margin-top:var(--space-4);font-size:var(--font-sm);display:flex}@media (width<=900px){.recorrido-map-canvas.route-draw-map{height:48vh;min-height:360px}.recorrido-unit-banner{padding:var(--space-4)}}@media print{@page{size:landscape;margin:8mm}body.recorrido-map-print *{visibility:hidden!important}body.recorrido-map-print .recorrido-map-shell,body.recorrido-map-print .recorrido-map-shell *{visibility:visible!important}body.recorrido-map-print .recorrido-map-shell{z-index:9999!important;box-shadow:none!important;background:#fff!important;flex-direction:column!important;display:flex!important;position:fixed!important;inset:0!important}body.recorrido-map-print .recorrido-map-toolbar,body.recorrido-map-print .recorrido-session-list,body.recorrido-map-print .recorrido-disconnect-list{display:none!important}body.recorrido-map-print .recorrido-map-canvas.route-draw-map{flex:auto!important;height:calc(100vh - 72px)!important;min-height:0!important}body.recorrido-map-print .recorrido-map-inner{height:100%!important;min-height:100%!important}body.recorrido-map-print .recorrido-map-foot{border-top:1px solid #d5dee7!important;flex-shrink:0!important;padding:8px 12px!important}}.vuelta-day-list{gap:var(--space-3);display:grid}.vuelta-day-card{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);padding:var(--space-3) var(--space-4)}.vuelta-day-card-head{align-items:center;gap:var(--space-3);margin-bottom:var(--space-2);display:flex}.vuelta-day-meta{margin:0 0 var(--space-2);font-size:var(--font-sm);color:var(--color-text-muted);font-family:IBM Plex Sans,sans-serif}.vuelta-day-tramos{gap:var(--space-2);margin-bottom:var(--space-3);font-size:var(--font-sm);display:grid}.vuelta-day-tramos span{min-width:64px;color:var(--color-text-muted);font-weight:600;display:inline-block}.vuelta-day-tramos em{color:var(--color-text);margin-left:var(--space-2);font-style:normal}.vuelta-map-actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.vuelta-mapa-toolbar{align-items:center;gap:var(--space-3);margin-bottom:var(--space-4);flex-wrap:wrap;display:flex}.vuelta-mapa-detail{gap:var(--space-2);font-size:var(--font-sm);color:var(--color-text);display:grid}.vuelta-mapa-detail strong{color:var(--color-brand);font-weight:600}.vuelta-replay-controls{align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--color-surface);border-bottom:1px solid var(--color-border);flex-wrap:wrap;display:flex}.vuelta-replay-scrub{min-width:120px;height:32px;accent-color:var(--color-brand);flex:160px}.vuelta-replay-clock{font-family:IBM Plex Sans,sans-serif;font-size:var(--font-sm);color:var(--color-text-muted);white-space:nowrap}.vuelta-cp-wrap{background:0 0;border:none}.vuelta-cp-marker{color:#fff;border:2px solid #fff;border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;font-family:IBM Plex Sans,sans-serif;font-size:12px;font-weight:700;display:inline-flex;box-shadow:0 2px 8px #00000047}.vuelta-cp-marker--tocado{background:var(--color-accent)}.vuelta-cp-marker--saltado{background:var(--color-danger)}.vuelta-cp-marker--pendiente{background:var(--color-text-muted)}.recorrido-map-shell--fullscreen .vuelta-replay-controls{background:var(--color-brand-hover);border-bottom-color:#0000;flex-shrink:0}.recorrido-map-shell--fullscreen .vuelta-replay-clock{color:#ffffffe6}.recorrido-map-shell--fullscreen .vuelta-replay-controls .btn--ghost{color:#fff;border-color:#ffffff73}.admin-nav-link.is-disabled{opacity:.45;cursor:not-allowed;pointer-events:none}.rutas-editor-page{max-width:none}.rutas-editor{gap:var(--space-4);grid-template-columns:minmax(280px,360px) minmax(0,1fr);min-height:calc(100vh - 180px);display:grid}.rutas-editor-form{gap:var(--space-4);flex-direction:column;min-height:0;display:flex}.rutas-editor-map{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-row-alt);min-height:480px;overflow:hidden}.route-draw-map{flex-direction:column;height:100%;min-height:480px;display:flex}.route-draw-map-inner{flex:1;width:100%;min-height:440px}.route-draw-hint{padding:var(--space-2) var(--space-3);font-size:var(--font-xs);color:var(--color-text-muted);background:var(--color-surface);border-top:1px solid var(--color-border);margin:0}.rutas-vehiculo-list{gap:var(--space-1);border:1px solid var(--color-border);border-radius:var(--radius-sm);max-height:280px;padding:var(--space-2);background:var(--color-surface);flex-direction:column;display:flex;overflow:auto}.rutas-vehiculo-item{align-items:flex-start;gap:var(--space-2);padding:var(--space-2);border-radius:var(--radius-sm);cursor:pointer;font-size:var(--font-sm);display:flex}.rutas-vehiculo-item:hover{background:var(--color-row-alt)}.rutas-vehiculo-item input{margin-top:3px}.rutas-vehiculo-item strong{color:var(--color-text);display:block}.rutas-vehiculo-sub{color:var(--color-text-muted);font-size:var(--font-xs);display:block}.rutas-vehiculo-empty{padding:var(--space-3);color:var(--color-text-muted);font-size:var(--font-sm);margin:0}.rutas-editor-actions{gap:var(--space-2);padding-top:var(--space-2);flex-wrap:wrap;display:flex}@media (width<=960px){.rutas-editor{grid-template-rows:auto minmax(360px,50vh);grid-template-columns:1fr}}.geocercas-catalogo-toolbar{gap:var(--space-3);margin-bottom:var(--space-4);grid-template-columns:minmax(0,1fr) 180px;align-items:end;display:grid}.geocercas-import-form{grid-column:1/-1;min-width:0}.geocercas-catalogo-grid{gap:var(--space-4);grid-template-columns:minmax(260px,320px) minmax(0,1fr);min-height:420px;display:grid}.geocercas-catalogo-list{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);max-height:480px;margin:0;padding:0;list-style:none;overflow:auto}.geocercas-catalogo-item{width:100%;padding:var(--space-3);border:none;border-bottom:1px solid var(--color-border);cursor:pointer;text-align:left;font:inherit;background:0 0;flex-direction:column;align-items:flex-start;gap:2px;display:flex}.geocercas-catalogo-item:hover,.geocercas-catalogo-item.is-selected{background:var(--color-row-alt)}.geocercas-catalogo-item.is-selected{box-shadow:inset 3px 0 0 var(--color-brand)}.geocercas-catalogo-item strong{color:var(--color-brand);font-size:var(--font-md)}.geocercas-catalogo-item span{font-size:var(--font-xs);color:var(--color-text-muted)}.geocercas-catalogo-empty{padding:var(--space-4);color:var(--color-text-muted);font-size:var(--font-sm)}.geocercas-catalogo-map{border:1px solid var(--color-border);border-radius:var(--radius-md);min-height:420px;position:relative;overflow:hidden}.geocercas-catalogo-map-hint{bottom:var(--space-3);left:var(--space-3);right:var(--space-3);padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);font-size:var(--font-sm);color:var(--color-text-muted);pointer-events:none;z-index:500;background:#ffffffeb;margin:0;position:absolute}.geocercas-catalogo-note{margin:var(--space-4) 0 0;font-size:var(--font-sm);color:var(--color-text-muted)}.geocercas-asign-panel{margin-top:var(--space-5);padding:var(--space-4);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md)}.geocercas-asign-title{margin:0 0 var(--space-4);font-size:var(--font-lg);color:var(--color-text)}.geocercas-asign-form{margin-bottom:var(--space-4)}.geocercas-asign-actions{margin-top:var(--space-2);grid-column:1/-1}.geocercas-eventos-panel{margin-top:var(--space-6)}.geocercas-eventos-title{margin:0 0 var(--space-3);font-size:var(--font-lg);color:var(--color-text)}.geocercas-catalogo-map--below{margin-top:var(--space-5);min-height:360px}.geocercas-catalogo-map--below .route-draw-map-inner{min-height:360px}.geocercas-import-row{gap:var(--space-2);grid-template-columns:1fr auto auto;align-items:center;display:grid}.control-points-count{margin:var(--space-2) 0 0;font-size:var(--font-sm);color:var(--color-text-muted)}.control-points-orden-list{gap:var(--space-2);flex-direction:column;max-height:320px;margin:0;padding:0;list-style:none;display:flex;overflow:auto}.control-points-orden-row{gap:var(--space-2);padding:var(--space-2);background:var(--color-row-alt);border:1px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer;grid-template-columns:72px 1fr auto;align-items:center;display:grid}.control-points-orden-row.is-selected{border-color:var(--color-brand);outline:2px solid var(--color-brand);outline-offset:0;background:#e3ecf3}.control-points-orden-field{flex-direction:column;gap:4px;display:flex}.control-points-orden-input{text-align:center;font-variant-numeric:tabular-nums;width:64px;height:32px}.control-points-orden-meta{font-size:var(--font-sm);color:var(--color-text);font-variant-numeric:tabular-nums;flex-direction:column;gap:2px;display:flex}.control-points-orden-radio{color:var(--color-text-muted);font-size:var(--font-xs)}.control-points-draw-map .leaflet-interactive{cursor:pointer}.leaflet-tooltip.control-point-orden-label{background:var(--color-header-bg);color:var(--color-header-text);border-radius:var(--radius-sm);font-size:var(--font-sm);box-shadow:none;border:none;padding:2px 6px;font-weight:700}.leaflet-tooltip.control-point-orden-label:before{display:none}@media (width<=960px){.geocercas-import-row,.geocercas-catalogo-toolbar,.geocercas-catalogo-grid{grid-template-columns:1fr}}
