body {
  font-family: 'Manrope', 'Inter', system-ui, sans-serif;
}

:root {
  --c3-text: #0f172a;
  --c3-axis: #cbd5e1;
  --c3-grid: #e2e8f0;
}

.dark {
  --c3-text: #e2e8f0;
  --c3-axis: #475569;
  --c3-grid: #334155;
}

.c3 text {
  fill: var(--c3-text) !important;
}

.c3-axis path,
.c3-axis line {
  stroke: var(--c3-axis) !important;
}

.c3-legend-item text {
  fill: var(--c3-text) !important;
}

.c3-grid line {
  stroke: var(--c3-grid) !important;
}

.c3-chart-arcs .c3-gauge-value {
  fill: var(--c3-text) !important;
}

/* Header dropdown hover bridge – prevents gap from closing menu */
header .group > div[class*="absolute"]::before {
  content: '';
  position: absolute;
  top: -12px;
  left: 0;
  right: 0;
  height: 12px;
}

/* Simple validation helpers */
.peer-invalid-block {
  display: none;
}
.force-validation .peer:invalid ~ .peer-invalid-block {
  display: block !important;
}
.force-validation .peer:invalid {
  border-color: #fca5a5 !important;
  color: #b91c1c !important;
}

/* Carousel helpers */
.carousel-slide {
  opacity: 0;
  pointer-events: none;
  position: absolute;
  inset: 0;
  transform: translateY(10px);
  transition: opacity 0.6s ease, transform 0.6s ease;
}
.carousel-slide.active {
  opacity: 1;
  pointer-events: auto;
  position: absolute;
  inset: 0;
  transform: translateY(0);
}
