/* Active GPS only. Normal-flow header and compact, accessible map controls.
   IDs, GPS calculations and button handlers are preserved. */
body.navigation-active{
  --gps-header-h:112px!important;
  --gps-footer-h:132px!important;
}
body.navigation-active #gpsBannerMain.gps-banner{
  display:grid!important;
  grid-template-columns:44px minmax(0,1fr)!important;
  grid-template-rows:auto auto!important;
  position:fixed!important;
  top:calc(env(safe-area-inset-top,0px) + 8px)!important;
  left:max(10px,env(safe-area-inset-left,0px))!important;
  right:max(10px,env(safe-area-inset-right,0px))!important;
  width:auto!important;max-width:none!important;min-width:0!important;
  height:auto!important;min-height:0!important;
  padding:8px 12px 12px!important;gap:8px 10px!important;
  margin:0!important;transform:none!important;
  border:1px solid #dce7f3!important;border-radius:20px!important;
  background:#fff!important;color:#0a3f82!important;
  box-shadow:0 4px 16px rgba(10,63,130,.12)!important;
  backdrop-filter:none!important;animation:none!important;overflow:visible!important;
}
body.navigation-active #gpsBannerMain::after{display:none!important}
body.navigation-active #gpsBannerMain .gps-banner-meta{
  grid-column:1 / -1;display:flex;align-items:center;justify-content:space-between;
  gap:8px;min-height:28px;padding-bottom:6px;border-bottom:1px solid #e7eef6;
  color:#0a3f82;font-size:12px;font-weight:700;
}
body.navigation-active #gpsBannerMain #bnbikePoiCount{
  position:static!important;inset:auto!important;transform:none!important;
  width:auto!important;min-width:0!important;max-width:none!important;
  height:28px!important;min-height:28px!important;margin:0!important;padding:0 6px!important;
  border:0!important;border-radius:8px!important;background:#eef5ff!important;
  color:#0a3f82!important;box-shadow:none!important;font:700 12px/1.2 Poppins,Arial,sans-serif!important;
  white-space:nowrap!important;
}
body.navigation-active #gpsBannerMain .gps-direction-icon{
  position:static!important;flex:none!important;
  width:44px!important;min-width:44px!important;height:44px!important;min-height:44px!important;
  display:grid!important;place-items:center!important;margin:0!important;
  border-radius:14px!important;background:#1976f3!important;color:#fff!important;
  font-size:24px!important;line-height:1!important;box-shadow:none!important;
}
/* An empty GPS instruction is not a turn direction. */
body.navigation-active #mapSection #gpsBannerMain .gps-direction-icon:empty::before{
  content:""!important;display:block!important;width:14px!important;height:14px!important;border-radius:50%!important;
  background:#fff!important;box-shadow:0 0 0 5px rgba(255,255,255,.2)!important;
}
body.navigation-active #gpsBannerMain .gps-banner-text{
  position:static!important;min-width:0!important;padding:0!important;
  align-self:center!important;
}
body.navigation-active #gpsBannerMain .gps-title{
  margin:0!important;font-size:17px!important;line-height:1.2!important;font-weight:800!important;
  color:#0a3f82!important;white-space:normal!important;overflow-wrap:anywhere;
  overflow:visible!important;text-overflow:clip!important;
}
body.navigation-active #gpsBannerMain .gps-sub{
  margin:3px 0 0!important;font-size:12px!important;line-height:1.3!important;font-weight:500!important;
  color:#526b88!important;white-space:normal!important;overflow:visible!important;text-overflow:clip!important;
}
body.navigation-active #offRouteAlert.offroute-alert.visible{
  top:calc(env(safe-area-inset-top,0px) + 130px)!important;
  max-width:calc(100vw - 76px)!important;
}
body.navigation-active #mapFrame .compass-fab{
  top:calc(env(safe-area-inset-top,0px) + 130px)!important;
  right:max(10px,env(safe-area-inset-right,0px))!important;
  width:44px!important;height:44px!important;
}
body.navigation-active #mapFrame #mapModeFab.map-mode-fab,
body.navigation-active #mapFrame #mapZoomInFab.map-zoom-fab,
body.navigation-active #mapFrame #mapZoomOutFab.map-zoom-fab,
body.navigation-active #mapFrame #mapRecenterFab.map-fab{
  top:auto!important;left:auto!important;
  right:max(10px,env(safe-area-inset-right,0px))!important;
  width:44px!important;min-width:44px!important;height:44px!important;min-height:44px!important;
  padding:0!important;border:1px solid #dce7f3!important;border-radius:14px!important;
  background:#fff!important;color:#0a3f82!important;
  box-shadow:0 3px 10px rgba(10,63,130,.12)!important;
}
body.navigation-active #mapFrame #mapRecenterFab.map-fab{
  bottom:calc(env(safe-area-inset-bottom,0px) + 142px)!important;
  background:#ff7900!important;color:#fff!important;border-radius:50%!important;
}
body.navigation-active #mapFrame #mapZoomOutFab.map-zoom-fab{bottom:calc(env(safe-area-inset-bottom,0px) + 194px)!important}
body.navigation-active #mapFrame #mapZoomInFab.map-zoom-fab{bottom:calc(env(safe-area-inset-bottom,0px) + 238px)!important}
body.navigation-active #mapFrame #mapModeFab.map-mode-fab{bottom:calc(env(safe-area-inset-bottom,0px) + 290px)!important}
body.navigation-active #navFooterFloat.nav-footer-float{
  left:max(10px,env(safe-area-inset-left,0px))!important;
  right:max(10px,env(safe-area-inset-right,0px))!important;
  bottom:calc(env(safe-area-inset-bottom,0px) + 22px)!important;
  width:auto!important;max-width:none!important;min-height:0!important;transform:none!important;
  padding:10px 12px 6px!important;border:1px solid #dce7f3!important;border-radius:20px!important;
  background:#fff!important;box-shadow:0 4px 16px rgba(10,63,130,.12)!important;
  backdrop-filter:none!important;
}
body.navigation-active #navFooterFloat .nav-footer-stats{
  grid-template-columns:1fr 1px 1fr 1px 1fr!important;
  height:36px!important;gap:4px!important;margin:0 0 7px!important;
}
body.navigation-active #navFooterFloat .nav-footer-stat-value{font-size:18px!important;line-height:1.1!important;font-weight:800!important;color:#0a3f82!important}
body.navigation-active #navFooterFloat .nav-footer-stat-label{font-size:9px!important;line-height:1.2!important;color:#526b88!important;margin-top:3px!important}
body.navigation-active #navFooterFloat .nav-footer-progress-track{height:3px!important;margin:0 0 4px!important}
body.navigation-active #navFooterFloat .nav-footer-actions{
  display:flex!important;gap:6px!important;justify-content:space-between!important;height:44px!important;
}
body.navigation-active #mapSection #navFooterFloat #btnFooterQuit.nav-footer-btn,
body.navigation-active #mapSection #navFooterFloat #btnFitOverlay.nav-footer-btn{
  position:static!important;width:auto!important;min-width:0!important;
  height:44px!important;min-height:44px!important;max-height:44px!important;max-width:none!important;
  flex:0 1 auto!important;padding:0 6px!important;font-size:12px!important;
  font-weight:700!important;border:0!important;box-shadow:none!important;
}
body.navigation-active #mapSection #navFooterFloat #btnFitOverlay::before{display:none!important}
body.navigation-active #mapSection #navFooterFloat .nav-footer-actions{display:flex!important;height:44px!important;min-height:44px!important}
body.navigation-active #mapSection #navFooterFloat #btnFooterQuit.nav-footer-btn-quit{
  background:#dc2626!important;color:#fff!important;box-shadow:none!important;
}
body.navigation-active #mapSection #navFooterFloat #btnFitOverlay.nav-footer-btn-view{
  background:#1976f3!important;color:#fff!important;box-shadow:none!important;
}
body.navigation-active #navFooterFloat #footerGpsBadge.nav-footer-speed{
  flex:0 0 42px!important;width:42px!important;height:36px!important;
  padding:0!important;background:#eef5ff!important;border:0!important;
}
body.navigation-active #navFooterFloat #footerGpsBadge #footerGpsVal{color:#0a3f82!important;font-size:12px!important}
body.navigation-active #navFooterFloat #footerGpsBadge .nav-footer-speed-unit{font-size:8px!important;color:#526b88!important}
body.navigation-active #bnbikePoiV2{z-index:4000!important}
body.navigation-active #bnbikePoiToast,body.navigation-active #bnbikePoiCard{
  top:calc(env(safe-area-inset-top,0px) + 176px)!important;
  max-height:calc(100dvh - 320px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px))!important;
  overflow-y:auto!important;
}
body.navigation-active #bnbikePoiToast .bp-copy b{font-size:13px}
body.navigation-active #bnbikePoiCard .bp-x,body.navigation-active #bnbikePoiCard .bp-actions button{min-height:44px;min-width:44px}
body.navigation-active #map .leaflet-control-attribution{max-width:100%;font-size:9px!important}
@media(min-width:700px){
  body.navigation-active #gpsBannerMain.gps-banner{right:auto!important;width:420px!important}
  body.navigation-active #navFooterFloat.nav-footer-float{left:50%!important;right:auto!important;width:430px!important;transform:translateX(-50%)!important}
}
@media(max-height:480px) and (min-width:600px){
  body.navigation-active #gpsBannerMain.gps-banner{width:320px!important;right:auto!important}
  body.navigation-active #navFooterFloat.nav-footer-float{width:320px!important;left:10px!important;right:auto!important;transform:none!important}
  body.navigation-active #mapFrame .compass-fab{top:10px!important}
  body.navigation-active #mapFrame #mapModeFab.map-mode-fab{bottom:174px!important}
  body.navigation-active #mapFrame #mapZoomInFab.map-zoom-fab{bottom:126px!important}
  body.navigation-active #mapFrame #mapZoomOutFab.map-zoom-fab{bottom:82px!important}
  body.navigation-active #mapFrame #mapRecenterFab.map-fab{bottom:30px!important}
}
