/* Junta diaria · un deck que se proyecta.
   Todo acotado a .mod-junta: los CSS de los tableros se cargan siempre y chocan
   entre sí (este define th/td, igual que KPIs y Despacho, con reglas distintas).

   Monocromo de la casa. El rojo (--alarma) es el único color y está reservado a
   lo vencido — que es exactamente lo que marca aquí. No hay semáforo de tres
   colores: seis estados en colores serían seis significados que nadie recuerda. */

/* Se come el padding del <main> para ganar la pantalla completa, igual que
   SQDCO. Una diapositiva con márgenes de página no se lee desde el fondo de la
   sala. */
.mod-junta{
  /* El margen de ARRIBA acompaña al padding reducido de main (--gut/2); los
     otros tres siguen cancelando el padding completo. Con el margen entero
     arriba, la lámina se metía debajo del encabezado. */
  margin:calc(-1 * var(--gut) / 2) calc(-1 * var(--gut)) calc(-1 * var(--gut));
  padding:0;
  min-height:100vh;
  display:flex;
  flex-direction:column;
}

.mod-junta .deck{display:flex;flex-direction:column;min-height:100vh;position:relative}
.mod-junta .laminas{flex:1;display:flex}

/* ---- la lámina ---------------------------------------------------------- */
.mod-junta .lam{
  flex:1;display:flex;flex-direction:column;
  padding:clamp(10px,1.4vw,22px) clamp(24px,4vw,72px) clamp(56px,4.6vw,78px);
  min-width:0;
}
.mod-junta .lam-cab{
  display:flex;align-items:flex-start;justify-content:space-between;gap:24px;
  border-bottom:1px solid var(--ink);padding-bottom:9px;margin-bottom:clamp(12px,1.6vw,22px);
}
.mod-junta .lam-cab h2{
  font-size:clamp(24px,3vw,44px);font-weight:600;letter-spacing:-.02em;line-height:1.05;padding:0;
}
.mod-junta .lam-cab .def{margin-top:6px;color:var(--meta);font-size:clamp(13px,1.05vw,18px)}
.mod-junta .duenio{text-align:right;white-space:nowrap;font-size:clamp(13px,1.05vw,17px);font-weight:600}
.mod-junta .duenio .lbl{display:block;margin-bottom:3px}

/* ---- las cifras grandes ------------------------------------------------- */
.mod-junta .cifras{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));
  gap:clamp(14px,2vw,34px);margin-bottom:clamp(16px,2.2vw,32px);
}
.mod-junta .cif b{
  display:block;font-size:clamp(38px,5.2vw,84px);font-weight:600;line-height:.95;
  letter-spacing:-.04em;font-variant-numeric:tabular-nums;
}
.mod-junta .cif .lbl{display:block;margin-top:8px}
.mod-junta .cif .pie{display:block;margin-top:3px;color:var(--meta);font-size:clamp(11px,.82vw,14px)}

/* ---- tabla -------------------------------------------------------------- */
/* ⚠️ NO llevar `flex:1` ni `min-height:0` aquí. Con eso la tabla se encogía al
   espacio que sobraba dentro de la lámina y, teniendo solo `overflow-x`, lo que
   no cabía quedaba RECORTADO Y SIN FORMA DE BAJAR: las tablas largas —Despacho,
   OF en riesgo, el Pareto— se veían a medias en todas las láminas. Ahora toma su
   alto natural, la lámina crece y la página hace scroll como debe. */
.mod-junta .tabla-wrap{overflow-x:auto}
.mod-junta table{
  width:100%;border-collapse:collapse;min-width:520px;
  font-size:clamp(13px,1.05vw,18px);font-variant-numeric:tabular-nums;
}
.mod-junta th{
  text-align:left;padding:8px 16px 8px 0;border-bottom:1px solid var(--ink);
  font-size:clamp(10px,.72vw,12px);text-transform:uppercase;letter-spacing:.07em;
  font-weight:600;white-space:nowrap;color:var(--meta);
}
.mod-junta td{padding:11px 16px 11px 0;border-bottom:1px solid var(--rule);vertical-align:top}
.mod-junta tbody tr:last-child td{border-bottom:0}
/* Vencido en rojo, y sin depender solo del color: la fila va en negritas. */
.mod-junta tr.mal td{color:var(--alarma);font-weight:600}
.mod-junta td .meta{color:var(--meta);font-weight:400}
.mod-junta .chip{
  display:inline-block;border:1px solid var(--ink);padding:1px 8px;
  font-size:clamp(10px,.72vw,12px);text-transform:uppercase;letter-spacing:.06em;font-weight:600;
}
.mod-junta .bien{color:var(--ink);font-weight:600}

