/* Junta diaria · un deck que se proyecta.
   Todo acotado a .mod-finanzas: 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-finanzas{
  /* 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-finanzas .deck{display:flex;flex-direction:column;min-height:100vh;position:relative}
.mod-finanzas .laminas{flex:1;display:flex}

/* ---- la lámina ---------------------------------------------------------- */
.mod-finanzas .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-finanzas .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-finanzas .lam-cab h2{
  font-size:clamp(24px,3vw,44px);font-weight:600;letter-spacing:-.02em;line-height:1.05;padding:0;
}
.mod-finanzas .lam-cab .def{margin-top:6px;color:var(--meta);font-size:clamp(13px,1.05vw,18px)}
.mod-finanzas .duenio{text-align:right;white-space:nowrap;font-size:clamp(13px,1.05vw,17px);font-weight:600}
.mod-finanzas .duenio .lbl{display:block;margin-bottom:3px}

/* ---- las cifras grandes ------------------------------------------------- */
.mod-finanzas .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-finanzas .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-finanzas .cif .lbl{display:block;margin-top:8px}
.mod-finanzas .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-finanzas .tabla-wrap{overflow-x:auto}
.mod-finanzas table{
  width:100%;border-collapse:collapse;min-width:520px;
  font-size:clamp(13px,1.05vw,18px);font-variant-numeric:tabular-nums;
}
.mod-finanzas 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-finanzas td{padding:11px 16px 11px 0;border-bottom:1px solid var(--rule);vertical-align:top}
.mod-finanzas tbody tr:last-child td{border-bottom:0}
/* Vencido en rojo, y sin depender solo del color: la fila va en negritas. */
.mod-finanzas tr.mal td{color:var(--alarma);font-weight:600}
.mod-finanzas td .meta{color:var(--meta);font-weight:400}
.mod-finanzas .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-finanzas .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-finanzas .hueco{
  flex:1;display:flex;flex-direction:column;justify-content:center;
  max-width:60ch;
}
.mod-finanzas .nd-marca{
  font-size:clamp(52px,7vw,110px);font-weight:600;letter-spacing:-.04em;
  color:var(--meta);line-height:1;margin-bottom:18px;
}
.mod-finanzas .nd-razon{font-size:clamp(16px,1.5vw,26px);line-height:1.5}
.mod-finanzas .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-finanzas .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-finanzas .portada{flex:1;display:flex;flex-direction:column;justify-content:center}
.mod-finanzas .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-finanzas .portada .semana{margin-top:14px;color:var(--meta);font-size:clamp(14px,1.3vw,22px)}
.mod-finanzas .salud{display:flex;gap:clamp(20px,3vw,54px);margin-top:clamp(28px,4vw,60px);flex-wrap:wrap}
.mod-finanzas .salud span{font-size:clamp(12px,.95vw,16px);color:var(--meta)}
.mod-finanzas .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-finanzas .portada .arranque{margin-top:auto;color:var(--meta);font-size:clamp(12px,.9vw,15px)}

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

/* ---- formularios de captura --------------------------------------------- */
.mod-finanzas 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-finanzas form.captura.fila{flex-direction:row;flex-wrap:wrap;align-items:flex-end;max-width:none}
.mod-finanzas 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-finanzas form.captura label.ancho{flex:1 1 280px}
.mod-finanzas form.captura input,
.mod-finanzas form.captura select,
.mod-finanzas 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-finanzas form.captura textarea{resize:vertical;line-height:1.5}
.mod-finanzas form.captura input:focus,
.mod-finanzas form.captura select:focus,
.mod-finanzas form.captura textarea:focus{outline:none;border-color:var(--ink)}
.mod-finanzas 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-finanzas .err{color:var(--alarma);font-size:clamp(12px,.9vw,15px);margin:0}
.mod-finanzas button:disabled{opacity:.45;cursor:default}
.mod-finanzas .quitar{font-size:clamp(11px,.82vw,13px);padding:2px 8px}

