/* Form elements inside .toolbar-panel */

.filter-label {
  display: block;
  margin-top: 8px;
  margin-bottom: 4px;
  font-size: 11px;
  font-weight: 600;
  color: #243b53;
}

.filter-label:first-child {
  margin-top: 0;
}

.filter-select {
  width: 100%;
  padding: 6px 8px;
  border: 1px solid #bcccdc;
  border-radius: 6px;
  font-size: 11px;
  background: #fff;
  color: #102a43;
}

.filter-select:focus {
  outline: 2px solid #9fb3c8;
  outline-offset: 1px;
}

.map-style-toggle {
  margin-top: 8px;
  width: 100%;
  padding: 6px 8px;
  border: 1px solid #bcccdc;
  border-radius: 6px;
  font-size: 11px;
  font-weight: 600;
  background: #f0f4f8;
  color: #102a43;
  cursor: pointer;
}

.map-style-toggle:hover {
  background: #d9e2ec;
}

.city-heatmap-toggle.active,
.map-style-toggle.active {
  background: #c7f9cc;
  border-color: #78c686;
  color: #0b4f1f;
}

/* ── Color legend ─────────────────────────────────────── */
.color-legend {
  margin-top: 8px;
}

.legend-gradient-bar {
  height: 10px;
  border-radius: 3px;
  width: 100%;
}

.legend-gradient-labels {
  display: flex;
  justify-content: space-between;
  font-size: 9px;
  color: #627d98;
  margin-top: 3px;
}

.legend-swatch-list {
  max-height: 180px;
  overflow-y: auto;
}

.legend-swatch-item {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 2px 0;
  font-size: 10px;
  color: #334e68;
}

.legend-swatch {
  width: 10px;
  height: 10px;
  border-radius: 2px;
  flex-shrink: 0;
}

/* Color picker — styled to look like the legend swatch */
.legend-color-picker {
  width: 12px;
  height: 12px;
  min-width: 12px;
  padding: 0;
  border-radius: 2px;
  cursor: pointer;
  flex-shrink: 0;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: none;
  overflow: hidden;
}
.legend-color-picker::-webkit-color-swatch-wrapper { padding: 0; }
.legend-color-picker::-webkit-color-swatch { border: none; border-radius: 1px; }
.legend-color-picker::-moz-color-swatch { border: none; border-radius: 1px; }

/* Reset colors button */
.legend-reset-btn {
  display: block;
  width: 100%;
  margin-top: 5px;
  padding: 3px 0;
  font-size: 9px;
  font-weight: 600;
  color: #486581;
  background: #f0f4f8;
  border: 1px solid #bcccdc;
  border-radius: 4px;
  cursor: pointer;
  text-align: center;
}
.legend-reset-btn:hover {
  background: #d9e2ec;
  color: #243b53;
}

.legend-swatch-label {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.filter-summary {
  margin-top: 8px;
  font-size: 10px;
  color: #486581;
}

.missing-gps-info:empty {
  display: none;
}

.missing-gps-info {
  margin-top: 6px;
  font-size: 10px;
  color: #7b5c1e;
  background: #fef9ec;
  border: 1px solid #f0d070;
  border-radius: 5px;
  padding: 4px 7px;
  line-height: 1.4;
}

.selected-point-panel {
  margin-top: 10px;
  padding-top: 8px;
  border-top: 1px solid #d9e2ec;
}

.selected-point-title {
  font-size: 11px;
  font-weight: 700;
  color: #102a43;
  margin-bottom: 6px;
}

.clear-selection-btn {
  width: 100%;
  margin-top: 8px;
  margin-bottom: 6px;
  padding: 5px 8px;
  border: 1px solid #bcccdc;
  border-radius: 6px;
  background: #f0f4f8;
  color: #102a43;
  font-size: 11px;
  font-weight: 600;
  cursor: pointer;
}

.clear-selection-btn:hover {
  background: #d9e2ec;
}

.selected-point-details {
  overflow-y: auto;
  font-size: 10px;
  line-height: 1.4;
  color: #334e68;
  background: #f8fbfd;
  border: 1px solid #d9e2ec;
  border-radius: 6px;
  padding: 6px 8px;
}

.detail-row {
  margin-bottom: 3px;
  word-break: break-word;
}

.detail-key {
  font-weight: 700;
  color: #243b53;
}
