/* tracker.css */
.tracker-map-panel {
  background: var(--dark); border: 1px solid var(--dark4);
  border-radius: var(--radius-lg); padding: var(--space-xl);
  min-height: 320px; position: relative; overflow: hidden;
}
.tracker-road-wrap { position: relative; height: 140px; margin: var(--space-xl) 0 var(--space-md); }
.tracker-road { position: absolute; left: 3%; right: 3%; top: 50%; height: 4px; background: var(--dark3); border-radius: 2px; transform: translateY(-50%); }
.tracker-truck {
  position: absolute; top: 50%; transform: translateY(-65%);
  font-size: 1.6rem; filter: drop-shadow(0 0 10px var(--amber));
  transition: left 2s linear; z-index: 2;
}
.km-pip {
  position: absolute; top: 50%; transform: translate(-50%, -50%);
  width: 10px; height: 10px; border-radius: 50%; cursor: pointer;
  transition: transform 0.18s;
}
.km-pip:hover { transform: translate(-50%, -50%) scale(1.4); }
.km-pip.done     { background: var(--green); }
.km-pip.current  { background: var(--amber); box-shadow: 0 0 0 4px rgba(232,160,32,0.2); animation: pulse 1.5s infinite; }
.km-pip.upcoming { background: var(--dark3); border: 1px solid var(--dark5); }
.km-tooltip {
  position: absolute; bottom: calc(100% + 8px); left: 50%; transform: translateX(-50%);
  background: var(--dark2); border: 1px solid var(--dark4);
  border-radius: var(--radius-md); padding: 0.4rem 0.6rem;
  font-size: 0.72rem; white-space: nowrap; z-index: 10;
  pointer-events: none; opacity: 0; transition: opacity 0.18s;
}
.km-pip:hover .km-tooltip { opacity: 1; }
.tracker-route-labels { display: flex; justify-content: space-between; padding: 0 3%; font-size: 0.72rem; color: var(--grey); }

.tracker-status-panel {
  background: var(--dark2); border: 1px solid var(--dark4);
  border-radius: var(--radius-lg); padding: var(--space-lg);
  text-align: center;
}
.truck-location { font-family: var(--font-display); font-size: 1.2rem; font-weight: 700; margin-bottom: 0.3rem; }
.truck-speed    { font-size: 2rem; font-weight: 700; font-family: var(--font-display); color: var(--amber); }
.truck-speed-lbl { font-size: 0.72rem; color: var(--grey); text-transform: uppercase; letter-spacing: 0.08em; }

.adopt-panel {
  background: rgba(232,160,32,0.06); border: 1px solid var(--amber-border);
  border-radius: var(--radius-lg); padding: var(--space-lg);
}
.adopt-panel h3 { color: var(--amber); margin-bottom: var(--space-sm); }
.adopt-input-row { display: flex; gap: var(--space-sm); margin-top: var(--space-md); flex-wrap: wrap; }
.adopt-input-row .form-input { flex: 1; min-width: 120px; }

.km-list { display: flex; flex-direction: column; gap: var(--space-sm); }
.km-item {
  display: flex; align-items: center; gap: var(--space-md);
  padding: var(--space-md); background: var(--dark);
  border: 1px solid var(--dark4); border-radius: var(--radius-md);
}
.km-num  { font-family: var(--font-display); font-size: 1.1rem; font-weight: 700; color: var(--amber); min-width: 60px; }
.km-name { font-weight: 500; font-size: 0.88rem; }
.km-loc  { font-size: 0.75rem; color: var(--grey); }
.km-status-icon { margin-left: auto; font-size: 1rem; }