/* ---- el hueco declarado -------------------------------------------------- */
/* Ocupa la lámina entera: si no hay dato, lo único que hay que leer es por qué. */
.mod-junta .hueco{
  flex:1;display:flex;flex-direction:column;justify-content:center;
  max-width:60ch;
}
.mod-junta .nd-marca{
  font-size:clamp(52px,7vw,110px);font-weight:600;letter-spacing:-.04em;
  color:var(--meta);line-height:1;margin-bottom:18px;
}
.mod-junta .nd-razon{font-size:clamp(16px,1.5vw,26px);line-height:1.5}
.mod-junta .nd-pie{margin-top:14px;color:var(--meta);font-size:clamp(12px,.95vw,16px)}
/* La salvedad de un bloque PARCIAL: hay cifras y hay una advertencia sobre
   cuáles de ellas no hay que creerse. */
.mod-junta .salvedad{
  margin-top:auto;padding-top:16px;border-top:1px solid var(--rule);
  color:var(--meta);font-size:clamp(12px,.95vw,16px);line-height:1.5;max-width:82ch;
}

/* ---- portada ------------------------------------------------------------ */
.mod-junta .portada{flex:1;display:flex;flex-direction:column;justify-content:center}
.mod-junta .portada h1{
  font-size:clamp(38px,6.4vw,104px);font-weight:600;letter-spacing:-.035em;
  line-height:1;margin:10px 0 0;text-transform:capitalize;
}
.mod-junta .portada .semana{margin-top:14px;color:var(--meta);font-size:clamp(14px,1.3vw,22px)}
.mod-junta .salud{display:flex;gap:clamp(20px,3vw,54px);margin-top:clamp(28px,4vw,60px);flex-wrap:wrap}
.mod-junta .salud span{font-size:clamp(12px,.95vw,16px);color:var(--meta)}
.mod-junta .salud b{
  display:block;font-size:clamp(34px,4.4vw,70px);font-weight:600;
  letter-spacing:-.03em;color:var(--ink);line-height:1;margin-bottom:4px;
}
.mod-junta .portada .arranque{margin-top:auto;color:var(--meta);font-size:clamp(12px,.9vw,15px)}

/* ---- frase y minuta ----------------------------------------------------- */
.mod-junta .frase{flex:1;display:flex;flex-direction:column;justify-content:center;max-width:36ch}
.mod-junta blockquote{
  margin:0;font-size:clamp(26px,4vw,64px);font-weight:600;
  letter-spacing:-.025em;line-height:1.15;
}
.mod-junta cite{display:block;margin-top:20px;font-style:normal;color:var(--meta);font-size:clamp(14px,1.2vw,20px)}
.mod-junta .minuta-vista{
  flex:1;font-size:clamp(15px,1.25vw,21px);line-height:1.6;max-width:78ch;
  white-space:pre-wrap;
}
.mod-junta .vacio{color:var(--meta);font-size:clamp(14px,1.15vw,19px);max-width:60ch}

