/* Carril CONTA: estilos propios de este carril. Se carga después de estilo.css; solo lo toca su dueño.
   Contabilidad (contabilidad.js): Diario, Mayor, Sumas y saldos, Balance, Pérdidas y ganancias, asientos, inmovilizado y conciliación.
   Ni un style="" de maquetación en el JS: lo que hace falta está aquí, con los tokens de estilo.css. */

/* El buscador del Diario y el botón de la cuenta de ingresos, en la barra de filtros */
.filtros .buscador-conta { max-width: 340px; }
.filtros .conta-empuja { margin-left: auto; }
.filtros .conta-empuja + .total { margin-left: var(--e3); }
.conta-centrado { text-align: center; }
.conta-sin-arriba { padding-top: 0; }
.conta-medio { font-weight: 500; }
.conta-campo-cuenta { max-width: 320px; }
.conta-segmentos { width: auto; }
.conta-nota-pie { margin-top: var(--e1); }
.conta-lista { margin: var(--e2) 0 0; padding-left: var(--e5); display: grid; gap: var(--e1); }

/* Balance: A) bloque · A-1) subtotal del modelo · partidas del patrimonio neto, una sangría más */
.tabla.cuentas-anuales tr.conta-sub td { font-weight: 500; background: var(--sub); }
.tabla.cuentas-anuales tr.conta-sub td:first-child { padding-left: 30px; }
.tabla.cuentas-anuales tr.conta-n3 td:first-child { padding-left: 46px; }
@media (max-width: 860px) {
  .tabla.cuentas-anuales tr.conta-sub td:first-child { padding-left: 18px; }
  .tabla.cuentas-anuales tr.conta-n3 td:first-child { padding-left: 28px; }
}

/* El editor de asientos: anchos de columna sin píxeles en línea */
.tabla.asiento-ed .conta-c-cuenta { width: 170px; }
.tabla.asiento-ed .conta-c-importe { width: 150px; }
.tabla.asiento-ed .conta-c-quitar { width: 40px; }
/* En pantalla estrecha la tabla se apila (estilo.css): cada línea del asiento es una tarjeta — la cuenta y el detalle a todo el ancho, el debe y el haber
   lado a lado, y la «×» arriba a la derecha (antes el haber y la × caían cada uno en su fila) */
@media (max-width: 860px) {
  .tabla.asiento-ed.apila tbody tr { grid-template-columns: repeat(2, minmax(0, 1fr)); position: relative; }
  .tabla.asiento-ed.apila td:nth-child(-n+2) { grid-column: 1 / -1; }
  .tabla.asiento-ed.apila td:first-child { padding-right: 40px; }
  .tabla.asiento-ed.apila td:first-child::before { display: block; }
  .tabla.asiento-ed.apila td:last-child { grid-column: auto; position: absolute; top: 8px; right: 8px; }
}

/* Conciliación bancaria: las cifras de cada banco y su porqué */
.tabla .sub2.doc { font-variant-numeric: tabular-nums; }

/* La nota de pie de las pantallas de Contabilidad: separada de la tarjeta de arriba */
.aviso-fiscal.conta-pie { margin-top: var(--e3); }

/* Libro Mayor: un concepto largo (una compensación del IVA, un asiento a mano) se parte en dos líneas en vez de empujar el saldo fuera de la tabla */
.tabla td.conta-concepto { white-space: normal; overflow-wrap: anywhere; min-width: 220px; }

