/* Por enviar: tarjetas de lote con botones en la cabecera, y modal de Generar */
h2.seccion { font-size: 15px; margin: 26px 0 10px; color: var(--tenue); font-weight: 600; text-transform: uppercase; letter-spacing: .04em; }

/* cabecera del lote: texto (plegable) a la izquierda, botones a la derecha, misma fila.
   Columnas fijas para cliente e identidad, así el cambio de estado / el
   detalle empieza en el mismo punto en todas las filas. */
.lote-cabecera { display: flex; align-items: center; gap: 10px; padding-right: 12px; }
.lote-toggle {
  flex: 1; min-width: 0; overflow: hidden;
  display: grid; grid-template-columns: 14px 200px 180px minmax(100px, 1fr) auto auto; align-items: center; gap: 12px;
  padding: 12px 14px; border: 0; background: transparent; color: var(--texto);
  font: inherit; text-align: left; cursor: pointer;
}
.lote-toggle:hover { background: var(--fondo); }
.lote-toggle .flecha { color: var(--tenue); transition: transform .15s; }
.lote-toggle.abierto .flecha { transform: rotate(90deg); }
.lote-toggle .cliente { font-weight: 600; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.lote-toggle .badges { overflow: hidden; flex-wrap: nowrap; }
.lote-toggle .badges .badge { overflow: hidden; text-overflow: ellipsis; max-width: 150px; }
.lote-toggle .transicion { font-size: 14px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.lote-toggle .veredicto { font-family: var(--mono); font-size: 12px; color: var(--tenue); white-space: nowrap; }
.lote-toggle .cuenta {
  min-width: 34px; text-align: center; padding: 2px 8px; border-radius: 999px;
  background: var(--acento-suave); color: var(--acento); font-weight: 600; font-size: 13px;
}
/* Por enviar tiene una columna más: el motivo */
.lote-toggle.con-motivo { grid-template-columns: 14px 200px 180px 140px minmax(100px, 1fr) auto auto; }

/* ---------------------------------------------------------------------
   Por enviar · la tarea en dos líneas (13-10, decisión de Arturo)
   Cabecera y filas comparten tres columnas: identidad / tiempos / acciones.
   El motivo va dos veces: como franja de color en el borde izquierdo (para
   barrer la lista) y como badge en la segunda línea (para leerlo).
   --------------------------------------------------------------------- */
.grupo.tarea { border-left: 4px solid var(--borde); }
.grupo.tarea.m-solicitud { border-left-color: var(--success); }
.grupo.tarea.m-reimplementar { border-left-color: var(--primary); }
.grupo.tarea.m-incompleta { border-left-color: var(--warning); }
.grupo.tarea.m-ajeno { border-left-color: var(--danger); }
.grupo.tarea.m-dinamico { border-left-color: var(--primary); }
.grupo.tarea.generado { border-color: var(--borde); border-left-width: 4px; }
.grupo.tarea.generado .lote-cabecera { background: var(--primary-light); }

.lote-toggle.v2 {
  display: flex; gap: 20px; align-items: center; grid-template-columns: none;
  padding: 12px 14px;
}
.lote-toggle.v2 .flecha { width: 14px; flex: none; }
.lote-toggle.v2 .ident { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 5px; }
.lote-toggle.v2 .quien {
  display: flex; align-items: center; gap: 8px; min-width: 0;
  font-family: var(--fuente-ui); font-size: 15px; font-weight: 700; color: var(--g900);
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.lote-toggle.v2 .quien .sep { color: var(--g300); font-weight: 400; }
.lote-toggle.v2 .como { flex-wrap: wrap; }
.lote-toggle.v2 .cuanto { width: 215px; flex: none; font-family: var(--fuente-ui); font-size: 13px; line-height: 1.5; white-space: nowrap; overflow: hidden; }
.lote-toggle.v2 .cuanto b { font-size: 15px; color: var(--g900); }
.lote-toggle.v2 .cuanto .tenue { color: var(--tenue); }
.lote-toggle.v2 .cuanto .gen { color: var(--primary); font-style: italic; overflow: hidden; text-overflow: ellipsis; }

/* las filas: mini-tarjetas sobre fondo tenue */
.detalle.pubs-zona { background: var(--g50); padding: 10px; border-top: 1px solid var(--borde); }
.pubs { display: flex; flex-direction: column; gap: 8px; }
.pub {
  display: grid; grid-template-columns: minmax(240px, 1fr) 215px auto; gap: 8px 20px; align-items: center;
  padding: 10px 14px; background: var(--papel); border: 1px solid var(--borde); border-radius: 8px;
}
.pub.descartada { opacity: .55; }
.pub .producto { min-width: 0; }
.pub .nombre { font-family: var(--fuente-ui); font-size: 14px; font-weight: 600; color: var(--g900); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.pub .codigos { display: flex; gap: 6px; margin-top: 5px; flex-wrap: wrap; }
.pub .tiempos { font-family: var(--fuente-ui); font-size: 13px; line-height: 1.5; white-space: nowrap; }
.pub .tiempos .et { color: var(--tenue); }
.pub .tiempos .tenue { color: var(--g500); font-size: 12px; }
/* dos familias de acciones: ver (enlaces, sin borde) y resolver (un solo control con borde) */
.pub .acciones { display: flex; flex-direction: column; align-items: flex-end; gap: 6px; }
.pub .acciones .linea { display: flex; gap: 4px; align-items: center; min-height: 28px; }
.pub .ver { display: inline-flex; align-items: center; gap: 5px; padding: 4px 8px; border-radius: 6px; font: 600 13px var(--fuente-ui); color: var(--primary); text-decoration: none; }
.pub .ver:hover { background: var(--primary-light); text-decoration: none; }
.pub .ver.sin { color: var(--g400); cursor: default; }
.pub .ver[hidden] { display: none; }
.pub .ver svg { width: 13px; height: 13px; }
.pub .lapiz { padding: 4px 6px; border: 0; background: transparent; color: var(--g400); border-radius: 6px; cursor: pointer; font: inherit; }
.pub .lapiz:hover, .pub .lapiz.activo { color: var(--primary); background: var(--primary-light); }
.pub .resolver { display: inline-flex; align-items: stretch; border: 1px solid var(--borde); border-radius: 8px; overflow: hidden; background: var(--papel); }
.pub .resolver select { border: 0; border-radius: 0; padding: 5px 8px; font-size: 13px; background: transparent; max-width: 220px; }
.pub .resolver select:focus { outline: none; background: var(--g50); }
.pub .resolver button { border: 0; border-left: 1px solid var(--borde); border-radius: 0; padding: 5px 11px; font: 700 13px var(--fuente-ui); color: var(--texto); background: var(--g50); cursor: pointer; }
.pub .resolver button:hover:not(:disabled) { background: var(--primary); color: #fff; }
.pub .resolver button:disabled { opacity: .5; cursor: default; }
.pub .edicion { grid-column: 1 / -1; display: flex; gap: 8px; align-items: center; padding: 8px 10px; background: var(--g50); border-radius: 8px; font-family: var(--fuente-ui); font-size: 13px; flex-wrap: wrap; }
.pub .edicion label { margin: 0; font-size: 13px; color: var(--tenue); white-space: nowrap; }
.pub .edicion input { flex: 1; min-width: 240px; padding: 5px 8px; font-size: 12.5px; }
@media (max-width: 900px) {
  .pub { grid-template-columns: 1fr; }
  .pub .acciones { align-items: flex-start; }
  .lote-toggle.v2 { flex-wrap: wrap; }
  .lote-toggle.v2 .cuanto { width: auto; }
}
.badge.motivo.solicitud { color: var(--bien); border-color: var(--bien); background: var(--bien-suave); }
.badge.motivo.reimplementar { color: var(--acento); border-color: var(--acento); background: var(--acento-suave); }
.badge.motivo.incompleta { color: var(--aviso); border-color: var(--aviso); background: var(--aviso-suave); }
.badge.motivo.ajeno { color: var(--error); border-color: var(--error); background: var(--error-suave); }
.badge.motivo.dinamico { color: var(--primary); border-color: var(--primary); background: var(--primary-light); }
@media (max-width: 900px) {
  .lote-toggle, .lote-toggle.con-motivo { grid-template-columns: 14px 1fr auto; }
  .lote-toggle .transicion, .lote-toggle .veredicto { grid-column: 2 / -1; }
}
.lote-botones { display: flex; gap: 8px; align-items: center; flex-shrink: 0; }
.grupo.generado { border-color: var(--acento); }
.grupo.generado .transicion { font-style: italic; }

/* modal de Generar: dos columnas, con los botones siempre a la vista.
   El modal es una columna flex: el encabezado y los avisos arriba, las dos
   columnas en el medio (es lo único que se desplaza) y el pie fijo abajo. */
.modal.modal-ancho {
  max-width: 1180px; width: calc(100% - 40px); max-height: calc(100vh - 40px);
  display: flex; flex-direction: column; overflow: hidden;
}
.modal.modal-ancho > h2 { flex: 0 0 auto; }
.modal.modal-ancho > .generar-columnas { flex: 1 1 auto; overflow: auto; min-height: 0; padding-right: 4px; }
.modal.modal-ancho > .modal-acciones {
  flex: 0 0 auto; margin-top: 14px; padding-top: 14px;
  border-top: 1px solid var(--borde); background: var(--papel);
}
.generar-columnas { display: grid; grid-template-columns: 5fr 7fr; gap: 22px; align-items: start; }
.generar-columnas .col { min-width: 0; }
.generar-columnas label { display: flex; align-items: center; gap: 8px; margin-top: 10px; }
@media (max-width: 900px) { .generar-columnas { grid-template-columns: 1fr; } }

.campo { width: 100%; box-sizing: border-box; font: inherit; padding: 8px 10px; border-radius: var(--radio);
  border: 1px solid var(--borde); background: var(--papel); color: var(--texto); }
textarea.campo { resize: vertical; }
textarea.campo:focus, .campo:focus { outline: 2px solid var(--acento); outline-offset: 1px; }
.cuerpo-correo { font-family: inherit; line-height: 1.45; min-height: 320px; }
.boton.enlace { border: 0; background: none; color: var(--acento); padding: 0 4px; font-size: 12px; cursor: pointer; }
.boton.enlace:hover { text-decoration: underline; }
ul.kams { margin: 4px 0 0; padding-left: 18px; font-size: 13px; }
ul.kams li { margin: 2px 0; }
ul.kams .tenue { color: var(--tenue); }
.modal .aviso { margin: 6px 0; }

/* Bajo revisión: el selector de estado va en la cabecera del lote y en cada
   fila, así que se le pone un ancho manejable. */
.lote-botones select.campo { width: auto; min-width: 190px; padding: 6px 8px; }
td.acciones select.campo { width: auto; min-width: 170px; padding: 4px 6px; margin-right: 6px; font-size: 13px; }
td.acciones { white-space: nowrap; }

/* el país va dentro de la celda del cliente, delante del nombre */
.lote-toggle .cliente { display: flex; align-items: center; gap: 6px; }
.lote-toggle .cliente .badge.pais { flex-shrink: 0; }

/* planilla Econtent: tabla de tipo de producto por SKU dentro del modal */
.tipos-caja { max-height: 240px; overflow: auto; border: 1px solid var(--borde); border-radius: var(--radio); }
table.filas.tipos { width: 100%; }
table.filas.tipos th { position: sticky; top: 0; background: var(--papel); z-index: 1; }
table.filas.tipos td .campo { padding: 4px 6px; font-size: 13px; }
table.filas.tipos td:nth-child(2) { max-width: 220px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

/* ------------------------- pantalla de envío -------------------------
   Reemplaza al modal: ocupa el ancho de la ventana, tres columnas y el
   pie de acciones siempre a la vista. */
.envio-volver { margin: 4px 0 10px; }
.boton.enlace.grande { font-size: 14px; }
h2.envio-titulo { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; margin: 0 0 12px; font-size: 17px; }
h2.envio-titulo .sep { color: var(--tenue); }

.envio-columnas {
  display: grid; grid-template-columns: 270px minmax(430px, 1.15fr) minmax(330px, 1fr);
  gap: 20px; align-items: start;
}
.envio-columnas .col { min-width: 0; }
.envio-columnas h3 {
  margin: 0 0 8px; font-size: 13px; text-transform: uppercase; letter-spacing: .04em;
  color: var(--tenue); font-weight: 600;
}
.envio-columnas label { display: flex; align-items: center; gap: 8px; margin-top: 10px; }
@media (max-width: 1200px) { .envio-columnas { grid-template-columns: 1fr 1fr; } }
@media (max-width: 820px) { .envio-columnas { grid-template-columns: 1fr; } }

.productos-barra { display: flex; align-items: center; gap: 8px; margin-bottom: 8px; flex-wrap: wrap; }
.productos-barra .todas { display: flex; align-items: center; gap: 6px; margin: 0; font-size: 13px; }
.productos-barra .contador { color: var(--tenue); font-size: 13px; margin-right: auto; }
.campo.chico { width: auto; min-width: 130px; padding: 5px 8px; font-size: 13px; }
.productos-caja { max-height: calc(100vh - 340px); overflow: auto; }
.productos-caja > table { min-width: 100%; }
.productos-caja { border: 1px solid var(--borde); border-radius: var(--radio); }
table.filas.productos { width: 100%; }
table.filas.productos th { position: sticky; top: 0; background: var(--papel); z-index: 1; }
table.filas.productos td { vertical-align: middle; }
table.filas.productos td.marca { width: 28px; }
table.filas.productos td.producto { max-width: 190px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
table.filas.productos tr.sin-marcar { opacity: .45; }
table.filas.productos tr.sin-marcar td.producto { text-decoration: line-through; }

.envio-pie {
  position: sticky; bottom: 0; z-index: 2;
  display: flex; justify-content: flex-end; align-items: center; gap: 8px;
  margin-top: 16px; padding: 12px 0; border-top: 1px solid var(--borde); background: var(--fondo);
}
.envio-pie .pie-nota { margin-right: auto; color: var(--tenue); font-size: 13px; }
.badge.segmento { color: var(--acento); border-color: var(--acento); background: var(--acento-suave); }
.envio-pie .pie-nota.ojo { color: var(--aviso); font-weight: 600; }
.envio-pie .pie-aviso { color: var(--tenue); font-size: 13px; margin-right: auto; }
.productos-barra .tenue.chica { font-size: 13px; color: var(--tenue); }

/* ---------------------------------------------------------------------
   Las mismas tarjetas en Decisiones, Bajo revisión, Pendientes y Seguimiento
   (15-10). Franja de color por bandeja; la fila es la misma mini-tarjeta.
   --------------------------------------------------------------------- */
.grupo.tarea.m-decision { border-left-color: var(--primary); }
.grupo.tarea.m-bajo, .grupo.tarea.m-manual, .grupo.tarea.m-insistir { border-left-color: var(--warning); }
.grupo.tarea.m-sinpdp, .grupo.tarea.m-rebotado, .grupo.tarea.m-escalado { border-left-color: var(--danger); }
.grupo.tarea.m-esperando { border-left-color: var(--borde); }

.pub .info { display: flex; flex-wrap: wrap; gap: 4px 6px; align-content: center; font-family: var(--fuente-ui); font-size: 13px; }
.pub .info > .tiempos { flex-basis: 100%; }
.pub .tiempos b { color: var(--g900); }
.pub.hilo .nombre { white-space: normal; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.pub.aplicada { background: var(--bien-suave); }
.pub.ya, .pub.descartada { color: var(--tenue); }
.pub .acciones input.campo { min-width: 220px; }
.pub .acciones .linea { flex-wrap: wrap; justify-content: flex-end; }

/* "Página": una sola etiqueta con dos acciones (ver y copiar el enlace) */
.pagina { display: inline-flex; align-items: stretch; border: 1px solid var(--borde); border-radius: 999px; overflow: hidden; background: var(--papel); font: 600 12px var(--fuente-ui); }
.pagina .rot { display: inline-flex; align-items: center; gap: 5px; padding: 3px 9px; color: var(--tenue); background: var(--g50); }
.pagina svg { width: 13px; height: 13px; }
.pagina .accion { display: inline-flex; align-items: center; gap: 4px; padding: 3px 8px; border: 0; border-left: 1px solid var(--borde); background: transparent; color: var(--primary); font: inherit; cursor: pointer; text-decoration: none; }
.pagina .accion:hover { background: var(--primary-light); text-decoration: none; }
.pagina.sin { display: inline-flex; align-items: center; gap: 5px; padding: 3px 10px; color: var(--g400); }
/* la pastilla del inpage: mismo formato que Publicación, con el lápiz como última acción */
.pagina .accion[hidden] { display: none; }
.pagina .accion.lapiz { color: var(--g400); }
.pagina .accion.lapiz:hover, .pagina .accion.lapiz.activo { color: var(--primary); background: var(--primary-light); }
.pagina.inpage.sin-enlace .rot { color: var(--g400); }
@media (max-width: 800px) { .pub .acciones .linea { justify-content: flex-start; } }

/* asunto copiable (Seguimiento, Hoy): clic copia el asunto para buscarlo en Outlook */
.texto-copiable { display: inline-flex; align-items: center; gap: 6px; max-width: 100%; padding: 1px 6px; margin: -1px -6px; border-radius: 6px; cursor: pointer; }
.texto-copiable .txt { overflow: hidden; text-overflow: ellipsis; }
.texto-copiable svg { width: 13px; height: 13px; flex: none; color: var(--g400); }
.texto-copiable:hover { background: var(--primary-light); }
.texto-copiable:hover svg { color: var(--primary); }
.texto-copiable:focus-visible { outline: 2px solid var(--primary); outline-offset: 1px; }


/* copiar el texto de insistencia (Seguimiento, Hoy) */
.boton.copiar-insistencia { display: inline-flex; align-items: center; gap: 5px; }
.boton.copiar-insistencia svg { width: 13px; height: 13px; flex: none; }

/* correo mensual (Falabella 3P, 0151): sección propia en Por enviar */
.bloque-mensual { margin: 18px 0 6px; padding: 12px 16px 14px; border: 1px solid var(--borde); border-left: 4px solid var(--g400); border-radius: 10px; background: var(--g50); }
.bloque-mensual.toca { border-left-color: var(--primary); background: var(--primary-light); }
.bloque-mensual h2.seccion { margin-top: 0; display: flex; align-items: center; gap: 10px; }
.bloque-mensual .etiqueta.aviso { color: var(--primary-dark); border-color: rgba(77, 74, 157, .35); background: var(--papel); font-size: 12px; }
.bloque-mensual .resumen { margin: 6px 0 4px; }
.bloque-mensual .evidencia { margin: 4px 0 10px; }
/* 10-11: la sección mensual se minimiza */
.bloque-mensual .mensual-cab { cursor: pointer; user-select: none; }
.bloque-mensual .mensual-cab .flecha { display: inline-block; transition: transform .15s; color: var(--g400); font-size: 13px; transform: rotate(90deg); }
.bloque-mensual.cerrada .mensual-cab .flecha { transform: none; }
.bloque-mensual .mensual-corto { display: none; font: 600 13px var(--fuente-ui); margin-left: auto; }
.bloque-mensual.cerrada .mensual-corto { display: inline; }
.bloque-mensual.cerrada { padding-bottom: 12px; }
.bloque-mensual.cerrada h2.seccion { margin-bottom: 0; }
.bloque-mensual .mensual-cab:focus-visible { outline: 2px solid var(--primary); outline-offset: 2px; border-radius: 4px; }
.lista-clientes-mensual { margin: 8px 0 16px; padding-left: 0; list-style: none; display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 4px 16px; font-size: 14px; }
.lista-clientes-mensual .etiqueta { margin-left: 6px; }
.marcar-mensual { margin-top: 20px; padding-top: 14px; border-top: 1px solid var(--borde); }
.marcar-mensual h3 { margin: 0 0 8px; }
.envio-columnas.dos { grid-template-columns: 1fr 1.4fr; }
@media (max-width: 820px) { .envio-columnas.dos { grid-template-columns: 1fr; } }
.envio-mensual textarea.campo { min-height: 180px; }

/* Bajo revisión de Contenido (0153) */
.grupo.tarea.m-homologar { border-left-color: var(--primary); }
.badge.espera { background: var(--primary-light); color: var(--primary-dark); }
.badge.alerta { background: var(--error-suave, #fdecec); color: var(--error); }
.badge.pedido { background: var(--g100); color: var(--g900); }
/* 0166: el lote avisa cuántas publicaciones van sin enlace INDEXADO */
.badge.sin-indexado { color: var(--aviso); border-color: var(--aviso); background: var(--aviso-suave); }
.lote-botones .nota-lote { min-width: 220px; }
.pub .resolver .nota-fila { min-width: 180px; }
.pub .situacion { white-space: normal; font-size: 12px; line-height: 1.4; max-width: 46ch; }
.pub .situacion.espera { color: var(--primary-dark); }
.pub .situacion.alerta { color: var(--error); }
.pub .situacion.pedido { color: var(--g900); font-weight: 600; }
.pub.esperando { background: var(--primary-light); }
.pub.con-pedido { background: var(--g50); }
.etiqueta.pedido { color: var(--g900); border-color: var(--g400); }

/* Hoy de Contenido */
.hoy-meta.hoy-contenido .hoy-check { font-size: 15px; font-weight: 700; }
.hoy-meta.hoy-contenido.alerta .hoy-check { color: var(--error); }
.hoy-meta.hoy-contenido.nueva .hoy-check { color: var(--primary-dark); }
.hoy-fila .nombre { white-space: normal; }
.hoy-fila .info { font-size: 13px; }

/* Pedidos de Contenido en el Hoy de Implementaciones */
.pedidos-contenido .linea-respuesta { display: flex; gap: 8px; align-items: center; margin: 6px 0 10px; flex-wrap: wrap; }

/* Buscar producto (Contenido) */
.producto-cont { padding: 12px 14px; }
.producto-cont .producto-cab { display: flex; flex-wrap: wrap; gap: 8px 18px; align-items: center; margin-bottom: 8px; }
.producto-cont .producto-nombre { font: 600 15px var(--fuente-ui); color: var(--g900); flex-basis: 100%; }
.producto-cont .producto-indexado { flex-basis: 100%; }
.producto-cont .indexado { display: inline-flex; align-items: center; gap: 6px; max-width: 100%; font-size: 13px; }
.producto-cont .indexado .rot { font: 600 11px var(--fuente-ui); color: var(--tenue); letter-spacing: .04em; }
.producto-cont .indexado .texto-copiable { max-width: 60ch; }
table.tabla-pubs { width: 100%; border-collapse: collapse; font-size: 13px; }
table.tabla-pubs th { text-align: left; font: 600 11px var(--fuente-ui); color: var(--tenue); letter-spacing: .04em; padding: 4px 8px; border-bottom: 1px solid var(--borde); }
table.tabla-pubs td { padding: 6px 8px; border-bottom: 1px solid var(--g100); vertical-align: top; }
table.tabla-pubs code { font-size: 12px; }

/* los productos de un hilo, bajo la tarjeta del hilo (0156) */
.pub.hilo .productos-hilo { grid-column: 1 / -1; margin-top: 4px; padding-top: 8px; border-top: 1px dashed var(--borde); }
.pub.hilo .ver-productos { font-size: 12px; padding: 0 6px; }
.pub.hilo .ver-productos.abierto { color: var(--primary-dark); }
.pub.hilo .ver-productos .flecha { display: inline-block; margin-right: 4px; color: var(--tenue); transition: transform .15s; }
.pub.hilo .ver-productos.abierto .flecha { transform: rotate(90deg); color: inherit; }
.productos-hilo .cabecera-productos { margin-bottom: 6px; }
.pubs.anidados .pub { background: var(--g50); padding: 8px 12px; }
.pubs.anidados .pub.ya { opacity: .7; }
.etiqueta.bien { color: var(--bien); border-color: var(--bien); }
.avance-hilo.completo { color: var(--bien); font-weight: 600; }

/* Bajo revisión / Hoy de Contenido · arreglos de disposición (30-10) */
/* el lote: identidad arriba, acciones en su propia fila */
.grupo.tarea.lote-contenido .lote-cabecera { flex-wrap: wrap; padding-right: 0; }
.grupo.tarea.lote-contenido .lote-toggle.v2 { flex-basis: 100%; }
.lote-botones.acciones-contenido { flex-basis: 100%; flex-wrap: wrap; padding: 8px 14px 12px 42px; border-top: 1px dashed var(--borde); gap: 8px; }
.lote-botones.acciones-contenido .rotulo { font: 600 12px var(--fuente-ui); color: var(--tenue); }
.lote-botones.acciones-contenido .nota-lote { flex: 1 1 260px; min-width: 200px; }
.lote-botones.acciones-contenido select.campo { max-width: 330px; }
.lote-botones.acciones-contenido .sep-acciones { width: 1px; height: 24px; background: var(--borde); margin: 0 4px; }
/* las filas: tres columnas que respiran, nada se superpone */
.pubs.contenido .pub { grid-template-columns: minmax(220px, 1.1fr) minmax(260px, 1.4fr) minmax(300px, auto); align-items: start; gap: 8px 16px; }
.pubs.contenido .pub .info { display: flex; flex-direction: column; align-items: stretch; gap: 6px; min-width: 0; }
.pubs.contenido .evidencia-rev { display: flex; flex-direction: column; gap: 4px; min-width: 0; font-size: 12px; }
.pubs.contenido .evidencia-rev .linea-vered { display: flex; flex-wrap: wrap; gap: 4px 6px; align-items: center; }
.pubs.contenido .evidencia-rev .cod { font-family: var(--mono); font-size: 12px; font-weight: 600; color: var(--g900); }
.pubs.contenido .evidencia-rev .texto { white-space: normal; overflow-wrap: anywhere; line-height: 1.4; color: var(--g900); }
.pubs.contenido .evidencia-rev .texto.tenue { color: var(--tenue); }
.pubs.contenido .situacion { white-space: normal; overflow-wrap: anywhere; max-width: none; }
.pubs.contenido .pub .acciones { align-items: flex-end; gap: 6px; }
.pubs.contenido .pub .acciones .linea { flex-wrap: wrap; justify-content: flex-end; }
.pubs.contenido .resolver { display: flex; flex-wrap: wrap; gap: 4px; justify-content: flex-end; }
.pubs.contenido .resolver select.campo { width: 210px; min-width: 0; }
.pubs.contenido .resolver .nota-fila { width: 150px; min-width: 0; }
.pubs.contenido .pub .codigos { flex-wrap: wrap; }
@media (max-width: 1100px) { .pubs.contenido .pub { grid-template-columns: 1fr 1fr; } .pubs.contenido .pub .acciones { grid-column: 1 / -1; align-items: flex-start; } .pubs.contenido .pub .acciones .linea { justify-content: flex-start; } }
/* Hoy de Contenido: el número como píldora, no dentro del círculo */
.hoy-meta.hoy-contenido { grid-template-columns: auto 1fr auto; }
.hoy-n { min-width: 34px; padding: 2px 10px; border-radius: 999px; background: var(--g100); font: 800 14px var(--fuente-ui); color: var(--g900); text-align: center; }
.hoy-meta.hoy-contenido.alerta .hoy-n { background: var(--error-suave, #fdecec); color: var(--error); }
.hoy-meta.hoy-contenido.nueva .hoy-n { background: var(--primary-light); color: var(--primary-dark); }
.hoy-meta.hoy-contenido.pedido .hoy-n { background: var(--g100); }
.hoy-meta.hoy-contenido .hoy-detalle { grid-column: 1 / -1; }
.hoy-fila .codigos { white-space: normal; }

/* el control de decisión (30-10): desplegable · nota condicional · un botón */
.decision { display: flex; flex-wrap: wrap; gap: 4px 6px; align-items: center; justify-content: flex-end; }
.decision select.campo { width: 300px; max-width: 100%; min-width: 0; }
.decision .nota-fila { width: 220px; min-width: 0; }
.decision .mas-nota { font-size: 12px; }
.decision.de-lote { flex: 1; justify-content: flex-start; }
.decision.de-lote select.campo { width: 360px; }
.decision.de-lote .nota-lote { flex: 1 1 240px; min-width: 200px; }
.lote-botones.acciones-contenido .secundario { display: flex; align-items: center; gap: 6px; margin-left: auto; opacity: .8; }
.lote-botones.acciones-contenido .secundario select.campo { max-width: 220px; }
.pubs.contenido .pub .acciones .linea:first-child { gap: 6px; }
.pubs.contenido .pub { grid-template-columns: minmax(200px, 1fr) minmax(240px, 1.3fr) minmax(320px, auto); }
/* Hoy de Contenido: el detalle ocupa todo el ancho; las filas no llevan huecos laterales */
.hoy-meta.hoy-contenido > .hoy-detalle { grid-column: 1 / -1; margin: 4px 0 0; }
.hoy-meta.hoy-contenido .pubs.contenido .pub { grid-template-columns: minmax(200px, 1fr) minmax(200px, 1fr) minmax(320px, auto); }
/* la identidad bajo el nombre (Hoy de Contenido): país · cliente · retailer */
.pub .identidad { display: flex; align-items: center; gap: 4px; flex-wrap: wrap; margin-top: 5px; white-space: normal; }
.pub .identidad .sep { color: var(--g300); }
.pubs.contenido .pub .codigos + .codigos { margin-top: 4px; }
.etiqueta.espera { color: var(--primary-dark); border-color: rgba(77, 74, 157, .35); }
.etiqueta.alerta { color: var(--error); border-color: var(--error); }

/* Seguimiento: lote con todos sus hilos atendidos desde dentro (insistencia, cierre o rebote resuelto) */
.grupo.tarea.resuelta { border-left-color: var(--bien); background: var(--bien-suave); }
.grupo.tarea.resuelta .lote-botones .etiqueta.bien { color: var(--bien); font-weight: 600; }

/* Seguimiento en un solo listado: pastilla del estado de cada lote y leyenda */
.badge.estado-seg { font-weight: 700; }
.badge.estado-seg.rebotado { color: var(--fondo); background: var(--danger-dark); border-color: var(--danger-dark); }
.badge.estado-seg.escalado { color: var(--danger); background: var(--error-suave); border-color: var(--danger); }
.badge.estado-seg.insistir { color: var(--warning-dark); background: var(--aviso-suave); border-color: var(--warning); }
.badge.estado-seg.esperando { color: var(--tenue); background: var(--fondo); border-color: var(--borde); }
/* 0197: Falabella 3P, sin seguimiento */
.badge.estado-seg.mensual { color: var(--primary-dark); background: var(--primary-light); border-color: var(--primary-light); }
.grupo.tarea.m-mensual { border-left-color: var(--primary-light); }
.grupo.tarea.m-rebotado { border-left-color: var(--danger-dark); }
.leyenda-estados { display: flex; flex-wrap: wrap; gap: 6px 18px; margin: 4px 0 10px; font-size: 13px; }

/* 11-11 · CS: enlace de la publicación, «No aplica» y reporte de solicitudes */
.pub.pide-enlace .enlace-cs { grid-column: 1 / -1; border-top: 1px dashed var(--borde); padding-top: 8px; }
.pub.pide-enlace.marcada { opacity: .7; }
.pub.pide-enlace.resuelta { border-color: var(--bien); }
.fila-enlace { display: flex; gap: 8px; align-items: center; }
.fila-enlace .campo { flex: 1; min-width: 0; padding: 5px 10px; font-size: 13px; }
.fila-enlace .separa { flex: 0 0 auto; width: 1px; height: 22px; background: var(--borde); margin: 0 6px; }
.fila-enlace .boton { flex: 0 0 auto; white-space: nowrap; }
.msg-cs { margin-top: 6px; font-family: var(--fuente-ui); font-size: 13px; line-height: 1.45; }
.msg-cs .msg-titulo { display: block; font-weight: 600; }
.msg-cs .msg-detalle { display: block; }
.msg-cs.bien { color: var(--bien); }
.msg-cs.error { color: var(--error); }
.msg-cs.aviso { color: var(--aviso); margin: 0 0 6px; }
.msg-cs.tenue { color: var(--tenue); }
.barra-reporte { display: flex; justify-content: flex-end; align-items: center; flex-wrap: wrap; gap: 6px 14px; margin: 2px 0 12px; }
.barra-reporte .nota.check { margin: 0; }
.barra-reporte .msg-reporte { margin-right: auto; font-size: 13px; }
@media (max-width: 640px) {
  .pub.pide-enlace { grid-template-columns: minmax(0, 1fr); }
  .pub.pide-enlace .acciones { align-items: flex-start; }
  .fila-enlace { flex-wrap: wrap; }
  .fila-enlace .campo { flex-basis: 100%; order: 2; }
  .fila-enlace .separa { display: none; }
  .fila-enlace .boton.primario { order: 3; }
}
/* 11-11 · Publicaciones → Enlace sin SKU */
table.sin-sku td.sku-tienda { min-width: 320px; }
table.sin-sku td.sku-tienda .fila-enlace .campo { max-width: 260px; }
table.sin-sku td.sku-tienda .msg-cs.aviso { padding: 6px 10px; margin: 6px 0 0; }
.pestanas .cuenta-pestana { font-weight: 400; }
/* 11-11 · Franja de aviso del Revisor (Hoy y Dashboard) */
.franja-revisor { background: var(--error-suave); color: var(--error); border: 1px solid var(--error); border-radius: var(--radio); padding: 8px 14px; margin: 0 0 14px; font-family: var(--fuente-ui); font-size: 14px; line-height: 1.45; }
.franja-revisor[hidden] { display: none; }
.franja-revisor .franja-linea + .franja-linea { margin-top: 4px; }
.franja-revisor .franja-paso { opacity: .85; }
table.sin-sku .botones-sku { flex-wrap: wrap; margin-top: 6px; }

/* 0228 · un correo por retailer: tarjeta con varios motivos y columna «Acción» */
.grupo.tarea.m-combinado { border-left-color: var(--success); }
.badge.motivo.combinado { color: var(--bien); border-color: var(--bien); background: var(--bien-suave); }
.parte-cab { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin: 12px 0 4px; }
.parte-cab .boton.mini { margin-left: auto; }
.pubs-parte + .parte-cab { border-top: 1px solid var(--borde); padding-top: 10px; }
.badge.accion { white-space: nowrap; }
.badge.accion.a-solicitud { color: var(--bien); border-color: var(--bien); background: var(--bien-suave); }
.badge.accion.a-reimplementacion { color: var(--acento); border-color: var(--acento); background: var(--acento-suave); }
.badge.accion.a-incompleta { color: var(--aviso); border-color: var(--aviso); background: var(--aviso-suave); }
.badge.accion.a-ajeno { color: var(--error); border-color: var(--error); background: var(--error-suave); }
/* 12-11: las etiquetas de motivo con su número («🔁52 por Reimplementar») caben enteras */
.lote-toggle .badges .badge.motivo { max-width: 230px; }

/* 0234 · Por verificar: lo que no respalda una lectura de los últimos 7 días */
details.por-verificar { margin-top: 28px; }
details.por-verificar > summary { cursor: pointer; list-style: none; }
details.por-verificar > summary::-webkit-details-marker { display: none; }
details.por-verificar > summary h2.seccion { display: inline-block; }
details.por-verificar > summary h2.seccion::before { content: '▸ '; }
details.por-verificar[open] > summary h2.seccion::before { content: '▾ '; }
details.por-verificar .nota { margin: 4px 0 12px; }
.badge.verificar { background: #fff4d6; color: #7a5300; border: 1px solid #f0d58a; }
