/* ============================================================
   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);
}
/* Misma piel que la receta de inputs de pm.css (alto, radio, fondo, foco). */
.pmo-filtros select {
  box-sizing: border-box;
  height: var(--control-h);
  padding: 0 var(--esp-3);
  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;
  transition: border-color var(--transicion), box-shadow var(--transicion);
}
.pmo-filtros select:hover { border-color: var(--border-fuerte); }
.pmo-filtros select:focus { outline: none; border-color: var(--accent); box-shadow: var(--anillo-foco); }

/* ---------- Tiles (superficie y tipografía: receta KPI de pm.css) ---------- */
.pmo-kpis {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(128px, 1fr));
  gap: var(--esp-3);
  margin-bottom: var(--esp-4);
}
/* Ocho tiles en fila: relleno más corto que el de la receta para que el pie
   («tareas + subtareas») quepa en una línea. */
.pmo-kpi { padding: var(--esp-3) var(--esp-4); }
.pmo-kpi .val { margin: 2px 0; }
.pmo-kpi .un { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; display: block; }
/* Aviso bajo los indicadores (horas de personas archivadas): pega a la rejilla. */
.pmo-nota { margin: calc(-1 * var(--esp-3)) 0 var(--esp-4); font-size: var(--texto-sm); }

/* ---------- 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; }
}