/* ── Libros y documentos (15-10-2026): una tarjeta por grupo y, dentro, un documento por fila con su porqué, su estado y de dónde bajarlo ── */
.lib-grupo { overflow: hidden; }
.lib-nota-grupo { margin: 0; padding: 0 var(--pad-card) var(--e3); font-size: var(--t-sm); color: var(--tenue); max-width: 90ch; }
.lib-lista { list-style: none; margin: 0; padding: 0; }
.lib-fila { display: flex; align-items: flex-start; gap: var(--e4); padding: var(--e4) var(--pad-card); border-top: 1px solid var(--linea-suave); }
.lib-txt { flex: 1; min-width: 0; display: grid; gap: var(--e1); }
.lib-txt p { margin: 0; font-size: var(--t-sm); color: var(--tenue); max-width: 80ch; text-wrap: pretty; }
.lib-tit { display: flex; flex-wrap: wrap; align-items: center; gap: var(--e1) var(--e2); }
.lib-tit b { font-weight: 500; font-size: var(--t-md); text-wrap: balance; }
.lib-detalle { color: var(--texto); }
.lib-txt p.lib-detalle { color: var(--texto); }
.lib-apagada .lib-tit b { color: var(--tenue); }
.lib-bot { flex: none; max-width: 40%; display: flex; flex-wrap: wrap; justify-content: flex-end; align-items: flex-start; gap: var(--e2); }
.lib-aviso { display: flex; gap: var(--e2); align-items: flex-start; color: var(--av-fg); }
.lib-txt p.lib-aviso { color: var(--av-fg); }
.lib-aviso svg { width: 16px; height: 16px; flex: none; margin-top: 2px; }
.lib-incluye { list-style: none; margin: var(--e1) 0; padding: 0; display: grid; gap: 0; border-left: 2px solid var(--linea-suave); }
.lib-incluye li { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: var(--e1) var(--e3); padding: var(--e1) var(--e3); font-size: var(--t-sm); }
.lib-inc-t { display: flex; flex-wrap: wrap; align-items: center; gap: var(--e1) var(--e2); min-width: 0; }
.lib-inc-b { display: flex; flex-wrap: wrap; gap: var(--e1); flex: none; }
.lib-chk { font-size: var(--t-sm); }
.lib-chk summary { display: flex; align-items: center; gap: var(--e2); cursor: pointer; width: fit-content; }
.lib-chk ul, .lib-chk-todas { list-style: none; margin: 0; padding: var(--e2) 0 0; display: grid; gap: var(--e1); }
.lib-chk li, .lib-chk-todas li { display: flex; gap: var(--e2); align-items: flex-start; font-size: var(--t-sm); }
.lib-chk-ico { flex: none; width: 18px; text-align: center; font-weight: 600; color: var(--tenue); }
.lib-chk li.bien .lib-chk-ico, .lib-chk-todas li.bien .lib-chk-ico { color: var(--ok-fg); }
.lib-chk li.mal .lib-chk-ico, .lib-chk-todas li.mal .lib-chk-ico { color: var(--no-fg); }
@media (max-width: 860px) {
  .lib-fila { flex-direction: column; gap: var(--e3); }
  .lib-bot { max-width: none; justify-content: flex-start; }
}

/* ── Bloque 6: la previa del cierre, las etiquetas analíticas y las plantillas de asiento ── */
.cierre-lista { margin-top: 0; }
.cierre-lista li.aviso .lib-chk-ico, .lib-chk li.aviso .lib-chk-ico { color: var(--av-fg); }
.cierre-res { display: flex; flex-wrap: wrap; align-items: baseline; gap: var(--e2); }
.cierre-res b { font-size: var(--t-lg); font-weight: 600; }
.cierre-as { border-top: 1px solid var(--linea-suave); padding: var(--e2) 0; }
.cierre-as summary { cursor: pointer; display: flex; flex-wrap: wrap; align-items: baseline; gap: var(--e1) var(--e2); }
.etq-chips { display: flex; flex-wrap: wrap; gap: var(--e2); margin: var(--e2) 0 var(--e3); }
.etq-chip { cursor: pointer; font: inherit; font-size: var(--t-xs); }
.etq-chip.activo { border-color: currentColor; font-weight: 600; }
.etq-chip:disabled { cursor: default; }
.etq-nueva { display: flex; gap: var(--e2); align-items: center; }
.etq-nueva input { flex: 1; min-width: 0; }
.etq-acc { white-space: nowrap; }
.etq-aparte td { color: var(--tenue); }
.plantillas-mias .fila { gap: var(--e2); }
.plantillas-mias select { flex: 0 1 340px; width: auto; min-width: 0; }