/* ---- barra de navegación e índice --------------------------------------- */
/* 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-finanzas .barra{
  position:fixed;left:0;right:0;bottom:0;z-index:5;
  display:grid;grid-template-columns:1fr 1fr 1fr;align-items:center;
  padding:2px clamp(14px,2.4vw,40px);
  background:var(--paper);border-top:1px solid var(--rule);
}
.mod-finanzas .franja-izq{display:flex;gap:4px;justify-content:flex-start}
.mod-finanzas .franja-centro{text-align:center;line-height:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mod-finanzas .franja-der{display:flex;gap:4px;justify-content:flex-end}
.mod-finanzas .nav-btn{
  font:inherit;font-size:12px;line-height:1;
  background:var(--paper);color:var(--ink);border:1px solid var(--ink);
  border-radius:2px;padding:3px 10px;cursor:pointer;
}
.mod-finanzas .nav-btn:hover{background:var(--ink);color:var(--paper)}
.mod-finanzas .pos{margin-left:auto;color:var(--meta);font-size:clamp(12px,.9vw,15px);font-variant-numeric:tabular-nums}
.mod-finanzas .pos b{color:var(--ink);font-weight:600}


.mod-finanzas .indice{
  position:fixed;right:clamp(24px,4vw,72px);bottom:25px;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-finanzas .indice > .lbl{margin-bottom:8px}
.mod-finanzas .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-finanzas .ind-item:last-child{border-bottom:0}
.mod-finanzas .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-finanzas .ind-item[data-est="nd"]{color:var(--meta)}
.mod-finanzas .ind-item[data-est="nd"]::after{content:" · N.D.";font-size:.82em}
.mod-finanzas .ind-item[data-est="parcial"]::after{content:" · parcial";font-size:.82em;color:var(--meta)}

@media (max-width:820px){
  .mod-finanzas .cifras{grid-template-columns:repeat(auto-fit,minmax(130px,1fr))}
  .mod-finanzas 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-finanzas .acuerdos{
  margin-top:auto;padding-top:14px;border-top:1px solid var(--rule);
}
.mod-finanzas .acuerdos > .lbl{margin-bottom:8px}
.mod-finanzas .ac-lista{list-style:none;margin:0 0 10px;padding:0;display:flex;flex-direction:column;gap:6px}
.mod-finanzas .ac-lista li{
  font-size:clamp(13px,1vw,17px);line-height:1.45;
  padding-left:14px;position:relative;
}
.mod-finanzas .ac-lista li::before{content:"—";position:absolute;left:0;color:var(--meta)}
.mod-finanzas .ac-lista li.alarma{color:var(--alarma);font-weight:600}
.mod-finanzas .ac-lista .meta{color:var(--meta);font-weight:400;margin-left:8px;font-size:.86em}
.mod-finanzas .ac-vacio{color:var(--meta);font-size:clamp(12px,.9vw,15px);margin:0 0 10px}
.mod-finanzas form.ac-form{margin-top:0;padding-top:0;border-top:0}
.mod-finanzas form.ac-form label{font-size:clamp(9px,.66vw,11px)}
.mod-finanzas form.ac-form input{padding:6px 9px;font-size:clamp(13px,.95vw,15px)}

/* ---- seguimiento de acuerdos --------------------------------------------- */
.mod-finanzas .acciones-fila{white-space:nowrap;display:flex;gap:6px}
.mod-finanzas .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-finanzas .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-finanzas .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-finanzas .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-finanzas .for-cab{
  display:flex;border:1px solid #c9cdd4;margin-bottom:14px;
}
.mod-finanzas .for-tit{
  flex:1;background:#27303f;color:#fff;padding:12px 16px;text-align:center;
}
.mod-finanzas .for-tit b{display:block;font-size:clamp(15px,1.5vw,22px);letter-spacing:.06em}
.mod-finanzas .for-tit span{font-size:clamp(11px,.82vw,13px);opacity:.8}
.mod-finanzas .for-cod{
  background:#f3eee1;padding:12px 16px;font-size:clamp(10px,.78vw,12px);
  line-height:1.7;white-space:nowrap;
}

