/* Negocio: KPI grandes, gráficos SVG (altura por CSS, el ancho lo mide negocio.js), beneficio con fiabilidad. */
.negocio { display: block; }
.negocio .pagina__cab .acciones { align-items: center; }
.neg-fila { margin-top: var(--e-4); }
.neg-sub { font-size: 12px; margin-top: 3px; }
.neg-nota { font-size: 12px; line-height: 1.5; margin-top: var(--e-3); }
.neg-nota .delta { font-size: 12px; }
.neg-ayuda { font-size: 11px; line-height: 1.35; }

/* KPI */
.neg-kpi { gap: 10px; min-height: 196px; }
.neg-kpi .cifra--grande { margin: 4px 0 2px; font-variant-numeric: normal; }
.neg-kpi__pie { display: grid; gap: 4px; }
.neg-kpi__pie > span { display: flex; flex-wrap: wrap; gap: 0 4px; align-items: baseline; }
.neg-kpi__pie strong { font-weight: 500; color: var(--ink); }
.neg-kpi__pie .gris-3 strong { color: var(--ink-2); }
.neg-trio { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--e-3); margin: 6px 0 4px; }
.neg-kpi .neg-trio { grid-template-columns: repeat(3, auto); justify-content: space-between; gap: 8px; }
.neg-trio__item { display: grid; gap: 4px; }
.neg-trio__item .cifra--media { font-size: clamp(16px, 0.8vw + 6px, 24px); white-space: nowrap; font-variant-numeric: normal; }
.neg-trio--datos { margin: 0; }

/* Datos sueltos (etiqueta + número + nota) */
.neg-dato { display: grid; gap: 2px; align-content: start; min-width: 0; }
.neg-dato strong { font-size: 22px; font-weight: 500; letter-spacing: -.02em; line-height: 1.1; font-variant-numeric: normal; white-space: nowrap; }
.neg-dato small { font-size: 11.5px; line-height: 1.35; }
.neg-datos { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--e-4) var(--e-3); }

/* Gráficos */
.neg-lienzo { width: 100%; position: relative; margin: 2px 0 6px; }
.neg-lienzo .grafico { display: block; width: 100%; }
.neg-panel-horas .cal-leyenda, .neg-panel-esc .cal-leyenda { margin-top: 4px; }
.neg-chips { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin-top: var(--e-3); }
.neg-chips .chip { height: 28px; gap: 4px; font-size: 12px; letter-spacing: 0; }
.neg-chips .chip strong { font-weight: 500; color: var(--ink); }
.neg-chips .cal-leyenda { margin-left: auto; }

/* Beneficio */
.neg-tabla-ben td:first-child { padding-right: 12px; }
.neg-partida { display: inline-flex; flex-wrap: wrap; gap: 4px 6px; align-items: center; }
.neg-subtotal td { border-top: 1px solid var(--line-2); font-weight: 500; }
.neg-total td { font-weight: 500; font-size: 15px; padding-top: 12px; }
.neg-tabla-ben .ok, .neg-dato .ok, .neg-kpi .ok { color: var(--ok-tinta); }
.neg-tabla-ben .fallo, .neg-dato .fallo, .neg-kpi .fallo { color: var(--fallo-tinta); }
.neg-dato .aviso { color: var(--aviso-tinta); }

/* Países y canales */
.neg-paises { display: grid; gap: 12px; }
.neg-pais { display: grid; gap: 6px; }
.neg-pais__linea { display: flex; align-items: baseline; gap: 8px; font-size: 13px; }
.neg-pais__linea strong { font-weight: 500; flex: 1; min-width: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.neg-pais__pct { width: 56px; text-align: right; color: var(--ink-2); }
.neg-pais__eur { width: 84px; text-align: right; }
.neg-canales { display: grid; gap: 8px; margin-top: 8px; }
.neg-canal { display: grid; grid-template-columns: minmax(90px, 1fr) minmax(60px, 2fr) 56px 84px; gap: 10px; align-items: center; font-size: 13px; }
.neg-canal__nombre { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.neg-canal .num { text-align: right; }

/* Top productos y pedidos */
.neg-tabla-top td:first-child, .neg-tabla-top th:first-child { width: 28px; }
.neg-producto { display: block; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 100%; }
.neg-pedido__hora { width: 52px; flex: none; display: grid; line-height: 1.2; }
.neg-pedido__hora strong { font-weight: 500; }
.neg-pedido__hora small { color: var(--ink-3); font-size: 11px; }
.neg-pedido .fila__fin strong { font-weight: 500; display: block; }
.neg-pedido .fila__fin small { font-size: 11px; display: block; }
.neg-pedido--cancelado .fila__cuerpo, .neg-pedido--cancelado .fila__fin { opacity: .55; }
.neg-chip-mini { height: 18px; padding: 0 6px; font-size: 10px; margin-left: 6px; vertical-align: 2px; }

/* Ordenador mediano: el gráfico de horas pasa a ocupar toda la fila y Escalado se pone debajo */
@media (max-width: 1100px) {
  .neg-datos { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
/* Móvil: una columna, cifras legibles, gráficos a todo el ancho */
@media (max-width: 760px) {
  .negocio .panel__cab { flex-wrap: wrap; }
  .negocio .segmentos button { white-space: nowrap; }
  .neg-kpi { min-height: 0; }
  .neg-kpi .cifra--grande { font-size: 40px; }
  .neg-trio__item .cifra--media { font-size: 22px; }
  .neg-dato strong { font-size: 20px; }
  .neg-horas { height: 200px !important; }
  .neg-meses { height: 160px !important; }
  .neg-dias { height: 190px !important; }
  .neg-horas .grafico, .neg-meses .grafico, .neg-dias .grafico { height: 100% !important; }
  .neg-chips .cal-leyenda { margin-left: 0; }
  .neg-canal { grid-template-columns: minmax(70px, 1fr) minmax(40px, 1fr) 48px 72px; gap: 8px; font-size: 12px; }
  .neg-pais__pct { width: 48px; } .neg-pais__eur { width: 72px; }
  .neg-tabla-ben, .neg-tabla-top { font-size: 12.5px; }
  .neg-total td { font-size: 14px; }
  .negocio .pagina__cab .acciones { width: 100%; }
  .negocio .pagina__cab .acciones .boton { margin-left: auto; }
}
