/* Reglas de interfaz; no se usan en los motores JPG. */
body {
  --color-texto-positivo: #14734d;
  --hd-color-positivo: var(--color-texto-positivo);
  --hd-color-negativo: var(--color-peligro);
  --radio-pildora: var(--radio-unico);
  --peso-regular: 400;
  --peso-medio: 400;
  --peso-seminegrita: 700;
  --peso-negrita: 700;
  --color-texto: #141414;
  --color-texto-suave: #53627a;
  --margen-contenido: 28px;
  --margen-contenido-y: 28px;
  --hd-margen-panel: 16px;
  font-size: var(--texto-cuerpo);
}
.tabla-ordenable .tabla-orden-indicador,
th[aria-sort] .tabla-ordenable .tabla-orden-indicador { color: var(--color-marca-azul-claro, #19a0dc); opacity: 1; }
.tabla-orden-indicador svg { stroke: currentColor; }
table :is(th,td).tabla-accion, table [data-etiqueta="Acciones"], table [data-etiqueta="Acción"] { text-align: center; vertical-align: middle; }
table :is(.acciones-registro,.acciones-tabla,.acciones-item-cotizacion,.hd-acciones-items-cliente,.hd-acciones) { justify-content: center; align-items: center; }
.hd-importe-interfaz, .hd-importe-interfaz :is(strong,b,span,a) { color: var(--hd-color-importe, #141414) !important; }
.hd-importe-interfaz[data-tono-importe="positivo"] { --hd-color-importe: var(--hd-color-positivo); }
.hd-importe-interfaz[data-tono-importe="negativo"] { --hd-color-importe: var(--hd-color-negativo); }
.hd-importe-interfaz[data-tono-importe="cero"], .hd-importe-interfaz[data-tono-importe="pendiente"] { --hd-color-importe: var(--color-texto); }
.modulo-finanzas .panel-finanzas-listado { margin: 0; }
.modulo-finanzas .panel-finanzas-listado :is(.hd-ficha-trabajo__contenido,.panel-controles-finanzas) { margin: 0; padding: 0; }
.modulo-finanzas .panel-finanzas-listado .hd-panel { margin: 0; }
.modulo-finanzas .hd-gestor-vistas { padding: var(--hd-margen-panel); }
.modulo-finanzas .hd-filtros-finanzas { padding: 0 var(--hd-margen-panel) var(--hd-margen-panel); }

/* El contenido comparte un eje lateral; los separadores llegan al contorno. */
.modulo-finanzas .panel-finanzas-mensuales { gap: 0; padding: 0; }
.modulo-finanzas .movimientos-mensuales-gestor { gap: 0; }
.modulo-finanzas .panel-finanzas-listado .hd-barra-gestor { margin: 0; }
.modulo-finanzas .panel-finanzas-listado .mes-movimientos-gestor > summary { border-radius: 0; }
.modulo-finanzas .mes-movimientos-gestor + .mes-movimientos-gestor { border-top: var(--gf-borde); }
.modulo-finanzas .panel-finanzas-listado .mes-movimientos-gestor > .hd-tabla-contenedor tbody tr:last-child td { border-bottom: 0; }
/* Las tablas adaptadas a tarjetas conservan el espacio de su fila exterior. */
@container (min-width: 1101px) {
  .modulo-finanzas .panel-finanzas-listado .hd-tabla-financiera:not([data-acciones-compactas]) :is(th,td):first-child { padding-inline-start: var(--gf-margen) !important; }
  .modulo-finanzas .panel-finanzas-listado .hd-tabla-financiera:not([data-acciones-compactas]) :is(th,td):last-child { padding-inline-end: var(--gf-margen) !important; }
  .modulo-finanzas .tabla-movimientos-mensuales:not([data-acciones-compactas]) :is(th,td) { padding-inline: 16px; }
  .modulo-finanzas .tabla-movimientos-mensuales:not([data-acciones-compactas]) :is(th,td):first-child { padding-inline-start: var(--gf-margen); }
  .modulo-finanzas .tabla-movimientos-mensuales:not([data-acciones-compactas]) :is(th,td):last-child { padding-inline-end: var(--gf-margen); }
}

/* Escala tipográfica única de la interfaz. */

body :is(input,select,textarea,.boton,.accion-icono) { font-size: var(--texto-cuerpo); }
body :is(.tabla,.hd-tabla) th,
body :is(.tabla,.hd-tabla) th :is(button,span) { font-size: 14px; line-height: 1.4; }
body :is(.tabla,.hd-tabla) th { text-align: center !important; vertical-align: middle !important; font-weight: 700; }
body :is(.tabla,.hd-tabla) th .tabla-ordenable { display: flex; align-items: center; justify-content: center !important; width: 100%; min-height: 36px; text-align: center; font-weight: 700; }
body :is(.tabla,.hd-tabla) th .titulo-columna-doble { text-align: center; align-items: center; }
body :is(.tabla,.hd-tabla) td { font-size: var(--texto-cuerpo); }
body :is(h1,.hd-resumen-importes-trabajo dd) { font-size: var(--texto-destacado); }
body :is(h2,h3) { font-size: var(--texto-titulo); }
body :is(small,.texto-auxiliar,.contador-resultados-panel) { font-size: var(--texto-auxiliar); }
/* La explicación técnica señalada en Movimientos no ocupa el listado. */
.modulo-finanzas .introduccion-movimientos { display: none; }

/* Los encabezados y sus controles tienen el mismo peso, incluido Acciones. */
body :is(.tabla,.hd-tabla) th,
body :is(.tabla,.hd-tabla) th :is(button,span,strong) { font-weight: 700 !important; }
body :is(.tabla,.hd-tabla) td.celda-dinero { text-align: right !important; }
body .hd-resumen-importes-trabajo dd, body input[data-moneda], body .hd-importe-interfaz { text-align: right; }

/* Base única de tablas de cuentas, movimientos y totales del cliente.
   La tabla compacta cambia sus medidas mediante variables, no con otro pie. */
.hd-tabla-financiera { --hd-tabla-celda-x: 16px; --hd-tabla-fila-y: 12px; --hd-tabla-importe-ajuste: 0px; }
.hd-tabla-financiera.hd-tabla-comercial { --hd-tabla-celda-x: var(--gf-celda); --hd-tabla-importe-ajuste: var(--gf-dinero-interno); }
body.hd-area-financiera .hd-tabla-financiera { font-family: var(--gf-familia-texto); }
body.hd-area-financiera .hd-tabla-financiera :is(th,td) { padding-inline: var(--hd-tabla-celda-x) !important; font-size: var(--texto-cuerpo); line-height: 1.4; }
body.hd-area-financiera .hd-tabla-financiera thead th { overflow-wrap: normal; word-break: normal; letter-spacing: 0; }
body.hd-area-financiera .hd-tabla-financiera tbody td { padding-block: var(--hd-tabla-fila-y) !important; vertical-align: middle; }
body.hd-area-financiera .hd-tabla-financiera tbody td small { display: block; margin-top: 4px; font-size: var(--texto-auxiliar); font-weight: 400; line-height: 1.4; color: var(--color-texto-suave); }
body.hd-area-financiera .hd-tabla-financiera tbody td:is(.tabla-accion,[data-etiqueta="Acciones"]) { vertical-align: middle; }
body.hd-area-financiera .hd-tabla-financiera :is(.celda-cantidad,.celda-cantidad-comercial,.hd-celda-centrada,[data-total-items-cantidad]) { text-align: center; }
body.hd-area-financiera .hd-tabla-financiera .celda-dinero { font-variant-numeric: tabular-nums; text-align: right !important; }
body.hd-area-financiera .hd-tabla-financiera tfoot td { background: var(--gf-gradiente-totales) !important; border-top: var(--gf-borde); border-bottom: 0 !important; padding-block: var(--hd-tabla-fila-y) !important; font-size: var(--texto-cuerpo); font-weight: 700; vertical-align: middle; }
body.hd-area-financiera .hd-tabla-financiera tfoot tr:first-child td { border-top: 3px solid var(--color-marca-azul-claro) !important; }
body.hd-area-financiera .hd-tabla-financiera tfoot td.celda-dinero { padding-right: calc(var(--hd-tabla-celda-x) + var(--hd-tabla-importe-ajuste)) !important; }
body.hd-area-financiera .hd-tabla-financiera tfoot :is(td[colspan],td[data-etiqueta="Resumen"]) { text-align: left !important; color: var(--color-marca-azul-oscuro); }
body.hd-area-financiera .hd-tabla-financiera tfoot small { display: block; margin-top: 6px; color: var(--color-texto-suave); font-size: var(--texto-auxiliar); line-height: 1.4; font-weight: 400; }

/* Cebra financiera compartida: las filas ocultas, los encabezados de grupo y
   los subítems no alteran la alternancia de cuentas. Los editores comerciales
   conservan su cebra explícita por ítem. Ingreso/egreso se distinguen por datos. */
body.hd-area-financiera .hd-tabla-financiera:not(.hd-tabla-comercial) > tbody > tr:nth-child(odd of :not([hidden]):not([data-no-ordenar]):not(.hd-item-cliente-subitem):not(:has(> td[colspan]))) {
  background: var(--color-superficie);
}
body.hd-area-financiera .hd-tabla-financiera:not(.hd-tabla-comercial) > tbody > tr:nth-child(even of :not([hidden]):not([data-no-ordenar]):not(.hd-item-cliente-subitem):not(:has(> td[colspan]))) {
  background: var(--color-fila-cebra);
}
body.hd-area-financiera .hd-tabla-financiera:not(.hd-tabla-comercial) > tbody > tr:not([hidden]):not([data-no-ordenar]):not(.hd-item-cliente-subitem):not(:has(> td[colspan])) > td {
  background: transparent;
}
body.hd-area-financiera .hd-tabla-financiera:not(.hd-tabla-comercial) > tbody > tr:not([hidden]):not([data-no-ordenar]):not(.hd-item-cliente-subitem):not(:has(> td[colspan])):hover {
  background: var(--color-superficie-terciaria);
}
/* Las cifras de detalle son regulares; totales y saldos comparten Poppins Bold. */
body.hd-area-financiera .hd-tabla-financiera tbody .celda-dinero,
body.hd-area-financiera .hd-tabla-financiera tbody .celda-dinero :is(strong,b) { font-weight: 400; }
body.hd-area-financiera .hd-tabla-financiera tfoot :is(td,th,strong,b),
body.hd-area-financiera .hd-tabla-financiera .celda-dinero[data-etiqueta="Saldo"],
body.hd-area-financiera .hd-tabla-financiera .celda-dinero[data-etiqueta="Saldo"] :is(strong,b),
body.hd-area-financiera .hd-tabla-items-cliente .celda-dinero[data-etiqueta="Total"],
body.hd-area-financiera .hd-tabla-items-cliente .celda-dinero[data-etiqueta="Total"] :is(strong,b) { font-weight: 700; }

/* Una escala para las acciones de tablas financieras y fichas del cliente. */
body.hd-interfaz-unificada table { --tamano-icono-accion:32px; --separacion-acciones:6px; }
body table[data-acciones-ajustadas] [data-columna-acciones] :is(.acciones-registro,.acciones-tabla,.acciones-item-cotizacion,.hd-acciones-items-cliente,.hd-acciones) { flex-wrap:nowrap;align-items:center; }
body table[data-acciones-compactas] [data-columna-acciones] { grid-column:1 / -1; }
body table[data-acciones-compactas] [data-columna-acciones] :is(.acciones-registro,.acciones-tabla,.acciones-item-cotizacion,.hd-acciones-items-cliente,.hd-acciones) { justify-content:flex-start; }

body.hd-area-financiera .hd-tabla-items-cliente { --hd-tabla-celda-x:6px; }
body.hd-area-financiera table[data-acciones-compactas] > :is(tbody,tfoot) > tr > :is(td,th) { padding-inline:0 !important; }
body.hd-area-financiera table[data-acciones-compactas] [hidden] { display:none !important; }
body table[data-acciones-compactas] > :is(tbody,tfoot) > tr { padding:12px; }

/* v7.41 · Resúmenes, jerarquía y contraste compartidos por las vistas internas. */
body.hd-interfaz-unificada .hd-resumen-importes-trabajo[data-distribucion] {
  display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:var(--gf-separacion); min-width:0;
  margin:0; padding:0; border:0; border-radius:0; background:transparent; overflow:visible;
}
body.hd-interfaz-unificada .hd-resumen-importes-trabajo[data-distribucion="1"] { grid-template-columns:minmax(0,1fr); }
body.hd-interfaz-unificada .hd-resumen-importes-trabajo[data-distribucion="2"] { grid-template-columns:repeat(2,minmax(0,1fr)); }
body.hd-interfaz-unificada .hd-resumen-importes-trabajo[data-distribucion="4"] { grid-template-columns:repeat(4,minmax(0,1fr)); }
body.hd-interfaz-unificada .hd-resumen-importes-trabajo[data-distribucion="5"] { grid-template-columns:repeat(5,minmax(0,1fr)); }
body.hd-interfaz-unificada .hd-resumen-importes-trabajo[data-distribucion="6"] { grid-template-columns:repeat(6,minmax(0,1fr)); }
body.hd-interfaz-unificada .hd-resumen-importes-trabajo[data-distribucion] > div {
  box-sizing:border-box; min-width:0; padding:var(--gf-margen); border:var(--gf-borde);
  border-radius:var(--gf-radio); background:var(--gf-gradiente-panel); box-shadow:var(--gf-sombra);
}
body.hd-interfaz-unificada .hd-resumen-importes-trabajo[data-distribucion] dt {
  margin:0; color:var(--color-texto-suave); font:400 var(--gf-texto-cuerpo)/1.5 var(--gf-familia-texto);
}
body.hd-interfaz-unificada .hd-resumen-importes-trabajo[data-distribucion] dd {
  margin:8px 0 0; font:700 24px/1.3 var(--gf-familia-texto); text-align:right;
}
body.hd-interfaz-unificada .hd-resumen-importes-trabajo[data-distribucion] dd > small {
  margin-top:6px; color:var(--color-texto-suave); font:400 var(--gf-texto-cuerpo)/1.5 var(--gf-familia-texto);
}
body.hd-interfaz-unificada .pagina > .hd-resumen-importes-trabajo[data-distribucion] { margin-bottom:var(--gf-margen); }
body.hd-interfaz-unificada [data-resumen-tipo="contador"] { color:var(--color-texto) !important; --hd-color-importe:var(--color-texto); }
body.hd-interfaz-unificada [data-resumen-tipo="contador"] :is(span,strong,b) { color:inherit !important; }
body.hd-interfaz-unificada .barra-lateral .navegacion-configuracion .navegacion-submenu {
  background:var(--gf-gradiente-panel); border:var(--gf-borde); border-radius:var(--gf-radio); box-shadow:var(--gf-sombra);
}
body.hd-interfaz-unificada .barra-lateral .navegacion-submenu a {
  color:var(--color-marca-azul-oscuro); border-left-color:var(--gf-borde-color); font:400 var(--gf-texto-cuerpo)/1.5 var(--gf-familia-texto);
}
body.hd-interfaz-unificada .barra-lateral .submenu-titulo { color:var(--color-marca-azul-oscuro); font:700 var(--gf-texto-cuerpo)/1.5 var(--gf-familia-texto); }
body.hd-interfaz-unificada .barra-lateral .navegacion-submenu a:hover,
body.hd-interfaz-unificada .barra-lateral .navegacion-submenu a.activo {
  color:#fff; background:var(--gf-gradiente-azul); border-left-color:var(--color-marca-azul-claro); border-radius:var(--gf-radio);
}
body.hd-interfaz-unificada .hd-planeacion-nueva .hd-pf-sync__estado { text-align:left; max-width:440px; }
body.hd-interfaz-unificada .hd-planeacion-nueva .hd-pf-sync__estado > summary {
  cursor:pointer; color:var(--color-texto); font:400 var(--gf-texto-cuerpo)/1.5 var(--gf-familia-texto);
}
body.hd-interfaz-unificada .hd-planeacion-nueva .hd-pf-sync__estado > summary strong { font-weight:700; }
body.hd-interfaz-unificada .hd-planeacion-nueva .hd-pf-sync__informacion { display:grid; gap:6px; margin-top:12px; }
body.hd-interfaz-unificada .hd-planeacion-nueva .hd-pf-sync__informacion > small { font:400 var(--gf-texto-cuerpo)/1.5 var(--gf-familia-texto); }
/* El signo del dinero es independiente de los círculos y textos de cobertura. */
body.hd-interfaz-unificada .hd-planeacion-nueva .hd-pf-cobertura [data-importe-canonico][data-tono-importe="positivo"] { color:var(--hd-color-positivo) !important; }
body.hd-interfaz-unificada .hd-planeacion-nueva .hd-pf-cobertura [data-importe-canonico][data-tono-importe="negativo"] { color:var(--hd-color-negativo) !important; }
body.hd-interfaz-unificada .hd-planeacion-nueva .hd-pf-cobertura [data-importe-canonico][data-tono-importe="cero"] { color:var(--color-texto) !important; }
@media(max-width:1400px){body.hd-interfaz-unificada .hd-resumen-importes-trabajo:is([data-distribucion="4"],[data-distribucion="5"],[data-distribucion="6"]) { grid-template-columns:repeat(3,minmax(0,1fr)); }}
@media(max-width:1000px){body.hd-interfaz-unificada .hd-resumen-importes-trabajo[data-distribucion] { grid-template-columns:repeat(2,minmax(0,1fr)); }}
@media(max-width:560px){body.hd-interfaz-unificada .hd-resumen-importes-trabajo[data-distribucion] { grid-template-columns:minmax(0,1fr); }}
