/* ========================================
   Geo-tracking phase 1 overlays — maps page

   Responder staleness rings:
   map.js sets one of these classes on the responder pin's
   .map-pin-avatar-ring from the responders-envelope `reported_at`
   (freshest live device fix). Applied at upsert and re-evaluated on a
   30s aging tick so rings shift colour without new pings.
     fresh: reported < 5 min ago
     aging: 5–15 min
     stale: > 15 min
   No class = no live fix (saved-location fallback) → default white ring.
   ======================================== */

.map-pin-avatar-ring.staleness-fresh { border-color: rgb(var(--color-status-success)); }
.map-pin-avatar-ring.staleness-aging { border-color: rgb(var(--color-status-warning)); }
.map-pin-avatar-ring.staleness-stale { border-color: rgb(var(--color-status-error)); }

/* ========================================
   Transition-geofence overlay — members of the project's geo-tracking
   transition collection (feature props.transition, stamped server-side).
   Dashed outline on top of the usual level-* colouring so the boundaries
   incident.geo.check evaluates against read differently from plain
   alert/incident polygons.
   ======================================== */

.leaflet-interactive.geofence-transition {
  stroke-dasharray: 6 4;
}