/* ---- formularios de captura --------------------------------------------- */
.mod-junta form.captura{
  margin-top:clamp(18px,2.4vw,34px);padding-top:16px;border-top:1px solid var(--rule);
  display:flex;flex-direction:column;gap:12px;max-width:70ch;
}
.mod-junta form.captura.fila{flex-direction:row;flex-wrap:wrap;align-items:flex-end;max-width:none}
.mod-junta form.captura label{
  display:flex;flex-direction:column;gap:5px;flex:0 1 auto;
  font-size:clamp(10px,.72vw,12px);text-transform:uppercase;letter-spacing:.07em;
  font-weight:600;color:var(--meta);
}
.mod-junta form.captura label.ancho{flex:1 1 280px}
.mod-junta form.captura input,
.mod-junta form.captura select,
.mod-junta form.captura textarea{
  font:inherit;font-size:clamp(14px,1.05vw,17px);text-transform:none;letter-spacing:0;
  font-weight:400;color:var(--ink);background:var(--paper);
  border:1px solid var(--rule);border-radius:2px;padding:8px 10px;width:100%;
}
.mod-junta form.captura textarea{resize:vertical;line-height:1.5}
.mod-junta form.captura input:focus,
.mod-junta form.captura select:focus,
.mod-junta form.captura textarea:focus{outline:none;border-color:var(--ink)}
.mod-junta form.captura .acciones{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
/* El mensaje del servidor se muestra tal cual: traducirlo en el front esconde
   la causa justo cuando hace falta. */
.mod-junta .err{color:var(--alarma);font-size:clamp(12px,.9vw,15px);margin:0}
.mod-junta button:disabled{opacity:.45;cursor:default}
.mod-junta .quitar{font-size:clamp(11px,.82vw,13px);padding:2px 8px}

/* ---- barra de navegación e índice --------------------------------------- */
/* 9-sep-2026: la barra se subió ~30% (24px de alto a 32px) porque desde el fondo
   de la sala no se leía. Su alto lo fijan los BOTONES, no la barra: 16px de
   texto + 4px de padding arriba y abajo + 1px de borde, mas 3px de la propia
   barra. Los paneles flotantes van anclados a `bottom:33px` = ese alto + 1: si
   se vuelve a mover el tamaño, esos tres `bottom` se mueven con el. */
/* En TERCIOS: navegar a la izquierda, dónde estás al centro, y lo que se puede
   anotar a la derecha. Los tres iguales (1fr) para que el nombre de la lámina
   quede centrado de verdad en la pantalla y no donde lo empujen los botones. */
.mod-junta .barra{
  position:fixed;left:0;right:0;bottom:0;z-index:5;
  display:grid;grid-template-columns:1fr 1fr 1fr;align-items:center;
  padding:3px clamp(14px,2.4vw,40px);
  background:var(--paper);border-top:1px solid var(--rule);
}
.mod-junta .franja-izq{display:flex;gap:4px;justify-content:flex-start}
.mod-junta .franja-centro{text-align:center;line-height:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mod-junta .franja-der{display:flex;gap:4px;justify-content:flex-end}
.mod-junta .nav-btn{
  font:inherit;font-size:16px;line-height:1;
  background:var(--paper);color:var(--ink);border:1px solid var(--ink);
  border-radius:2px;padding:4px 13px;cursor:pointer;
}
.mod-junta .nav-btn:hover{background:var(--ink);color:var(--paper)}
.mod-junta .pos{margin-left:auto;color:var(--meta);font-size:clamp(12px,.9vw,15px);font-variant-numeric:tabular-nums}
.mod-junta .pos b{color:var(--ink);font-weight:600}


.mod-junta .indice{
  position:fixed;right:clamp(24px,4vw,72px);bottom:33px;z-index:6;
  background:var(--paper);border:1px solid var(--ink);
  padding:14px;max-height:66vh;overflow-y:auto;
  display:flex;flex-direction:column;gap:1px;min-width:230px;
}
.mod-junta .indice > .lbl{margin-bottom:8px}
.mod-junta .ind-item{
  font:inherit;font-size:clamp(12px,.95vw,15px);text-align:left;
  background:none;border:0;border-bottom:1px solid var(--rule);
  padding:8px 0;cursor:pointer;color:var(--ink);
}
.mod-junta .ind-item:last-child{border-bottom:0}
.mod-junta .ind-item:hover{text-decoration:underline;text-underline-offset:4px}
/* En el índice se ve de un golpe qué bloques no tienen dato: van en gris. Es la
   lista de lo que hay que arreglar, y está a la vista todos los días. */
.mod-junta .ind-item[data-est="nd"]{color:var(--meta)}
.mod-junta .ind-item[data-est="nd"]::after{content:" · N.D.";font-size:.82em}
.mod-junta .ind-item[data-est="parcial"]::after{content:" · parcial";font-size:.82em;color:var(--meta)}

@media (max-width:820px){
  .mod-junta .cifras{grid-template-columns:repeat(auto-fit,minmax(130px,1fr))}
  .mod-junta form.captura.fila{flex-direction:column;align-items:stretch}
}

/* ---- la tira de acuerdos (va en TODAS las láminas) ------------------------ */
/* Al pie y separada por una regla: es lo que sale de discutir la lámina, no
   parte de la lámina. Compacta a propósito — no debe robarle sitio a la cifra. */
.mod-junta .acuerdos{
  margin-top:auto;padding-top:14px;border-top:1px solid var(--rule);
}
.mod-junta .acuerdos > .lbl{margin-bottom:8px}
.mod-junta .ac-lista{list-style:none;margin:0 0 10px;padding:0;display:flex;flex-direction:column;gap:6px}
.mod-junta .ac-lista li{
  font-size:clamp(13px,1vw,17px);line-height:1.45;
  padding-left:14px;position:relative;
}
.mod-junta .ac-lista li::before{content:"—";position:absolute;left:0;color:var(--meta)}
.mod-junta .ac-lista li.alarma{color:var(--alarma);font-weight:600}
.mod-junta .ac-lista .meta{color:var(--meta);font-weight:400;margin-left:8px;font-size:.86em}
.mod-junta .ac-vacio{color:var(--meta);font-size:clamp(12px,.9vw,15px);margin:0 0 10px}
.mod-junta form.ac-form{margin-top:0;padding-top:0;border-top:0}
.mod-junta form.ac-form label{font-size:clamp(9px,.66vw,11px)}
.mod-junta form.ac-form input{padding:6px 9px;font-size:clamp(13px,.95vw,15px)}

/* ---- seguimiento de acuerdos --------------------------------------------- */
.mod-junta .acciones-fila{white-space:nowrap;display:flex;gap:6px}
.mod-junta .mover{font-size:clamp(11px,.8vw,13px);padding:2px 8px;white-space:nowrap}

/* ---- enviar la minuta ---------------------------------------------------- */
/* El único botón del portal que manda algo fuera de la empresa. Va separado del
   de guardar y con su nota al lado: quién lo recibe se lee antes de pulsarlo. */
.mod-junta .enviar{
  margin-top:16px;padding-top:14px;border-top:1px solid var(--rule);
  display:flex;gap:18px;align-items:flex-start;flex-wrap:wrap;
}
.mod-junta .env-nota{
  flex:1 1 280px;margin:0;color:var(--meta);
  font-size:clamp(12px,.9vw,15px);line-height:1.5;max-width:62ch;
}
.mod-junta .env-nota b{color:var(--ink)}

/* ---- la minuta como formato controlado FOR-RH-22 ------------------------- */
/* Se respeta la forma del documento de Word que usa la empresa: encabezado con
   código y revisión, bloques de datos y las mismas secciones en el mismo orden.
   Quien reciba el correo tiene que reconocer el formato que ya firma. */
.mod-junta .for-cab{
  display:flex;border:1px solid #c9cdd4;margin-bottom:14px;
}
.mod-junta .for-tit{
  flex:1;background:#27303f;color:#fff;padding:12px 16px;text-align:center;
}
.mod-junta .for-tit b{display:block;font-size:clamp(15px,1.5vw,22px);letter-spacing:.06em}
.mod-junta .for-tit span{font-size:clamp(11px,.82vw,13px);opacity:.8}
.mod-junta .for-cod{
  background:#f3eee1;padding:12px 16px;font-size:clamp(10px,.78vw,12px);
  line-height:1.7;white-space:nowrap;
}

.mod-junta table.for-datos{
  width:100%;border-collapse:collapse;margin-bottom:14px;min-width:0;
  font-size:clamp(12px,.95vw,15px);
}
.mod-junta table.for-datos th,
.mod-junta table.for-datos td{
  border:1px solid #c9cdd4;padding:6px 10px;text-align:left;
  text-transform:none;letter-spacing:0;color:var(--ink);white-space:normal;
}
.mod-junta table.for-datos th{
  background:#f3eee1;font-weight:600;white-space:nowrap;
  font-size:clamp(11px,.85vw,13px);
}

.mod-junta .for-sec{
  background:#27303f;color:#fff;padding:6px 12px;margin:18px 0 8px;
  font-size:clamp(11px,.85vw,13px);font-weight:600;letter-spacing:.05em;
}
.mod-junta .for-txt{font-size:clamp(13px,1vw,17px);line-height:1.55;margin:0 0 6px;max-width:80ch}
.mod-junta .for-txt.meta{color:var(--meta)}
.mod-junta .for-asis{list-style:none;margin:0;padding:0;columns:2;font-size:clamp(13px,1vw,16px)}
.mod-junta .for-asis li{padding:3px 0;break-inside:avoid}
.mod-junta .for-asis .meta{margin-left:8px;font-size:.88em}
.mod-junta .for-temas{margin:0;padding-left:22px;font-size:clamp(13px,1vw,17px)}
.mod-junta .for-temas li{margin-bottom:10px;line-height:1.5}
.mod-junta .for-temas p{margin:3px 0 0}
.mod-junta .for-temas .meta{font-size:.9em}

/* Los campos del encabezado, en rejilla: son cortos y van juntos. */
.mod-junta .for-campos{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}

/* La nota del tema, al pie de cada lámina: es el «resumen del análisis y
   hallazgos» que pide el formato, escrito donde se discute. */
.mod-junta form.ac-nota{margin-top:0;padding-top:0;border-top:0;max-width:78ch;gap:6px}
.mod-junta form.ac-nota + form.ac-form{margin-top:10px}
.mod-junta .ac-nota-vista{
  font-size:clamp(12px,.92vw,15px);line-height:1.5;margin:0 0 10px;
  padding-left:10px;border-left:2px solid var(--rule);max-width:78ch;
}

/* ---- la tabla de Despacho, replicada tal cual --------------------------- */
/* Misma información y mismo orden de columnas que el módulo de Despacho: quien
   la ve todos los días no debería tener que releer una tabla distinta en la
   junta. Eso incluye los subrenglones, que son la mitad del mensaje —"vencida
   12 d", "no aparece", "OF/0472 no existe en el sistema"—. */
.mod-junta .sec-desp{
  margin:18px 0 8px;padding-bottom:6px;border-bottom:1px solid var(--ink);
  font-size:clamp(11px,.85vw,13px);text-transform:uppercase;letter-spacing:.07em;font-weight:600;
}
.mod-junta .sec-desp{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 16px;justify-content:space-between}
.mod-junta .sec-desp .meta{font-weight:400;letter-spacing:0;text-transform:none;font-size:.92em;text-align:right}
.mod-junta table.desp{min-width:900px;font-size:clamp(12px,.92vw,15px)}
.mod-junta table.desp td{padding:9px 14px 9px 0;line-height:1.35}
.mod-junta table.desp th.val,
.mod-junta table.desp td.val{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.mod-junta table.desp td.izq{text-align:left}
/* El subrenglón: explica la celda de arriba sin competir con ella. */
.mod-junta table.desp .sub{
  display:block;color:var(--meta);font-size:.82em;font-weight:400;line-height:1.3;margin-top:2px;
}
.mod-junta table.desp .sub.alarma{color:var(--alarma)}
.mod-junta table.desp .cero{color:var(--meta)}
/* Una fila vencida ya va en rojo por `.mal`; el subrenglón no debe heredar el
   negritas o el bloque entero grita. */
.mod-junta table.desp tr.mal .sub{font-weight:400}

/* Una sección vencida se anuncia en rojo: es el único encabezado que cambia de
   color, y solo cuando lo que agrupa ya está tarde. */
.mod-junta .sec-desp.mal{color:var(--alarma);border-bottom-color:var(--alarma)}

/* ---- el código del acuerdo ---------------------------------------------- */
/* Sale de un contador atómico, no de la posición: al cerrar un acuerdo los de
   abajo se recorrerían y el A-007 del que todos hablaron ayer amanecería siendo
   otro. Por eso se puede decir «el A-014» en la junta y significar algo. */
.mod-junta .cod{
  font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:600;
  letter-spacing:.02em;
}
.mod-junta .ac-lista .cod{margin-right:4px}

/* ---- la barra de navegación, siempre visible ---------------------------- */
/* z-index alto y su propio fondo: con tablas largas la lámina scrollea por
   debajo y la barra no se puede perder — es la única forma de moverse. */
.mod-junta .barra{z-index:50}
.mod-junta .pos-nom{
  color:var(--ink);font-weight:600;
  font-size:16px;line-height:1;
}
.mod-junta .pos-nom::after{content:" · ";color:var(--meta);font-weight:400}
.mod-junta .franja-centro{font-size:16px;color:var(--meta)}
.mod-junta .pos-n{color:var(--ink);font-weight:600}
.mod-junta .ind-abre{margin-left:2px}

/* ---- grupos colapsables (producción por centro) -------------------------- */
/* <details> nativo, sin JavaScript: sigue funcionando aunque el listener se
   pierda al repintar tras una escritura. */
.mod-junta .grupo{border-bottom:1px solid var(--rule)}
.mod-junta .grupo summary{
  cursor:pointer;list-style:none;padding:11px 0;
  display:flex;align-items:baseline;gap:8px 16px;flex-wrap:wrap;justify-content:space-between;
}
.mod-junta .grupo summary::-webkit-details-marker{display:none}
.mod-junta .grupo summary::before{content:"▸";color:var(--meta);margin-right:4px}
.mod-junta .grupo[open] summary::before{content:"▾"}
.mod-junta .grupo summary b{font-size:clamp(15px,1.25vw,21px);font-weight:600;letter-spacing:-.01em}
.mod-junta .grupo summary .meta{font-size:clamp(11px,.88vw,14px);text-align:right;flex:1 1 auto}
.mod-junta .grupo summary.mal b{color:var(--alarma)}
.mod-junta .grupo summary:hover b{text-decoration:underline;text-underline-offset:4px}
.mod-junta .grupo .tabla-wrap{padding-bottom:14px}
/* Dentro de un grupo la tabla no compite con el encabezado del grupo. */
.mod-junta .grupo table{min-width:640px;font-size:clamp(12px,.92vw,15px)}

/* Acciones correctivas Lean vencidas, dentro de la lámina de Kaizen A3. */
.mod-junta .lean-vencidos{margin-top:22px;padding-top:16px;border-top:1px solid var(--rule)}
.mod-junta .lean-vencidos .acc{
  font-size:13px;line-height:1.6;padding:6px 0;
  display:flex;gap:9px;align-items:baseline;flex-wrap:wrap;
}
.mod-junta .lean-vencidos .acc .alarma{font-variant-numeric:tabular-nums;font-weight:600}

/* ---- anotar acuerdo desde la barra --------------------------------------- */
/* Vive en la barra fija, así que está disponible en las 20 láminas sin ocupar
   ninguna. Al abrirlo desde una lámina, el tema se preselecciona con esa lámina:
   quien anota ya está viendo el tema del que habla. */
.mod-junta .panel-acuerdo,
.mod-junta .panel-editar{
  position:fixed;right:clamp(24px,4vw,72px);bottom:33px;z-index:60;
  background:var(--paper);border:1px solid var(--ink);
  padding:16px;width:min(420px,calc(100vw - 48px));
  margin-top:0;padding-top:16px;border-top:1px solid var(--ink);
  display:flex;flex-direction:column;gap:12px;max-width:none;
  box-shadow:0 -2px 0 var(--paper);
}
.mod-junta .panel-acuerdo[hidden],
.mod-junta .panel-editar[hidden]{display:none !important}
.mod-junta .panel-acuerdo > .lbl,
.mod-junta .panel-editar > .lbl{margin-bottom:2px}
.mod-junta .panel-acuerdo .par{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media (max-width:520px){
  .mod-junta .panel-acuerdo .par{grid-template-columns:1fr}
}

/* ---- responsables: casillas con los nombres de Odoo ---------------------- */
/* Una lista de casillas y no un campo de texto: los nombres salen de res.users,
   así nadie escribe «Ma Elena» y «Elena Vega» para la misma persona. */
.mod-junta fieldset.responsables{
  border:1px solid var(--rule);border-radius:2px;padding:8px 10px;margin:0;
  max-height:132px;overflow-y:auto;
  display:grid;grid-template-columns:1fr 1fr;gap:2px 12px;
}
.mod-junta fieldset.responsables legend{
  font-size:clamp(10px,.72vw,12px);text-transform:uppercase;letter-spacing:.07em;
  font-weight:600;color:var(--meta);padding:0 4px;
}
.mod-junta label.chk{
  flex-direction:row;align-items:center;gap:6px;
  font-size:clamp(12px,.9vw,14px);text-transform:none;letter-spacing:0;
  font-weight:400;color:var(--ink);cursor:pointer;white-space:nowrap;
}
.mod-junta label.chk input{width:auto;margin:0;border-radius:0}
/* La nota va bajo la acción, en gris: aclara el acuerdo, no compite con él. */
.mod-junta table .sub{
  display:block;color:var(--meta);font-size:.84em;font-weight:400;
  line-height:1.35;margin-top:3px;
}

/* ---- avance del acuerdo y su bitácora ------------------------------------ */
/* El % y la barra viven juntos: el número es el dato y la barra lo hace
   comparable de un vistazo entre veinte renglones. Sin color —el rojo sigue
   siendo solo de lo vencido—, así que la barra informa sin calificar. */
.mod-junta .col-avance{white-space:nowrap;text-align:right}
.mod-junta .avance{display:inline-flex;align-items:center;gap:7px}
.mod-junta .avance .riel{
  display:inline-block;width:clamp(38px,4vw,64px);height:7px;
  border:1px solid var(--rule);background:var(--paper);
}
.mod-junta .avance .riel i{display:block;height:100%;background:var(--ink)}
.mod-junta .avance b{font-variant-numeric:tabular-nums;font-weight:600}
.mod-junta tr.mal .avance .riel i{background:var(--alarma)}

/* La bitácora: lo que se ha dicho del acuerdo, junta tras junta. Va bajo la
   acción, en gris y con viñeta, para que se lea como historia y no como otro
   campo del renglón. */
.mod-junta .seg{
  display:block;color:var(--meta);font-size:.84em;font-weight:400;
  line-height:1.35;margin-top:4px;padding-left:12px;position:relative;
}
.mod-junta .seg::before{content:"▸";position:absolute;left:0}
.mod-junta tr.mal .seg{color:var(--meta);font-weight:400}

/* ---- descargar la minuta ------------------------------------------------- */
/* Va arriba, junto al encabezado del formato: quien entra a la lámina a bajar
   el documento no debería tener que recorrer la minuta entera para hallarlo. */
.mod-junta .for-acciones{
  display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:0 0 12px;
  font-size:clamp(11px,.85vw,13px);
}
.mod-junta .for-acciones .err{margin:0}

/* El encabezado de tema dentro del seguimiento: un tema puede tener varias
   acciones, y escribirlo una vez arriba las agrupa mejor que repetirlo. */
.mod-junta tr.fila-tema td{
  border-bottom:1px solid var(--ink);padding-top:18px;padding-bottom:6px;
  font-size:clamp(12px,.95vw,15px);font-weight:600;letter-spacing:-.01em;
}
.mod-junta tr.fila-tema:first-child td{padding-top:4px}
.mod-junta tr.fila-tema .meta{margin-left:10px;font-weight:400}

/* El panel de evento comparte sitio y forma con el de acuerdo: son la misma
   clase de gesto —anotar algo desde cualquier lámina— y son excluyentes. */
.mod-junta .panel-comentario,
.mod-junta .panel-seguimiento,
.mod-junta .panel-evento{
  position:fixed;right:clamp(24px,4vw,72px);bottom:33px;z-index:60;
  background:var(--paper);border:1px solid var(--ink);
  padding:16px;width:min(420px,calc(100vw - 48px));
  margin-top:0;padding-top:16px;border-top:1px solid var(--ink);
  display:flex;flex-direction:column;gap:12px;max-width:none;
}
.mod-junta .panel-comentario[hidden],
.mod-junta .panel-seguimiento[hidden],
.mod-junta .panel-evento[hidden]{display:none !important}
.mod-junta .panel-comentario > .lbl,
.mod-junta .panel-seguimiento > .lbl,
.mod-junta .panel-evento > .lbl{margin-bottom:2px}
/* La acción del acuerdo, a la vista dentro del panel: se está calificando UNA
   cosa, y el código solo no basta para saber cuál. */
.mod-junta .panel-seguimiento .seg-que{
  margin:0;font-size:13px;line-height:1.4;color:var(--ink);
  padding-left:10px;border-left:2px solid var(--rule);
}
.mod-junta .panel-seguimiento input[type=number]{width:100%}
.mod-junta .panel-evento .par{display:grid;grid-template-columns:1fr 1fr;gap:12px}

/* ---- titulares: las cifras que se leen desde el fondo de la sala --------- */
/* Dos o tres, no ocho. Una lámina que grita ocho números no dice ninguno: los
   titulares llevan la respuesta y `cifras` el detalle de por qué. */
.mod-junta .titulares{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));
  gap:clamp(16px,3vw,52px);
  margin-bottom:clamp(18px,2.6vw,38px);
  padding-bottom:clamp(16px,2.2vw,30px);border-bottom:1px solid var(--rule);
}
.mod-junta .tit b{
  display:block;font-size:clamp(56px,8.5vw,140px);font-weight:600;line-height:.88;
  letter-spacing:-.05em;font-variant-numeric:tabular-nums;
}
.mod-junta .tit .lbl{display:block;margin-top:12px;font-size:clamp(11px,.9vw,14px)}
.mod-junta .tit .pie{display:block;margin-top:4px;color:var(--meta);font-size:clamp(11px,.82vw,14px)}
/* Con titulares presentes, las cifras secundarias bajan de tamaño: si compiten,
   la jerarquía se pierde y vuelven a ser ocho números iguales. */
.mod-junta .titulares + .cifras .cif b{font-size:clamp(26px,3vw,44px)}

/* ---- el encabezado del shell, a la mitad --------------------------------- */
/* «Junta diaria» y el sello de frescura los pinta el shell, fuera de este
   módulo, y son COMPARTIDOS con Despacho, KPIs, Rutas y Residuos. Por eso se
   acotan con :has() a la página que trae la junta: encogerlos en tokens.css se
   los encogería también a los otros cinco tableros, que no lo pidieron.

   En un deck cada píxel de arriba se lo quita a la diapositiva; en Despacho, que
   se lee sentado, ese aire hace falta. */
main:has(.mod-junta){padding-top:calc(var(--gut) / 2)}
main:has(.mod-junta) > header{padding-bottom:4px}
main:has(.mod-junta) > header h1{font-size:clamp(13px,1.05vw,16px)}

/* ---- espejo del calendario de Rutas -------------------------------------- */
/* Se pinta con el renderizador del propio módulo de Rutas. Aquí es un ESPEJO:
   se leen las rutas, no se mueven — mover una ruta se hace en su pestaña, donde
   está la máquina de estados y el registro de quién la movió. Por eso se ocultan
   los controles que sin `montar` no harían nada. */
.mod-junta .mod-rutas .nav button,
.mod-junta .mod-rutas #r-panel{display:none}
.mod-junta .mod-rutas .semana{padding-top:0}

/* ---- letra legible de lejos ---------------------------------------------- */
/* Las etiquetas y los pies venían de tokens.css a 10-14 px. Eso funciona en
   Despacho o KPIs, que se leen sentado frente a la pantalla; en un deck que se
   proyecta, la cifra se ve y la palabra que dice QUÉ es no. Se sube solo dentro
   de .mod-junta: tocar tokens.css se lo subiría a los otros cinco tableros, que
   no lo necesitan. */
/* 12 px FIJO y uno solo para todo el texto de los KPIs (Marco, 5-sep-2026).
   Fijo y no clamp a proposito: con escalado, la etiqueta de una lamina y la de
   otra salian de distinto tamano segun cuanto ocupara la cifra de al lado, y el
   deck se veia desparejo al pasar diapositivas. Las cifras grandes no cambian:
   lo que se unifica es la palabra que las nombra. */
.mod-junta .lbl,
.mod-junta .cif .pie,
.mod-junta .tit .pie{font-size:12px;letter-spacing:.05em}
.mod-junta .cif .pie,
.mod-junta .tit .pie{letter-spacing:0}
/* Estas dos van con la MISMA especificidad que las reglas de mas arriba —que
   fijaban un clamp— y despues, o aquella ganaria por ser mas especifica que
   `.mod-junta .lbl` y la etiqueta de los titulares se quedaria en 11-14 px. */
.mod-junta .cif .lbl,
.mod-junta .tit .lbl{font-size:12px}
.mod-junta th{font-size:clamp(12px,.88vw,15px);letter-spacing:.05em}
.mod-junta table{font-size:clamp(14px,1.15vw,19px)}
.mod-junta table.desp{font-size:clamp(13px,1.02vw,17px)}
.mod-junta table.desp .sub{font-size:.86em}
/* La franja de navegación se mantuvo en 23 px mucho tiempo —es cromo, no
   contenido—, hasta que el 9-sep-2026 Marco la subió ~30%: desde el fondo de la
   sala el nombre de la lámina y el cronómetro no se leían. El tamaño vive
   arriba, en el bloque de la barra; esta regla solo sujeta las etiquetas. */
.mod-junta .barra .lbl{font-size:12px;letter-spacing:0}


/* ---- 12 px para TODO el texto de apoyo del deck --------------------------- */
/* Segunda pasada de lo mismo (Marco, 5-sep-2026): la primera vez solo se
   unificaron etiquetas y pies de los KPIs y quedaron fuera las tablas, los
   encabezados de sección y las notas — que seguían escalando con clamp y salían
   de distinto tamaño en cada lámina. Todo el texto que ACOMPAÑA a una cifra va
   ahora a 12 px fijo.

   Las cifras grandes NO se tocan: son lo que se lee desde el fondo de la sala. */
.mod-junta table,
.mod-junta table.desp,
.mod-junta th,
.mod-junta .sec-desp,
.mod-junta .grupo summary .meta,
.mod-junta .chip,
.mod-junta .ac-lista li,
.mod-junta .ac-vacio,
.mod-junta .nd-pie,
.mod-junta .for-txt,
.mod-junta .for-asis,
.mod-junta .for-temas,
.mod-junta table.for-datos,
.mod-junta table.for-datos th,
.mod-junta table.for-datos td,
.mod-junta .env-nota,
.mod-junta .vacio{font-size:12px}
.mod-junta table .sub,
.mod-junta table.desp .sub{font-size:11px}
.mod-junta .grupo summary b{font-size:14px}

/* Dos filas de titulares en la misma lámina —el equipo y los vendedores— caben
   en una pantalla solo si la segunda no repite el margen inferior de la primera
   ni su regla, que ya la separa el encabezado de sección. */
.mod-junta .sec-desp + .titulares{
  border-bottom:0;padding-bottom:0;margin-bottom:clamp(10px,1.4vw,20px);
}
.mod-junta .titulares + .sec-desp{margin-top:0}

/* ---- una sola escala para TODAS las cifras -------------------------------- */
/* Las láminas con titulares (Disponibilidad, Rendimiento, OEE, OF creadas, OF
   incompletas, Ventas, Personal) pintaban a 56-140 px mientras el resto iba a
   38-84, así que el tamaño saltaba al pasar diapositivas. Marco las nombró una
   por una: son exactamente las siete que usan `titulares`.

   Ahora las dos clases comparten escala. Se pierde la jerarquía entre titular y
   cifra de apoyo, y a cambio el deck deja de dar tumbos: lo que separa un bloque
   de otro es el encabezado de sección, no el tamaño. */
.mod-junta .tit b,
.mod-junta .cif b,
.mod-junta .titulares + .cifras .cif b{
  font-size:clamp(40px,5.4vw,86px);
  letter-spacing:-.04em;line-height:.95;
}


/* Cronómetro de la junta. Cifras tabulares para que no baile al descontar. */
.mod-junta .crono{
  margin-left:13px; padding:0 6px; border-radius:3px;
  font-variant-numeric:tabular-nums; font-weight:700;
  opacity:.45;                       /* apagado hasta que arranca */
}
.mod-junta .crono.corre{ opacity:1; background:rgba(255,255,255,.10); }
.mod-junta .crono.poco { background:rgba(230,150,20,.30); }   /* ultimos 3 min */
.mod-junta .crono.fuera{ background:rgba(200,40,40,.55); }    /* se acabo */

/* Kanban de Tickets de Diseño en la junta: una columna por etapa, solo lectura. */
.mod-junta .kanban{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(150px,1fr);gap:10px;overflow-x:auto;margin-top:14px}
.mod-junta .kb-col{border-top:2px solid currentColor;padding-top:6px;min-width:0}
.mod-junta .kb-cab{display:flex;justify-content:space-between;gap:6px;margin:0 0 8px;font-size:clamp(12px,.95vw,16px)}
.mod-junta .kb-tar{display:flex;flex-direction:column;gap:2px;border:1px solid rgba(127,127,127,.35);padding:6px 8px;margin-bottom:6px;font-size:clamp(11px,.8vw,14px);line-height:1.25}
.mod-junta .kb-tar .kb-folio{font-variant-numeric:tabular-nums;opacity:.7}
.mod-junta .kb-tar .pie{opacity:.7}
.mod-junta .kb-tar.mal{border-color:var(--alarma)}
.mod-junta .kb-tar.mal .pie{color:var(--alarma);opacity:1;font-weight:600}
