
/* AI BUILD map repair — smooth native map layers, iPad/iPhone fallback fullscreen */
#mapCanvas.map-canvas{isolation:isolate;touch-action:pan-x pan-y;background:#e7ebe7}
#mapCanvas #leafletMap{z-index:3;touch-action:none}
#mapCanvas .map-real-fallback{z-index:0;background:#e7ebe7}
#mapCanvas .map-real-fallback:before,#mapCanvas .map-real-fallback:after{display:none!important}
#mapCanvas .map-fallback-message{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:10px;color:#55636a;font-size:14px}
#mapCanvas .map-fallback-message .svg-icon{width:40px;height:40px;color:#ab6150}
#mapCanvas .map-fallback-message small{color:#7d8989}
#mapCanvas .fallback-pins{display:none!important}
#mapCanvas .map-overlay{inset-inline-start:12px;top:12px;z-index:1200;max-width:calc(100% - 24px);display:flex;gap:7px;align-items:center;flex-wrap:wrap}
#mapCanvas .map-layer-picker{display:inline-flex;align-items:center;gap:4px;padding:4px;border:1px solid #e4e3de;border-radius:12px;background:#ffffffea;box-shadow:0 2px 8px #14272212;backdrop-filter:blur(8px)}
#mapCanvas .map-layer-button{background:transparent;border:0;border-radius:9px;padding:8px 11px;color:#4a5a5e;display:flex;align-items:center;gap:6px;white-space:nowrap;font-weight:650;font-size:12px;min-height:34px}
#mapCanvas .map-layer-button .svg-icon{width:18px;height:18px}
#mapCanvas .map-layer-button.active{background:#ab604b;color:white}
#mapCanvas .map-fs-btn{display:flex;align-items:center;gap:5px}
#mapCanvas .map-fs-btn .svg-icon{width:17px;height:17px}
#mapCanvas .map-tile-status{position:absolute;top:72px;left:50%;transform:translateX(-50%);z-index:1201;background:#fafaf3ee;color:#514f4a;border:1px solid #d4d6cc;border-radius:10px;padding:9px 12px;white-space:normal;max-width:min(480px,85%);font-size:12px;text-align:center;pointer-events:none}
#mapCanvas .leaflet-control-container{direction:ltr}
#mapCanvas .leaflet-control-zoom a{width:36px;height:36px;line-height:34px;font:600 24px Arial;color:#344248;border:0}
#mapCanvas .leaflet-control-zoom{border:1px solid #d2d6d1;border-radius:12px;overflow:hidden;box-shadow:0 5px 15px #22331a20}
#mapCanvas .leaflet-control-attribution{font:10px Arial;color:#606f72;background:#ffffffe3;max-width:calc(100vw - 20px)}
#mapCanvas .aib-map-pin{width:34px;height:34px;border:2px solid white;background:#ad604d;border-radius:11px;display:grid;place-items:center;box-shadow:0 4px 12px #26323133}
#mapCanvas .aib-map-pin svg{width:17px;height:17px;fill:none;stroke:white;stroke-width:2}
#mapCanvas .aib-project-pin{display:grid;place-items:center;width:34px;height:34px;background:#aa5845;border:2px solid white;border-radius:11px;box-shadow:0 5px 15px #19252b33}
#mapCanvas .aib-project-pin svg{width:22px;height:22px;fill:none;stroke:white;stroke-width:2}
#mapCanvas:fullscreen,#arPage:fullscreen,#mapCanvas.pseudo-full,#arPage.pseudo-full{
 position:fixed!important;inset:0!important;margin:0!important;width:100vw!important;height:100dvh!important;
 min-height:0!important;max-height:none!important;z-index:9998!important;border:0!important;border-radius:0!important;
 overflow:hidden!important;
}
body.aib-map-fullscreen{overflow:hidden!important}
#mapCanvas:fullscreen #leafletMap,#mapCanvas.pseudo-full #leafletMap{position:absolute!important;inset:0!important;width:100%!important;height:100%!important}
#mapCanvas:fullscreen .map-overlay,#mapCanvas.pseudo-full .map-overlay{top:max(14px,env(safe-area-inset-top));inset-inline-start:12px}
#mapCanvas:fullscreen .map-footnote,#mapCanvas.pseudo-full .map-footnote{bottom:max(18px,env(safe-area-inset-bottom));font-size:11px}
#mapCanvas:fullscreen .leaflet-bottom,#mapCanvas.pseudo-full .leaflet-bottom{bottom:max(4px,env(safe-area-inset-bottom))}
#arPage:fullscreen .ar-top-panel,#arPage.pseudo-full .ar-top-panel{top:max(12px,env(safe-area-inset-top))}
#arPage:fullscreen .ar-bottom,#arPage.pseudo-full .ar-bottom{bottom:max(20px,env(safe-area-inset-bottom))}
#mapCanvas:not(.leaflet-ready) .map-layer-picker{opacity:1}
@media(max-width:700px){
 #mapCanvas .map-overlay{top:9px;inset-inline-start:9px;max-width:calc(100% - 18px)}
 #mapCanvas .map-layer-picker{padding:3px;gap:2px}
 #mapCanvas .map-layer-button{font-size:11px;padding:7px 8px;gap:4px}
 #mapCanvas .map-fs-btn{padding:8px 9px}
 #mapCanvas .map-fs-btn span{display:none}
 #mapCanvas .map-overlay>.btn[data-action="myLocation"]{padding:8px}
 #mapCanvas .map-overlay>.btn[data-action="useMapCenter"]{padding:8px}
 #mapCanvas .map-footnote{font-size:10px;bottom:9px;inset-inline-start:9px;max-width:calc(100% - 20px)}
 #mapCanvas .map-tile-status{top:66px}
}
