/* Separate visitor, trial-download, and contract signals. */
.contract-panel .primary-metric strong,
.contract-panel .activity-section h3,
.contract-preview header span {
  color: #ff626c;
}
.contract-panel .map-dot {
  fill: #ff5865;
  filter: drop-shadow(0 0 4px rgba(255, 72, 88, .72));
}
.contract-panel .map-dot:hover,
.contract-panel .map-dot:focus-visible,
.contract-panel .map-dot.is-selected {
  fill: #ff9ca3;
  filter: drop-shadow(0 0 7px rgba(255, 72, 88, 1));
}
.contract-panel .contract-tooltip {
  border-color: rgba(255, 88, 101, .5);
}
.contract-panel .contract-pulse .map-pulse-ring,
.contract-panel .contract-pulse .map-pulse-core {
  stroke: #ff5865;
}
.contract-panel .activity-location:hover,
.contract-panel .activity-location:focus-visible {
  background: rgba(255, 88, 101, .08);
  outline-color: rgba(255, 88, 101, .28);
}

.contract-panel .trial-metric strong,
.contract-panel #trial-activity-title { color: #53d994; }
.trial-panel .visitor-metric strong,
.trial-panel .activity-section h3,
.trial-preview header span,
.legend-visitor { color: #ffd15d; }
.legend-trial { color: #53d994; }
.legend-contract { color: #ff626c; }
.contract-panel #contract-activity-title { color: #ff626c; }
.contract-panel .metric-row { flex-wrap: wrap; justify-content: end; gap: .45rem 0; }
.contract-panel .metric { min-width: 7rem; }
.trial-panel .metric-row { flex-wrap: wrap; justify-content: end; gap: .45rem 0; }
.trial-panel .visitor-metric { min-width: 8rem; }
.trial-panel .landing-green-metric strong { color: #a0f4c4; }
.trial-panel .landing-yellow-metric strong { color: #ffd15d; }
.map-legend { display: flex; flex-wrap: wrap; gap: .4rem 1rem; margin: 0 1.35rem .5rem; font-size: .75rem; }
.trial-panel .visitor-dot {
  fill: #ffd15d;
  filter: drop-shadow(0 0 5px rgba(255, 209, 93, .8));
}
.trial-panel .visitor-dot:hover,
.trial-panel .visitor-dot:focus-visible,
.trial-panel .visitor-dot.is-selected { fill: #ffebad; }
.trial-panel .visitor-dot.visitor-active-only-dot,
.trial-panel .visitor-dot.visitor-active-only-dot:hover,
.trial-panel .visitor-dot.visitor-active-only-dot:focus-visible,
.trial-panel .visitor-dot.visitor-active-only-dot.is-selected,
.trial-panel .visitor-active-overlay {
  fill: #a0f4c4;
  filter: none;
}
.trial-panel .visitor-dot.is-inspected {
  stroke: rgba(255, 209, 93, .24);
  filter: drop-shadow(0 0 7px rgba(255, 209, 93, 1));
}
.trial-panel .visitor-dot.visitor-active-only-dot.is-inspected {
  stroke: rgba(160, 244, 196, .24);
  filter: drop-shadow(0 0 7px rgba(160, 244, 196, 1));
}
.trial-panel .visitor-active-overlay { pointer-events: none; }
#trial-map, #contract-map { overflow: hidden; }
.country-labels { display: none; pointer-events: none; }
.country-labels.visible { display: inline; }
.country-label {
  fill: #d2e0ec; stroke: #06172b; paint-order: stroke;
  font-weight: 600; pointer-events: none;
}
.map-pan-hint {
  position: absolute; top: .85rem; right: .85rem; z-index: 2;
  color: #b8c8d8; font-size: .72rem; pointer-events: none;
  background: rgba(4, 18, 35, .75); border-radius: .35rem; padding: .25rem .45rem;
}
.map-pan-hint[hidden] { display: none; }
#trial-map.is-pannable, #contract-map.is-pannable,
#trial-map.is-pannable .country, #contract-map.is-pannable .country { cursor: grab; }
#trial-map.is-panning, #contract-map.is-panning,
#trial-map.is-panning .country, #contract-map.is-panning .country { cursor: grabbing; }
.legend-active-only { color: #a0f4c4; }
.legend-active-only i {
  display: inline-block;
  width: 2px;
  height: 2px;
  margin: 0 .3rem .15rem 0;
  border-radius: 50%;
  background: currentColor;
}
.trial-panel .visitor-tooltip { border-color: rgba(255, 209, 93, .55); }
.trial-panel .visitor-pulse .map-pulse-ring,
.trial-panel .visitor-pulse .map-pulse-core { stroke: #ffd15d; }
.contract-panel .trial-dot {
  fill: #53d994;
  stroke: #c3ffe1;
  stroke-width: 1.1;
  filter: drop-shadow(0 0 5px rgba(83, 217, 148, .82));
}
.contract-panel .trial-dot:hover,
.contract-panel .trial-dot:focus-visible,
.contract-panel .trial-dot.is-selected {
  fill: #b7ffda;
  filter: drop-shadow(0 0 8px rgba(83, 217, 148, 1));
}
.contract-panel .trial-tooltip { border-color: rgba(83, 217, 148, .55); }
.contract-panel .trial-pulse .map-pulse-ring,
.contract-panel .trial-pulse .map-pulse-core { stroke: #53d994; }
.trial-panel .activity-location:hover,
.trial-panel .activity-location:focus-visible {
  background: rgba(255, 209, 93, .08);
  outline-color: rgba(255, 209, 93, .28);
}
@media (max-width: 620px) {
  .trial-panel .metric, .contract-panel .metric { flex: 1; min-width: 0; }
  .contract-panel .metric { flex: 0 0 50%; }
}
