/* Mobile-friendly adjustments for Leaflet and app layout */
html,body{height:100%;margin:0;padding:0}
.container{display:flex;flex-direction:row;height:calc(100vh - 56px);}
.map-container{flex:1;position:relative;}
#map{position:absolute;top:0;left:0;right:0;bottom:0;height:100%;width:100%}

/* Navigation bar adjustments */
.navbar{height:56px;display:flex;align-items:center;justify-content:space-between;padding:0 12px;box-shadow:0 1px 4px rgba(0,0,0,0.08);background:#fff;z-index:1000}
.navbar .navbar-brand span{font-size:16px}

/* Panels: hide by default on small screens */
.left-panel,.right-panel{width:300px;background:#fff;overflow:auto}

@media (max-width: 900px){
  .container{flex-direction:column;height:calc(100vh - 56px)}
  .left-panel,.right-panel{display:none}
  .map-container{height:100%}
  .nav-menu{display:none}
  .nav-right .search-bar{display:none}
  .navbar .navbar-brand{flex:0 0 auto}
  .map-toolbar{right:8px;top:72px}
  .toggle-btn{bottom:18px}
}

/* Controls spacing */
.map-toolbar{position:absolute;top:10px;left:10px;z-index:650}
.info-bar{position:absolute;left:10px;bottom:10px;z-index:650;background:rgba(255,255,255,0.9);padding:6px;border-radius:6px;font-size:13px}

/* Ensure leaflet attribution is not too large on mobile */
.leaflet-control-attribution{font-size:11px}

/* Service Worker update toast */
.sw-toast{position:fixed;left:50%;transform:translateX(-50%);bottom:20px;background:#323232;color:#fff;padding:12px 16px;border-radius:8px;display:flex;align-items:center;gap:12px;z-index:1100;box-shadow:0 6px 18px rgba(0,0,0,0.2);max-width:92%;}
.sw-toast.hidden{display:none}
.sw-toast .sw-message{font-size:14px}
.sw-toast button{background:transparent;border:none;color:#fff;padding:8px 10px;border-radius:6px;cursor:pointer}
.sw-toast button.sw-update{background:#2b5d6f;color:#fff}
.sw-toast button.sw-dismiss{opacity:0.9}

