.map-link{display:inline-flex;align-items:center;justify-content:center;gap:7px}.map-link img{width:20px;height:20px}.side-nav .map-nav-icon{filter:invert(1);width:23px;height:23px}
body.map-open .main-content{max-width:none;width:100%;margin:0;padding:0;min-width:0}body.map-open #page{height:calc(100vh - var(--app-header-height) - var(--app-bottom-height));height:calc(100dvh - var(--app-header-height) - var(--app-bottom-height));min-height:260px}
.fleet-map-view{height:100%;display:flex;flex-direction:column;min-width:0;background:#fff}.map-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding:10px 12px;border-bottom:1px solid var(--line);z-index:3;background:#fff}.map-heading{flex:1;min-width:130px}.map-heading h1{font-size:19px;margin:0;line-height:1.25}.map-summary{display:block;font-size:12px;color:var(--muted);margin-top:3px}.map-tools{display:flex;gap:5px}.map-tool{width:40px;height:40px;flex:0 0 40px;display:inline-grid;place-items:center;background:#fff;border:1px solid #c3ced5;border-radius:5px;padding:0;color:var(--ink)}.map-tool:hover{background:#eef5f4}.map-tool img{width:20px;height:20px}.map-filters{display:flex;width:100%;border:1px solid #c3ced5;border-radius:5px;overflow:hidden}.map-filters button{flex:1;min-width:0;min-height:36px;background:#fff;color:#425362;border:0;border-right:1px solid #c3ced5;font-size:12px;white-space:nowrap;padding:5px 6px}.map-filters button:last-child{border:0}.map-filters button[aria-pressed=true]{background:#0d8278;color:#fff}.map-filters b{font-weight:650;margin-left:2px;font-variant-numeric:tabular-nums}
.map-workspace{display:flex;position:relative;min-height:0;flex:1;overflow:hidden}.map-surface{position:relative;flex:1;min-width:0;isolation:isolate}.fleet-map-canvas{height:100%;width:100%;background:#e3e9e7;z-index:0;font:inherit}.map-list-panel{display:none;background:#fff;flex-direction:column;min-height:0;z-index:4}.list-open .map-list-panel{display:flex;position:absolute;inset:0 auto 0 0;width:min(340px,100%);box-shadow:3px 0 14px #142d3b33}.map-search{display:flex;gap:8px;padding:10px;border-bottom:1px solid var(--line)}.map-search label{flex:1;min-width:0;margin:0}.map-search input{margin:0;height:40px;min-height:40px;font-size:16px}.map-car-list{overflow:auto;flex:1;overscroll-behavior:contain}.map-car-row{display:grid;grid-template-columns:10px minmax(0,1fr) auto;gap:9px;align-items:start;min-height:82px;width:100%;padding:13px 12px;text-align:left;border:0;border-bottom:1px solid #e7ecef;background:#fff;color:var(--ink)}.map-car-row:hover,.map-car-row.selected{background:#edf7f4}.map-car-row b{font-size:15px;overflow-wrap:anywhere}.map-car-row small{display:block;color:#63717b;font-size:11px;line-height:1.5;overflow-wrap:anywhere}.map-car-row time{font-size:11px;color:#657480;margin-top:3px;font-variant-numeric:tabular-nums}.map-status-dot{height:9px;width:9px;border-radius:50%;background:#6a7681;margin-top:5px}.map-status-dot.moving{background:#12854e}.map-status-dot.stopped{background:#2f6db6}.map-list-empty{padding:16px;color:var(--muted);font-size:14px}
.map-notice{padding:8px 12px;background:#fff2d6;color:#744b04;font-size:12px;border-bottom:1px solid #e5ca91}.map-tile-error{position:absolute;left:10px;right:60px;top:10px;z-index:3;background:#fff9e8;border:1px solid #d9c495;border-radius:5px;padding:8px;font-size:12px;display:flex;align-items:center;gap:8px}.map-tile-error .map-tool{width:32px;height:32px;flex-basis:32px}.map-empty{position:absolute;top:20%;left:15%;right:15%;padding:12px;background:#fffffff2;text-align:center;font-size:13px;pointer-events:none;border:1px solid #ccd5d9;border-radius:5px}.map-stamp{position:absolute;left:0;bottom:0;z-index:1;max-width:100%;padding:4px 8px;background:#ffffffed;color:#3c505e;font-size:10px;line-height:16px;pointer-events:none}.fleet-map-canvas .leaflet-bottom{bottom:24px}.fleet-map-canvas .leaflet-control-attribution{font-size:10px;background:#fffffff2;max-width:100%;margin:0}.fleet-map-canvas .leaflet-control-zoom{box-shadow:0 2px 7px #10243233;border:1px solid #bac8d0}.fleet-map-canvas .leaflet-control-zoom a{height:38px;width:38px;line-height:38px;color:#283c49}
.fleet-pin-wrap{border:0;background:transparent}.fleet-pin{display:flex;align-items:center;position:relative;width:max-content;max-width:210px;filter:drop-shadow(0 1px 2px #20323c66)}.fleet-pin-symbol{display:grid;place-items:center;width:32px;height:32px;flex:0 0 32px;border-radius:50%;background:#64717d;border:2px solid #fff}.fleet-pin-symbol img{width:19px;height:19px;filter:invert(1)}.fleet-pin.moving .fleet-pin-symbol{background:#148854}.fleet-pin.stopped .fleet-pin-symbol{background:#316daf}.fleet-pin-label{background:#fff;border:1px solid #b7c5cd;border-radius:3px;padding:3px 5px;margin-left:2px;white-space:nowrap;font-size:11px;font-weight:750;color:#182c38}.fleet-pin.selected .fleet-pin-symbol{outline:3px solid #f1b435}.fleet-pin.selected .fleet-pin-label{border-color:#9a6c0c;background:#fff8db}.fleet-cluster{display:grid;place-items:center;border:4px solid #b7dcd7;background:#176f68;color:#fff;border-radius:50%;box-shadow:0 1px 5px #10273244;font-weight:800;font-size:15px}.fleet-cluster span{pointer-events:none}
.map-popup{min-width:190px;max-width:245px;font-size:13px;overflow-wrap:anywhere}.map-popup>strong{display:block;font-size:19px;padding-right:12px}.map-popup>span{display:block;color:#64717d;margin-top:3px}.map-popup .map-status{margin:9px 0;font-weight:650;font-size:12px;color:#64717d}.map-popup .map-status.moving{color:#137645}.map-popup .map-status.stopped{color:#2c629e}.map-popup dl{display:grid;grid-template-columns:auto minmax(0,1fr);gap:6px 10px;font-size:12px;margin:10px 0}.map-popup dt{color:#64717d}.map-popup dd{margin:0;text-align:right}.map-popup .primary{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;font-size:13px;margin-top:12px;min-height:40px}.map-popup .primary img{filter:invert(1);width:17px;height:17px}.fleet-map-canvas .leaflet-popup-content{margin:15px}.fleet-map-canvas .leaflet-popup-content-wrapper{border-radius:7px}.fleet-map-canvas .leaflet-popup-close-button{width:30px;height:30px;line-height:28px;font-size:23px}.map-sr-only{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.fleet-pin{width:32px}.fleet-pin-label{position:absolute;top:34px;left:50%;transform:translateX(-50%);margin-left:0;max-width:132px;overflow:hidden;text-overflow:ellipsis}
.fleet-pin-heading{display:grid;place-items:center;width:26px;height:26px;transform-origin:center;pointer-events:none}.fleet-pin-heading img{width:26px;height:26px}
@media(min-width:760px){body.map-open #page{height:100vh;height:100dvh}.map-heading h1{font-size:22px}.map-toolbar{padding:14px 18px}.map-heading{min-width:200px}}
@media(min-width:1100px){.map-list-panel,.list-open .map-list-panel{display:flex;position:static;width:288px;flex:0 0 288px;border-right:1px solid var(--line);box-shadow:none}.map-search [data-map=close-list],.map-tools [data-map=list]{display:none}.map-filters{width:370px;order:0}.map-tools{order:1;margin-left:auto}.map-heading{flex:1}.map-toolbar{gap:16px}}
@media(max-width:360px){.map-heading{min-width:110px}.map-heading h1{font-size:16px}.map-toolbar{padding:8px;gap:6px}.map-tool{width:36px;height:36px;flex-basis:36px}.map-filters button{font-size:11px;padding:5px 3px}}
