/* Desktop fleet map: one map area, with a bounded list or overlay drawer. */
#equipment-map {
  flex: 1 1 auto;
  width: 100%;
  height: 100%;
  flex-direction: column;
  gap: 0.65rem;
  padding: 1rem;
  min-height: 0;
  overflow: hidden;
}
.equipment-map-header,
.equipment-map-summary,
.equipment-map-controls {
  display: flex;
  align-items: center;
  gap: 0.65rem;
  flex-wrap: wrap;
  flex-shrink: 0;
}
.equipment-map-header,
.equipment-map-summary { justify-content: space-between; }
.equipment-map-header h2 { margin: 0; }
.equipment-map-header p,
#equipment-map-updated { margin: 0.2rem 0 0; font-size: 0.8rem; color: var(--color-text-muted); }
.equipment-map-controls { align-items: end; }
.equipment-map-controls label { display: flex; flex-direction: column; gap: 0.25rem; font-size: 0.75rem; }
.equipment-map-search { flex: 1; min-width: 14rem; }
.equipment-map-controls input,
.equipment-map-controls select {
  background: var(--color-surface);
  color: var(--color-text);
  border: 1px solid var(--color-border);
  border-radius: 4px;
  padding: 0.4rem;
  min-width: 0;
}
.equipment-map-summary { font-size: 0.8rem; }
.equipment-map-legend { display: flex; flex-wrap: wrap; gap: 0.8rem; }
.equipment-map-legend .moving { color: var(--color-success); }
.equipment-map-legend .stationary { color: var(--color-info); }
.equipment-map-legend .old { color: var(--color-text-muted); }
#equipment-map-status { color: var(--color-warning); font-size: 0.8rem; margin: 0; flex-shrink: 0; }
#equipment-map-status:empty { display: none; }
.equipment-map-layout { display: flex; position: relative; flex: 1; min-height: 0; gap: 0.75rem; }
.equipment-map-map-wrap { position: relative; flex: 1; min-width: 0; }
#equipment-map-canvas { width: 100%; height: 100%; border-radius: 8px; overflow: hidden; background: var(--color-surface); }
.equipment-map-map-note {
  position: absolute;
  left: 1rem;
  bottom: 1rem;
  right: 1rem;
  padding: 0.75rem;
  background: var(--color-surface-raised);
  color: var(--color-text);
  border: 1px solid var(--color-border);
  border-radius: 6px;
  pointer-events: none;
}
.equipment-map-sidebar {
  width: 21rem;
  display: flex;
  flex-direction: column;
  background: var(--color-surface-raised);
  border: 1px solid var(--color-border);
  border-radius: 8px;
  overflow: hidden;
}
.equipment-map-sidebar[hidden] { display: none; }
.equipment-map-sidebar > header { padding: 0.75rem; border-bottom: 1px solid var(--color-border); flex-shrink: 0; }
.equipment-map-sidebar h3 { margin: 0 0 0.4rem; font-size: 0.9rem; }
.equipment-map-sidebar label { font-size: 0.8rem; }
.equipment-map-results { flex: 1; min-height: 0; overflow: auto; position: relative; }
#equipment-map-result-rows { position: relative; }
#equipment-map-list-empty { padding: 0.75rem; color: var(--color-text-muted); }
.equipment-map-row {
  position: absolute;
  left: 0;
  right: 0;
  box-sizing: border-box;
  padding: 0.55rem 0.75rem;
  border-bottom: 1px solid var(--color-border);
  overflow: hidden;
}
.equipment-map-row:focus-within,
.equipment-map-row:hover { background: var(--color-surface); }
.equipment-map-row button,
.equipment-map-cluster-list button {
  background: none;
  color: var(--color-link);
  border: 0;
  padding: 0;
  cursor: pointer;
  text-align: left;
  font: inherit;
}
.equipment-map-row button:disabled { color: var(--color-text); cursor: default; }
.equipment-map-row-focus { display: block; width: 100%; }
.equipment-map-row-focus strong,
.equipment-map-row-focus span { display: block; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.equipment-map-row-focus strong { font-size: 0.85rem; }
.equipment-map-row-focus span,
.equipment-map-row small { font-size: 0.72rem; color: var(--color-text-muted); }
.equipment-map-row > small { display: block; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.equipment-map-row > div { display: flex; align-items: center; justify-content: space-between; gap: 0.5rem; margin-top: 0.3rem; }
.equipment-map-row > div > small { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.equipment-map-row [data-action="inspect"] { font-size: 0.8rem; }
.equipment-map-popup { display: flex; flex-direction: column; gap: 0.4rem; padding: 0.8rem; max-width: 23rem; overflow-wrap: anywhere; color: var(--color-text); background: var(--color-surface-raised); }
.equipment-map-popup > span { font-size: 0.8rem; }
.equipment-map-tooltip { padding: 0.4rem 0.6rem; background: var(--color-surface-raised); color: var(--color-text); font-size: 0.8rem; pointer-events: none; }
.equipment-map-cluster-list { max-height: 16rem; overflow: auto; display: flex; flex-direction: column; gap: 0.5rem; }
.equipment-map-cluster-list small { display: block; color: var(--color-text-muted); }
.equipment-map-cluster-pager { display: flex; justify-content: space-between; align-items: center; gap: 0.5rem; font-size: 0.75rem; }
@media (max-width: 1350px) {
  .equipment-map-sidebar { position: absolute; top: 0; bottom: 0; right: 0; max-width: 90%; z-index: 2; box-shadow: 0 0 1rem var(--color-bg); }
}
