/* ============================================================
   Panel Operativo: tiles, rejilla de gráficas y filtros.
   Prefijo pmo-. Solo consume los tokens de styles.css.
   ============================================================ */

.pmo-tabs { margin-bottom: var(--esp-3); }

.pmo-filtros { align-items: flex-end; }
.pmo-filtros label {
  display: flex; flex-direction: column; gap: var(--esp-1);
  font-size: var(--texto-xs); color: var(--muted); font-weight: var(--peso-medio);
}
.pmo-filtros select {
  padding: 7px 10px;
  border-radius: var(--radius-sm);
  border: 1px solid var(--border);
  background: var(--panel-2);
  color: var(--text);
  font-size: var(--texto-base);
  font-family: inherit;
  min-width: 170px;
}

/* ---------- Tiles ---------- */
.pmo-kpis {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(128px, 1fr));
  gap: var(--esp-3);
  margin-bottom: var(--esp-4);
}
.pmo-kpi {
  background: var(--panel);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  box-shadow: var(--shadow-sm);
  padding: var(--esp-3) var(--esp-4);
}
.pmo-kpi .lab {
  font-size: var(--texto-xs);
  color: var(--muted);
  text-transform: uppercase;
  letter-spacing: 0.4px;
}
.pmo-kpi .val {
  font-size: 1.45rem;
  font-weight: 700;
  margin: 2px 0;
  font-variant-numeric: tabular-nums;
}
.pmo-kpi .un { font-size: var(--texto-xs); color: var(--muted); }

/* ---------- Rejilla de tarjetas con gráficas ---------- */
.pmo-grid {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  gap: var(--esp-4);
}
.pmo-grid .pm-card { margin: 0; min-width: 0; }
.pmo-grid .c4 { grid-column: span 4; }
.pmo-grid .c5 { grid-column: span 5; }
.pmo-grid .c6 { grid-column: span 6; }
.pmo-grid .c7 { grid-column: span 7; }
.pmo-grid .c8 { grid-column: span 8; }
.pmo-grid .c12 { grid-column: span 12; }

.pmo-sub { font-size: var(--texto-xs); margin: -4px 0 var(--esp-2); }

/* Sin alto fijo el canvas de Chart.js crece sin freno (responsive). */
.pmo-chwrap { position: relative; height: 230px; }
.pmo-chwrap.tall { height: 300px; }

@media (max-width: 1100px) {
  .pmo-grid .c4, .pmo-grid .c5, .pmo-grid .c6,
  .pmo-grid .c7, .pmo-grid .c8 { grid-column: span 6; }
}
@media (max-width: 760px) {
  .pmo-grid { gap: var(--esp-3); }
  .pmo-grid .c4, .pmo-grid .c5, .pmo-grid .c6,
  .pmo-grid .c7, .pmo-grid .c8 { grid-column: span 12; }
  .pmo-chwrap.tall { height: 250px; }
}
