/* Audit Stage 3 — loading feedback and keyboard bypass. Existing map,
   transport colors, route cards and fleet animation remain unchanged. */
.stage3-skip-links {
  position: fixed;
  z-index: 10000;
  top: 8px;
  left: 8px;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  max-width: calc(100vw - 16px);
  transform: translateY(calc(-100% - 18px));
}
.stage3-skip-links:focus-within { transform: none; }
.stage3-skip-links a {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  padding: 10px 14px;
  border: 2px solid white;
  border-radius: 10px;
  color: white;
  background: #102052;
  font-size: 13px;
  font-weight: 750;
  box-shadow: 0 5px 18px #10205240;
  text-decoration: none;
}
.stage3-skip-links a:focus-visible { outline: 3px solid #ffbd47; outline-offset: 2px; }

.stage3-loading-route {
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 78px;
  padding: 14px;
  border: 1px solid #e6edef;
  border-radius: 14px;
  background: #f8fafb;
  color: #435d65;
  font-size: 12px;
  font-weight: 650;
}
.stage3-loading-spinner {
  flex: none;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  border: 3px solid #cfe0dc;
  border-top-color: #176b59;
  animation: stage3-loading-rotate .85s linear infinite;
}
@keyframes stage3-loading-rotate { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) {
  .stage3-loading-spinner { animation: none; border-top-color: #176b59; }
}
