/* ==========================================================================
   CYC Manager · Dashboard (index.html) — delta stylesheet
   Requiere documents.css (sistema de diseño, .summary-card, .page-card) y
   reports.css (.charts-grid, .chart-card) cargados antes. Solo agrega lo
   específico del panel: tendencia de KPIs y tablas del dashboard.
   ========================================================================== */

.kpi-trend {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-top: 4px;
  font-size: 12px;
  font-weight: 700;
}
.kpi-trend.up { color: var(--cyc-green); }
.kpi-trend.down { color: var(--cyc-red); }

.status-badge.info { background: var(--cyc-blue); }

.dashboard-tables {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
  padding: 0 clamp(16px, 2.5vw, 26px) clamp(16px, 2.5vw, 26px);
}
.dashboard-table-card {
  border: 1px solid var(--cyc-border);
  border-radius: var(--radius-lg);
  background: var(--cyc-card);
  padding: 18px;
}
.dashboard-table-card h3 { margin: 0 0 14px; font-size: 15px; }

.dashboard-table-wrap { width: 100%; overflow-x: auto; border-radius: 16px; border: 1px solid var(--cyc-border); }
.dashboard-table { width: 100%; min-width: 460px; border-collapse: separate; border-spacing: 0; }
.dashboard-table th {
  padding: 10px 12px;
  background: #f8fafc;
  color: #536373;
  border-bottom: 1px solid var(--cyc-border);
  text-align: left;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: .04em;
}
.dashboard-table td {
  padding: 12px;
  vertical-align: middle;
  border-bottom: 1px solid var(--cyc-border);
  font-size: 13px;
}
.dashboard-table tr:last-child td { border-bottom: 0; }
.dashboard-table tr:hover td { background: #fbfdff; }

body[data-theme="dark"] .dashboard-table th { background: #111c24; border-color: var(--cyc-border); color: var(--cyc-text); }
body[data-theme="dark"] .dashboard-table tr:hover td { background: #14222c; }

@media (max-width: 1100px) {
  .dashboard-tables { grid-template-columns: 1fr; }
}

/* Widgets del dashboard: el grid de gráficas del INICIO usa 12 columnas para
   respetar el "Ancho" por widget (cada .chart-card lleva grid-column: span N,
   1..12, en línea desde dashboard.js). Se acota a #dashboardCharts para no
   afectar otras .charts-grid (reports, etc.). En pantallas chicas, una columna. */
#dashboardCharts.charts-grid { grid-template-columns: repeat(12, minmax(0, 1fr)); }
#dashboardCharts .chart-card { grid-column: span 6; }
@media (max-width: 980px) {
  #dashboardCharts.charts-grid { grid-template-columns: 1fr; }
  #dashboardCharts .chart-card { grid-column: auto !important; }
}

/* Modal de drill-down (desglose de categoría por clase). Reusa .exercise-modal
   pero un poco más ancho para la gráfica. */
.drill-dialog { width: min(560px, calc(100vw - 32px)); max-width: 560px; }
#drillModalBody { margin-top: 6px; }

/* Barra del modal de drill-down: selector (Dona/Barras/Columnas/Tabla) +
   botones de descarga (PNG/CSV) empujados a la derecha. */
.drill-toolbar { display: flex; align-items: center; gap: 10px; margin: 4px 0 14px; flex-wrap: wrap; }
.drill-actions { display: flex; gap: 6px; margin-left: auto; }
.drill-dl {
  width: 34px; height: 34px; display: grid; place-items: center;
  border: 1px solid var(--cyc-border); border-radius: 10px;
  background: var(--cyc-card); color: var(--cyc-muted); cursor: pointer;
  transition: border-color .15s, color .15s;
}
.drill-dl:hover { border-color: var(--cyc-blue); color: var(--cyc-blue); }
.drill-toggle { display: flex; gap: 8px; flex-wrap: wrap; }
.drill-tab {
  display: inline-flex; align-items: center; gap: 6px;
  padding: 7px 14px; border: 1px solid var(--cyc-border); border-radius: 999px;
  background: var(--cyc-card); color: var(--cyc-text); font-weight: 600; font-size: 13px;
  cursor: pointer; transition: background .15s, border-color .15s, color .15s;
}
.drill-tab:hover { border-color: var(--cyc-blue); }
.drill-tab.active { background: var(--cyc-blue); border-color: var(--cyc-blue); color: #fff; }
