/* 🌙 Tema oscuro global */
body {
  margin: 0;
  font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
  background-color: #121212;
  color: #e0e0e0;
}

header, footer {
  text-align: center;
  padding: 15px;
  background: #1e1e1e;
  box-shadow: 0 2px 5px rgba(0,0,0,0.5);
}

header h1, footer p {
  margin: 0;
  color: #f5f5f5;
}

/* Controles */
.controls-card {
  background: #1e1e1e;
  margin: 15px auto;
  padding: 12px 20px;
  border-radius: 10px;
  width: 95%;
  max-width: 1200px;
  display: flex;
  gap: 15px;
  align-items: center;
  justify-content: flex-start;
  box-shadow: 0px 2px 10px rgba(0,0,0,0.4);
}

.controls-card button,
.controls-card select {
  padding: 8px 12px;
  border-radius: 8px;
  border: none;
  background: #2c2c2c;
  color: #f5f5f5;
  cursor: pointer;
  transition: background 0.3s;
}

.controls-card button:hover,
.controls-card select:hover {
  background: #3a3a3a;
}

/* 📊 Contenedor de gráficos en 2 columnas */
.charts-grid {
  display: grid;
  grid-template-columns: 1fr 1fr; /* 2 columnas iguales */
  gap: 20px;
  margin: 20px auto;
  width: 95%;
  max-width: 1600px;
}

/* Cada tarjeta de gráfico */
.chart-card {
  background: #1e1e1e;
  padding: 20px;
  border-radius: 12px;
  box-shadow: 0px 4px 15px rgba(0,0,0,0.5);
  display: flex;
  flex-direction: column;
  align-items: stretch; /* hijos llenan ancho */
}

/* Contenedores de canvas grandes */
#chart-container,
#chart-container2 {
  width: 100%;
  flex: 1 1 auto; /* ocupa todo el espacio vertical disponible */
  display: flex;
  justify-content: center;
  align-items: center;
}

/* Canvas responsivo dentro del contenedor */
.chart-card canvas {
  width: 100% !important;
  height: 100% !important; /* llena el contenedor */
  max-height: 500px;       /* opcional para limitar altura */
}

/* Títulos */
.chart-card h2 {
  margin: 0 0 15px 0;
  font-size: 1.2rem;
  text-align: center;
  color: #ffffff;
}

/* KPI debajo del segundo gráfico */
#kpi-total {
  margin-top: 15px;
  font-size: 1.1rem;
  text-align: center;
  color: #ffcc00;
}

/* Responsive: en móviles (< 900px) se apilan */
@media (max-width: 900px) {
  .charts-grid {
    grid-template-columns: 1fr;
  }
}
