.reports-section {
  margin-top: 24px;
}

.reports-section--filters {
  margin-bottom: 12px;
}

.reports-section h2 {
  margin-bottom: 12px;
}

.reports-date-info {
  margin-top: 6px;
  color: var(--color-secondary2);
}

.reports-export-section {
  margin-top: 12px;
}

.reports-export-btn {
  display: inline-block;
  padding: 8px 16px;
  background: var(--color-primary);
  color: white;
  text-decoration: none;
  border-radius: 6px;
  font-size: 14px;
}

.reports-export-btn:hover {
  opacity: 0.9;
}

.reports-metrics-subsection {
  margin-top: 12px;
}

.reports-chart-container {
  margin-top: 16px;
  height: 360px;
}

.reports-filters {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 12px;
  align-items: end;
  margin-bottom: 4px;
}

.reports-filters .field label {
  display: block;
  font-size: 12px;
  color: var(--color-secondary2);
  margin-bottom: 6px;
}

.reports-filters .field select,
.reports-filters .field input[type="date"] {
  width: 100%;
  padding: 8px 10px;
  border: 1px solid var(--color-secondary3);
  border-radius: 8px;
  background: var(--color-white);
}

/* Ensure native selects pick up custom styles in Safari */
.reports-filters .field select {
  -webkit-appearance: none;
  /* Safari */
  appearance: none;
  /* Modern browsers */
  background-color: var(--color-white);
  /* Add a custom chevron so the arrow still shows after removing native appearance */
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20' fill='%23999'%3E%3Cpath d='M5.23 7.21a.75.75 0 0 1 1.06.02L10 10.94l3.71-3.71a.75.75 0 1 1 1.06 1.06l-4.24 4.24a.75.75 0 0 1-1.06 0L5.25 8.29a.75.75 0 0 1-.02-1.06z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 10px center;
  background-size: 16px 16px;
  padding-right: 36px;
  /* room for the chevron */
}

.reports-filters .field select:focus,
.reports-filters .field input[type="date"]:focus {
  outline: none;
  border-color: var(--color-primary3);
  box-shadow: 0 0 0 2px var(--color-primary5);
}

.stats-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
  gap: 12px;
}

.stat-card {
  background: var(--color-secondary5);
  border: 1px solid var(--color-secondary3);
  border-radius: 8px;
  padding: 12px;
  text-align: center;
}

.stat-card__value {
  font-size: 28px;
  font-weight: 700;
  line-height: 1.1;
  color: var(--color-primary);
}

.stat-card__label {
  margin-top: 6px;
  font-size: 14px;
  color: var(--color-secondary);
}