.mod-finanzas table.for-datos{
  width:100%;border-collapse:collapse;margin-bottom:14px;min-width:0;
  font-size:clamp(12px,.95vw,15px);
}
.mod-finanzas table.for-datos th,
.mod-finanzas 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-finanzas table.for-datos th{
  background:#f3eee1;font-weight:600;white-space:nowrap;
  font-size:clamp(11px,.85vw,13px);
}

.mod-finanzas .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-finanzas .for-txt{font-size:clamp(13px,1vw,17px);line-height:1.55;margin:0 0 6px;max-width:80ch}
.mod-finanzas .for-txt.meta{color:var(--meta)}
.mod-finanzas .for-asis{list-style:none;margin:0;padding:0;columns:2;font-size:clamp(13px,1vw,16px)}
.mod-finanzas .for-asis li{padding:3px 0;break-inside:avoid}
.mod-finanzas .for-asis .meta{margin-left:8px;font-size:.88em}
.mod-finanzas .for-temas{margin:0;padding-left:22px;font-size:clamp(13px,1vw,17px)}
.mod-finanzas .for-temas li{margin-bottom:10px;line-height:1.5}
.mod-finanzas .for-temas p{margin:3px 0 0}
.mod-finanzas .for-temas .meta{font-size:.9em}

/* Los campos del encabezado, en rejilla: son cortos y van juntos. */
.mod-finanzas .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-finanzas form.ac-nota{margin-top:0;padding-top:0;border-top:0;max-width:78ch;gap:6px}
.mod-finanzas form.ac-nota + form.ac-form{margin-top:10px}
.mod-finanzas .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-finanzas .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-finanzas .sec-desp{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 16px;justify-content:space-between}
.mod-finanzas .sec-desp .meta{font-weight:400;letter-spacing:0;text-transform:none;font-size:.92em;text-align:right}
.mod-finanzas table.desp{min-width:900px;font-size:clamp(12px,.92vw,15px)}
.mod-finanzas table.desp td{padding:9px 14px 9px 0;line-height:1.35}
.mod-finanzas table.desp th.val,
.mod-finanzas table.desp td.val{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.mod-finanzas table.desp td.izq{text-align:left}
/* El subrenglón: explica la celda de arriba sin competir con ella. */
.mod-finanzas table.desp .sub{
  display:block;color:var(--meta);font-size:.82em;font-weight:400;line-height:1.3;margin-top:2px;
}
.mod-finanzas table.desp .sub.alarma{color:var(--alarma)}
.mod-finanzas 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-finanzas 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-finanzas .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-finanzas .cod{
  font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:600;
  letter-spacing:.02em;
}
.mod-finanzas .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-finanzas .barra{z-index:50}
.mod-finanzas .pos-nom{
  color:var(--ink);font-weight:600;
  font-size:12px;line-height:1;
}
.mod-finanzas .pos-nom::after{content:" · ";color:var(--meta);font-weight:400}
.mod-finanzas .franja-centro{font-size:12px;color:var(--meta)}
.mod-finanzas .pos-n{color:var(--ink);font-weight:600}
.mod-finanzas .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-finanzas .grupo{border-bottom:1px solid var(--rule)}
.mod-finanzas .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-finanzas .grupo summary::-webkit-details-marker{display:none}
.mod-finanzas .grupo summary::before{content:"▸";color:var(--meta);margin-right:4px}
.mod-finanzas .grupo[open] summary::before{content:"▾"}
.mod-finanzas .grupo summary b{font-size:clamp(15px,1.25vw,21px);font-weight:600;letter-spacing:-.01em}
.mod-finanzas .grupo summary .meta{font-size:clamp(11px,.88vw,14px);text-align:right;flex:1 1 auto}
.mod-finanzas .grupo summary.mal b{color:var(--alarma)}
.mod-finanzas .grupo summary:hover b{text-decoration:underline;text-underline-offset:4px}
.mod-finanzas .grupo .tabla-wrap{padding-bottom:14px}
/* Dentro de un grupo la tabla no compite con el encabezado del grupo. */
.mod-finanzas .grupo table{min-width:640px;font-size:clamp(12px,.92vw,15px)}

/* Acciones correctivas Lean vencidas, dentro de la lámina de Kaizen A3. */
.mod-finanzas .lean-vencidos{margin-top:22px;padding-top:16px;border-top:1px solid var(--rule)}
.mod-finanzas .lean-vencidos .acc{
  font-size:13px;line-height:1.6;padding:6px 0;
  display:flex;gap:9px;align-items:baseline;flex-wrap:wrap;
}
.mod-finanzas .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-finanzas .panel-acuerdo{
  position:fixed;right:clamp(24px,4vw,72px);bottom:25px;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-finanzas .panel-acuerdo[hidden]{display:none !important}
.mod-finanzas .panel-acuerdo > .lbl{margin-bottom:2px}
.mod-finanzas .panel-acuerdo .par{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media (max-width:520px){
  .mod-finanzas .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-finanzas 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-finanzas 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-finanzas 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-finanzas 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-finanzas 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-finanzas .col-avance{white-space:nowrap;text-align:right}
.mod-finanzas .avance{display:inline-flex;align-items:center;gap:7px}
.mod-finanzas .avance .riel{
  display:inline-block;width:clamp(38px,4vw,64px);height:7px;
  border:1px solid var(--rule);background:var(--paper);
}
.mod-finanzas .avance .riel i{display:block;height:100%;background:var(--ink)}
.mod-finanzas .avance b{font-variant-numeric:tabular-nums;font-weight:600}
.mod-finanzas 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-finanzas .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-finanzas .seg::before{content:"▸";position:absolute;left:0}
.mod-finanzas 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-finanzas .for-acciones{
  display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:0 0 12px;
  font-size:clamp(11px,.85vw,13px);
}
.mod-finanzas .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-finanzas 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-finanzas tr.fila-tema:first-child td{padding-top:4px}
.mod-finanzas 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-finanzas .panel-comentario,
.mod-finanzas .panel-seguimiento,
.mod-finanzas .panel-evento{
  position:fixed;right:clamp(24px,4vw,72px);bottom:25px;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-finanzas .panel-comentario[hidden],
.mod-finanzas .panel-seguimiento[hidden],
.mod-finanzas .panel-evento[hidden]{display:none !important}
.mod-finanzas .panel-comentario > .lbl,
.mod-finanzas .panel-seguimiento > .lbl,
.mod-finanzas .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-finanzas .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-finanzas .panel-seguimiento input[type=number]{width:100%}
.mod-finanzas .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-finanzas .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-finanzas .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-finanzas .tit .lbl{display:block;margin-top:12px;font-size:clamp(11px,.9vw,14px)}
.mod-finanzas .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-finanzas .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-finanzas){padding-top:calc(var(--gut) / 2)}
main:has(.mod-finanzas) > header{padding-bottom:4px}
main:has(.mod-finanzas) > 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-finanzas .mod-rutas .nav button,
.mod-finanzas .mod-rutas #r-panel{display:none}
.mod-finanzas .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-finanzas: 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-finanzas .lbl,
.mod-finanzas .cif .pie,
.mod-finanzas .tit .pie{font-size:12px;letter-spacing:.05em}
.mod-finanzas .cif .pie,
.mod-finanzas .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-finanzas .lbl` y la etiqueta de los titulares se quedaria en 11-14 px. */
.mod-finanzas .cif .lbl,
.mod-finanzas .tit .lbl{font-size:12px}
.mod-finanzas th{font-size:clamp(12px,.88vw,15px);letter-spacing:.05em}
.mod-finanzas table{font-size:clamp(14px,1.15vw,19px)}
.mod-finanzas table.desp{font-size:clamp(13px,1.02vw,17px)}
.mod-finanzas table.desp .sub{font-size:.86em}
/* La franja de navegación NO sube: es cromo, no contenido, y su alto lo fijó
   Marco en 23 px. */
.mod-finanzas .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-finanzas table,
.mod-finanzas table.desp,
.mod-finanzas th,
.mod-finanzas .sec-desp,
.mod-finanzas .grupo summary .meta,
.mod-finanzas .chip,
.mod-finanzas .ac-lista li,
.mod-finanzas .ac-vacio,
.mod-finanzas .nd-pie,
.mod-finanzas .for-txt,
.mod-finanzas .for-asis,
.mod-finanzas .for-temas,
.mod-finanzas table.for-datos,
.mod-finanzas table.for-datos th,
.mod-finanzas table.for-datos td,
.mod-finanzas .env-nota,
.mod-finanzas .vacio{font-size:12px}
.mod-finanzas table .sub,
.mod-finanzas table.desp .sub{font-size:11px}
.mod-finanzas .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-finanzas .sec-desp + .titulares{
  border-bottom:0;padding-bottom:0;margin-bottom:clamp(10px,1.4vw,20px);
}
.mod-finanzas .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-finanzas .tit b,
.mod-finanzas .cif b,
.mod-finanzas .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-finanzas .crono{
  margin-left:10px; padding:0 5px; border-radius:3px;
  font-variant-numeric:tabular-nums; font-weight:700;
  opacity:.45;                       /* apagado hasta que arranca */
}
.mod-finanzas .crono.corre{ opacity:1; background:rgba(255,255,255,.10); }
.mod-finanzas .crono.poco { background:rgba(230,150,20,.30); }   /* ultimos 3 min */
.mod-finanzas .crono.fuera{ background:rgba(200,40,40,.55); }    /* se acabo */

/* ---- cifras en PESOS ------------------------------------------------------
   La escala de tipografía es la de la junta diaria y no se toca: lo que cambia
   aquí es el ANCHO DE PISTA de la rejilla.

   Por qué hacía falta. En la junta las cifras son cortas —«53», «34%», «20 d»—
   y caben de sobra en una pista de 200 px. Aquí son importes: «$7,235,636» son
   diez glifos, y medidos en el navegador ocupan 441 px con la misma letra. Con
   `auto-fit` de `minmax(200px,1fr)` cada titular recibía 200 px en un contenedor
   ancho, así que el número se salía 241 px sobre el de al lado. No era un
   problema de tamaño de letra: era una pista angosta para el contenido.

   El ancho sale de la medición, no de una corazonada: 11 glifos («$12,345,678»,
   que es el techo realista de esta empresa) piden ~5.6 px por px de letra.

   9-sep-2026: Marco pidió la letra 30% más chica (54 → 38 px). La pista baja en
   la misma proporción, 340 → 250, porque los 340 se habían derivado del tamaño
   anterior: dejarla ancha con letra chica solo abre huecos. A 38 px, 11 glifos
   piden ~213 px y la pista de 250 los aloja con margen. El `min()` es para que
   en un teléfono la pista no exija más ancho del que hay. */
.mod-finanzas .titulares,
.mod-finanzas .cifras{
  grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));
}
/* Los importes no se parten a media cifra: «$7,235,` / `636» es ilegible y
   además cambia el alto del renglón, que es lo que hacía que un titular pisara
   el pie del de arriba. */
.mod-finanzas .tit b,
.mod-finanzas .cif b,
.mod-finanzas .titulares + .cifras .cif b{
  font-size:clamp(21px,2.38vw,38px);
  white-space:nowrap;
}
@media (max-width:760px){
  /* En pantalla angosta manda que la cifra se lea entera, aunque baje de porte. */
  .mod-finanzas .tit b,
  .mod-finanzas .cif b,
  .mod-finanzas .titulares + .cifras .cif b{font-size:clamp(17px,4.48vw,27px)}
}
