/* Route Preview: keep the destination legible without letting loading copy
   turn the compact map dock into a paragraph. */
html body main.app-shell section.map-stage.map-focus #directionsPanel.open.has-target {
  gap: 7px !important;
  padding: 10px !important;
  border-radius: 20px !important;
  box-shadow: 0 14px 36px rgba(0, 28, 48, .24) !important;
  scrollbar-width: thin;
}

html body .app-shell #directionsPanel.has-target .directions-mode {
  min-width: 0 !important;
  gap: 2px !important;
  padding: 2px !important;
  border-radius: 15px !important;
  background: #0c304a !important;
}

html body .app-shell #directionsPanel.has-target .directions-mode-button {
  min-height: 44px !important;
  padding: 0 8px !important;
  border-radius: 12px !important;
  font-size: .84rem !important;
  font-weight: 760 !important;
  letter-spacing: 0 !important;
}

html body .app-shell #directionsPanel.has-target .directions-mode-button.active {
  background: #73dac6 !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .4) !important;
}

html body .app-shell #directionsPanel.has-target .directions-close {
  width: 44px !important;
  height: 44px !important;
  border-radius: 14px !important;
  font-size: 1.3rem !important;
  font-weight: 600 !important;
}

html body .app-shell #directionsPanel.has-target .directions-summary {
  min-height: 0 !important;
  gap: 6px !important;
  padding: 10px 12px !important;
  border-radius: 15px !important;
  line-height: 1.35 !important;
}

html body .app-shell #directionsPanel.has-target .route-summary-kicker {
  margin-bottom: 4px !important;
  color: #a8e7de !important;
  font-size: .65rem !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;
  letter-spacing: .07em !important;
}

html body .app-shell #directionsPanel.has-target .directions-summary.is-loading .route-summary-kicker::before {
  display: inline-block;
  width: 6px;
  height: 6px;
  margin-right: 7px;
  border-radius: 50%;
  background: #73dac6;
  box-shadow: 0 0 0 3px rgba(115, 218, 198, .16);
  vertical-align: 2px;
  content: "";
  animation: route-status-breathe 1.5s ease-in-out infinite;
}

html body .app-shell #directionsPanel.has-target .route-summary-destination > strong {
  display: -webkit-box !important;
  overflow: hidden !important;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  max-height: 2.6em;
  color: #f5fbff !important;
  font-size: .9rem !important;
  font-weight: 760 !important;
  line-height: 1.3 !important;
  text-overflow: ellipsis !important;
  overflow-wrap: break-word !important;
}

html body .app-shell #directionsPanel.has-target .directions-summary > span {
  color: #cfdee8 !important;
  font-size: .76rem !important;
  line-height: 1.35 !important;
}

html body .app-shell #directionsPanel.has-target .directions-action {
  min-height: 44px !important;
  border-radius: 13px !important;
  font-size: .82rem !important;
  font-weight: 760 !important;
}

html body .app-shell #directionsPanel.has-target .route-summary-metrics {
  gap: 6px !important;
}

html body .app-shell #directionsPanel.has-target .route-summary-metrics > span {
  padding: 7px 9px !important;
  border-radius: 11px !important;
}

@keyframes route-status-breathe {
  50% { opacity: .48; transform: scale(.82); }
}

@media (max-height: 560px) and (orientation: landscape) {
  html body main.app-shell section.map-stage.map-focus #directionsPanel.open.has-target {
    gap: 6px !important;
    padding: 8px !important;
  }

  html body .app-shell #directionsPanel.has-target .directions-summary {
    padding: 8px 10px !important;
  }

}

@media (prefers-reduced-motion: reduce) {
  html body .app-shell #directionsPanel.has-target .directions-summary.is-loading .route-summary-kicker::before {
    animation: none;
  }
}
