.smart-map{min-height:0;position:absolute;inset:0}.smart-map-native{background:0 0!important}.smart-map-native>div:first-of-type{pointer-events:none;background:0 0!important}.smart-map-native button,.smart-map-native [data-interactive]{pointer-events:auto}.leaflet-tile-pane img{image-rendering:-webkit-optimize-contrast}.smart-map>div:first-of-type{min-height:0;position:absolute;inset:0}.smart-map .leaflet-tooltip-pane{z-index:650!important}.smart-map .leaflet-marker-pane{z-index:600!important}.smart-map.smart-map-3d{perspective:1800px;--map-pitch:40deg;--map-bearing:0deg;background:hsl(var(--muted)/.4);overflow:hidden}.smart-map.smart-map-3d>div:first-of-type{overflow:hidden}.smart-map.smart-map-3d .leaflet-container{transform-origin:50%;transform-style:preserve-3d;transform:rotateX(var(--map-pitch,40deg))rotateZ(var(--map-bearing,0deg))translateY(-4%)scale(1.3);will-change:transform;transition:transform .42s cubic-bezier(.22,1,.36,1)}.custom-cluster-icon{background:0 0!important;border:none!important;overflow:visible!important}.custom-cluster-icon.marker-cluster-small,.custom-cluster-icon.marker-cluster-medium,.custom-cluster-icon.marker-cluster-large{background-color:#0000!important;background-clip:unset!important;border-radius:0!important}.custom-cluster-icon.marker-cluster-small div,.custom-cluster-icon.marker-cluster-medium div,.custom-cluster-icon.marker-cluster-large div{background-color:#0000!important;border-radius:0!important;width:auto!important;height:auto!important;margin:0!important}.custom-device-icon{background:0 0!important;border:none!important;overflow:visible!important}.cluster-v2{background:hsl(var(--card));border:1.5px solid hsl(var(--border));cursor:pointer;box-sizing:border-box;border-radius:12px;flex-direction:column;align-items:center;gap:2px;padding:5px 8px 6px;transition:scale .2s,box-shadow .2s;display:flex;position:relative;box-shadow:0 2px 10px #00000047}.cluster-v2:before{content:"";z-index:-1;position:absolute;inset:-8px}.cluster-v2:hover{scale:1.08;box-shadow:0 4px 18px #00000073}.cluster-v2-top{justify-content:center;align-items:center;gap:4px;width:100%;display:flex}.cluster-v2-icon{color:hsl(var(--foreground));opacity:.75;flex-shrink:0;justify-content:center;align-items:center;display:flex}.cluster-v2-count{font-family:var(--font-active,monospace);color:hsl(var(--foreground));letter-spacing:-.02em;font-weight:900;line-height:1}.cluster-v2-status{justify-content:center;align-items:center;gap:4px;width:100%;display:flex}.cluster-dot{border-radius:50%;flex-shrink:0;width:6px;height:6px;display:inline-block}.cluster-dot-on{background:hsl(var(--primary))}.cluster-dot-idle{background:hsl(var(--warning))}.cluster-dot-off{background:hsl(var(--destructive))}.cluster-dot-label{color:hsl(var(--muted-foreground));margin-right:2px;font-size:10px;font-weight:700;line-height:1}.cluster-v2-bar-wrap{justify-content:center;align-items:center;width:100%;display:flex}.cluster-v2-bar{display:block}.device-marker{cursor:pointer;flex-direction:column;justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:relative;overflow:visible}.device-marker.selected{z-index:1000!important}.device-marker-inner{transform-origin:50%;flex-direction:column;align-items:center;transition:scale .2s;display:flex}.device-marker:hover .device-marker-inner{scale:1.05}.device-marker-rotation .device-marker-inner{justify-content:center;align-items:center;width:42px;height:42px;display:flex}.smart-map .vehicle-rotation-img{object-fit:contain;pointer-events:none;-webkit-user-select:none;user-select:none;display:block;width:42px!important;max-width:42px!important;height:42px!important;max-height:42px!important}.device-marker-rotation.selected .device-marker-inner{width:50px;height:50px}.device-marker-rotation.selected .vehicle-rotation-img{width:50px!important;max-width:50px!important;height:50px!important;max-height:50px!important}.device-marker .marker-car-img,.leaflet-marker-icon .marker-car-img{object-fit:contain;z-index:2;pointer-events:none;-webkit-user-select:none;user-select:none;display:block;position:relative;width:50px!important;max-width:50px!important;height:auto!important;max-height:60px!important}.device-marker.selected .marker-car-img{width:50px!important;max-width:50px!important;max-height:60px!important}.smart-map .marker-ping{background:var(--marker-color,#00b894);opacity:.12;border:1.5px solid var(--marker-color,#00b894);z-index:0;border-radius:50%;animation:3s ease-in-out infinite smart-map-breathe;position:absolute;inset:-6px}@keyframes smart-map-breathe{0%,to{opacity:.12;transform:scale(1)}50%{opacity:.25;transform:scale(1.28)}}.device-marker .marker-dot{z-index:2;border:2.5px solid #ffffffe6;border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;transition:background-color .6s;display:flex;position:relative}.device-marker.selected .marker-dot{border-width:3px;width:34px;height:34px}.device-marker .marker-label{background:hsl(var(--card));color:hsl(var(--foreground));white-space:nowrap;border:1px solid hsl(var(--border));z-index:2;border-radius:4px;margin-top:2px;padding:2px 6px;font-size:10px;font-weight:800;position:relative;box-shadow:0 2px 6px #0000004d}.marker-lbs-badge{font-size:7px;font-weight:800;font-family:var(--font-active,monospace);color:#fff;background:hsl(var(--warning));letter-spacing:.04em;white-space:nowrap;z-index:3;border-radius:3px;padding:.5px 4px;line-height:1.3;position:absolute;bottom:-4px;left:50%;transform:translate(-50%);box-shadow:0 1px 3px #0000004d}.lbs-accuracy-circle{stroke:hsl(var(--warning));stroke-width:1.5px;stroke-dasharray:6 4;fill:hsl(var(--warning));fill-opacity:.06}.smart-map .custom-tooltip{background:hsl(var(--card))!important;border:1px solid hsl(var(--border))!important;pointer-events:none!important;white-space:nowrap!important;border-radius:8px!important;margin-bottom:0!important;margin-left:0!important;padding:0!important;transform:translate(-50%,-100%)!important;box-shadow:0 2px 8px #00000040!important}.smart-map .custom-tooltip.leaflet-tooltip-top:before{border-top-color:hsl(var(--card))!important}.smart-map .history-tooltip.history-event-hover,.smart-map .history-tooltip.leaflet-tooltip{box-shadow:none!important;background:0 0!important;border:none!important;padding:0!important}.smart-map .history-tooltip .leaflet-tooltip-tip{display:none}.smart-map .history-event-hover-card{color:hsl(var(--foreground));overflow:hidden;background:hsl(var(--card))!important;border:1px solid hsl(var(--border))!important;border-radius:14px!important;box-shadow:0 12px 30px #00000047!important}.smart-map .history-event-hover-card .history-event-tooltip{color:inherit}.map-tooltip{text-align:center;flex-direction:column;align-items:center;gap:2px;padding:8px 12px;display:flex}.map-tooltip.map-tooltip-inline{flex-direction:row;gap:5px;padding:4px 8px}.map-tooltip .tooltip-dot{border-radius:50%;flex-shrink:0;width:7px;height:7px}.map-tooltip .tooltip-speed{color:hsl(var(--foreground));font-size:10px;font-weight:700;line-height:1}.map-tooltip .tooltip-gauge{color:hsl(var(--muted-foreground));opacity:.7;align-items:center;display:flex}.map-tooltip .tooltip-gauge svg{width:10px;height:10px}.map-tooltip.map-tooltip-card{align-items:flex-start;gap:3px;min-width:100px;padding:6px 10px}.map-tooltip .tooltip-header{align-items:center;gap:5px;width:100%;display:flex}.map-tooltip .tooltip-emoji{flex-shrink:0;font-size:14px;line-height:1}.map-tooltip .tooltip-name{color:hsl(var(--foreground));letter-spacing:.02em;white-space:nowrap;font-size:11px;font-weight:800;line-height:1.1}.map-tooltip .tooltip-body{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.map-tooltip .tooltip-plate{color:hsl(var(--foreground));background:hsl(var(--muted));letter-spacing:.04em;border-radius:3px;padding:1px 5px;font-size:9px;font-weight:700;display:inline-block}.map-tooltip .tooltip-status{white-space:nowrap;font-size:9px;font-weight:700}.map-tooltip .tooltip-spd{color:hsl(var(--foreground));white-space:nowrap;align-items:center;gap:2px;font-size:9px;font-weight:700;display:flex}.map-tooltip .tooltip-spd svg{width:10px;height:10px;color:hsl(var(--muted-foreground))}.map-tooltip .tooltip-desc{color:hsl(var(--muted-foreground));font-size:10px;display:block}.map-tooltip strong{color:hsl(var(--foreground));font-size:12px}.map-control-panel{background:hsl(var(--card));border:1px solid hsl(var(--border));box-shadow:none;border-radius:18px;transition:background .2s;overflow:hidden}.map-control-panel:hover{background:hsl(var(--card));box-shadow:none}.map-control-panel button{background:hsl(var(--muted)/.6);border:1px solid hsl(var(--border)/.5);border-radius:12px;transition:background .15s,box-shadow .15s}.map-control-panel button:hover{background:hsl(var(--muted));box-shadow:none}.map-control-panel button[aria-pressed=true],.map-control-panel button:active{background:hsl(var(--primary)/.15);border-color:hsl(var(--primary)/.35)}.smart-map .leaflet-control-zoom{display:none!important}.viewport-cluster-icon,.viewport-region-icon{background:0 0!important;border:none!important;overflow:visible!important}.security-zone-circle{animation:2.5s ease-in-out infinite security-zone-pulse}@keyframes security-zone-pulse{0%,to{stroke-opacity:.7;fill-opacity:.08}50%{stroke-opacity:1;fill-opacity:.18}}
