/* M08 - Rutas y PDVs, Asignar PDV y Reportes (prototipo del Supervisor, pantallas 8, 9 y 10).
   Solo tokens del sistema. */
.cnsf-rutas__fecha { display: flex; align-items: center; gap: 10px; margin-bottom: 12px; }
.cnsf-rutas__fecha .cnsf-input { max-width: 200px; }

.cnsf-ruta-fila { display: flex; justify-content: space-between; align-items: center; gap: 12px; }
.cnsf-ruta-fila__cuerpo { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.cnsf-ruta-fila__acciones { flex-shrink: 0; }

.cnsf-chip--visita-pendiente { background: var(--surface-alt); color: var(--text-muted); }
.cnsf-chip--visita-en-curso { background: var(--warn-bg); color: var(--cnsf-amber-text); }
.cnsf-chip--visita-completada { background: var(--ok-bg); color: var(--cnsf-green); }
.cnsf-chip--visita-por-corregir { background: var(--err-bg); color: var(--cnsf-red-dark); }
.cnsf-chip--visita-omitida { background: var(--surface-soft-alt); color: var(--text-muted); }

.cnsf-lista-enlaces { margin: 16px 0; }

/* Asignar PDV: promotor elegible con su carga del dia. */
.cnsf-promotor-opcion {
  display: flex;
  align-items: center;
  gap: 12px;
  width: 100%;
  text-align: left;
  background: var(--surface);
  border: 2px solid var(--surface-soft-alt);
  border-radius: 16px;
  padding: 12px 16px;
  margin-bottom: 10px;
  font-family: var(--font-family);
  color: var(--text);
  cursor: pointer;
}

.cnsf-promotor-opcion--elegido { border-color: var(--cnsf-green); background: var(--ok-bg); }
.cnsf-promotor-opcion__cuerpo { display: flex; flex-direction: column; gap: 2px; flex: 1; }

/* Reportes. */
.cnsf-reporte__tarjetas { display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; margin-bottom: 16px; }
.cnsf-reporte__tarjeta { background: var(--surface); border: 1px solid var(--surface-soft-alt); border-radius: 14px; padding: 14px; text-align: center; }
.cnsf-reporte__valor { font-size: 22px; font-weight: 800; color: var(--cnsf-green); }
.cnsf-reporte__valor--rojo { color: var(--cnsf-red); }
.cnsf-reporte__etiqueta { font-size: 12px; font-weight: 600; color: var(--text-muted); margin-top: 2px; }
.cnsf-reporte__region { margin-bottom: 12px; }
.cnsf-reporte__region-encabezado { display: flex; justify-content: space-between; font-size: 13px; font-weight: 600; margin-bottom: 5px; }
.cnsf-reporte__barra { width: 100%; height: 8px; background: var(--surface-soft-alt); border-radius: 8px; overflow: hidden; }
.cnsf-reporte__barra-relleno { height: 100%; border-radius: 8px; }
.cnsf-reporte__barra-relleno--verde { background: var(--cnsf-green); }
.cnsf-reporte__barra-relleno--ambar { background: var(--cnsf-amber-text); }
.cnsf-reporte__barra-relleno--rojo { background: var(--cnsf-red); }
