#finance-treasury [hidden] { display: none !important; }
/* «Conciliar cobro / pago» como hoja ancha (2026-10-18, Carlos): más grande, como «Gestionar cobro», y con las
   explicaciones en la ayuda «?» en vez de párrafos. La lista de facturas conserva las reglas de #match-review. */
#bank-allocation.sheet-dialog { width: min(96vw, 1040px); max-width: min(96vw, 1040px); }
/* «¿Qué es este movimiento?» más grande y de una vez (Carlos, 04/11/2026: «que no tenga scroll, que intente
   salir todo de una»): en pantallas anchas ocupa casi toda la ventana y el cuerpo va en dos columnas,
   «No es una factura» (modelos, remesas, anticipo) a la izquierda y el buscador de facturas a la derecha.
   Si aun así no cabe, el cuerpo sigue desplazándose como hasta ahora. */
@media (min-width: 1100px) {
  #bank-allocation.sheet-dialog { width: min(98vw, 1700px); max-width: min(98vw, 1700px); height: calc(100dvh - 24px); max-height: calc(100dvh - 24px); }
  #bank-allocation.sheet-dialog > .dialog-card { height: 100%; max-height: none; display: flex; flex-direction: column; }
  #bank-allocation .sheet-body:has(> [data-other-first]) { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); column-gap: 28px; align-content: start; }
  #bank-allocation .sheet-body:has(> [data-other-first]) > * { grid-column: 2; min-width: 0; }
  #bank-allocation .sheet-body > [data-other-first] { grid-column: 1; grid-row: 1 / span 40; align-self: start; border-right: 1px solid var(--line); padding-right: 24px; }
  #bank-allocation .sheet-body > [data-other-first] .treasury-allocation-shortcuts .button { min-height: 44px; }
}
#bank-allocation .dialog-card > header h2 { display: flex; align-items: center; flex-wrap: wrap; gap: 4px; }
#bank-allocation .dialog-card > header p { color: var(--text); font-size: 14px; }
#bank-allocation .dialog-card > header p.treasury-allocation-concept { margin-top: 2px; color: var(--muted); font-size: 13px; overflow-wrap: anywhere; }
#bank-allocation .treasury-allocation-notice { margin: 0 0 14px; padding: 10px 14px; border-left: 3px solid var(--amber-strong); background: var(--amber-soft); color: var(--text); font-size: 13px; }
#bank-allocation .treasury-allocation-notice[role=status] { border-left-color: var(--blue-dark); background: var(--soft); }
#bank-allocation .treasury-allocation-shortcuts { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin: 0 0 16px; }
#bank-allocation .treasury-allocation-shortcuts .button { width: auto; min-height: 40px; }
#bank-allocation .treasury-allocation-settle { display: flex; align-items: center; gap: 4px; margin: 14px 0; }
#bank-allocation .treasury-allocation-settle .treasury-settle-choice { flex: 1; min-width: 0; margin: 0; display: flex; align-items: center; gap: 12px; }
#bank-allocation .treasury-settle-choice input { width: 22px; height: 22px; flex-shrink: 0; margin: 0; }
#bank-allocation [data-documents] { min-width: 0; display: grid; gap: 8px; margin-bottom: 10px; }
#bank-allocation [data-documents] .match-choice { display: flex; align-items: center; gap: 14px; margin: 0; padding: 12px 16px; border: 1px solid var(--line); border-radius: 10px; background: var(--surface); overflow-wrap: anywhere; }
#bank-allocation [data-documents] .match-choice:has(input:checked) { border-color: var(--turquoise); box-shadow: 0 0 0 3px rgba(21,156,132,.10); }
#bank-allocation .match-choice>label { display: flex; align-items: center; gap: 12px; min-width: 0; flex: 1; margin: 0; font-weight: 500; }
#bank-allocation .match-choice input[type=checkbox] { width: 22px; height: 22px; min-width: 22px; flex-shrink: 0; }
#bank-allocation [data-amount] { width: 160px; max-width: 100%; margin-top: 0; }
#bank-allocation .match-choice>label:has([data-amount]) { flex: 0 0 auto; gap: 10px; font-size: 12px; font-weight: 700; color: var(--muted); }
#bank-allocation [data-more] { width: auto; margin-bottom: 4px; }
#bank-allocation .sheet-footer [data-balance] { margin: 0; flex: 1; color: var(--text); font-weight: 700; }
#bank-allocation [data-history] details { margin: 0 0 10px; }
#bank-allocation [data-error]:empty { display: none; }
#bank-allocation [data-error] { color: var(--red); font-weight: 700; }
@media (max-width: 640px) {
  #bank-allocation .dialog-card > header { padding: 16px 16px 14px; }
  #bank-allocation .sheet-body { padding: 16px; }
  #bank-allocation .sheet-footer { flex-wrap: wrap; padding: 12px 16px; }
  #bank-allocation .sheet-footer .button { width: 100%; min-width: 0; }
  #bank-allocation .dialog-card > header h2 { font-size: 20px; }
  #bank-allocation [data-documents] .match-choice { flex-wrap: wrap; }
  #bank-allocation .match-choice>label { flex-basis: 100%; }
  #bank-allocation [data-amount] { width: 100%; }
  #bank-allocation .treasury-allocation-shortcuts .button { flex: 1 1 auto; }
}
#match-review .match-choice>label{display:flex;align-items:center;gap:12px;min-width:0;flex:1;}
#match-review .match-choice input[type=checkbox]{width:22px;height:22px;flex-shrink:0;}
#match-review [data-amount]{width:140px;max-width:100%;}
#match-review [data-documents]{min-width:0;}
#match-review footer{flex-wrap:wrap;}
@media(max-width:640px){#match-review .match-choice{flex-wrap:wrap;}#match-review .match-choice>label{flex-basis:100%;}#match-review [data-amount]{width:100%;}}
#finance-treasury > nav { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin-block: 16px; }
#finance-treasury .treasury-match-detail { max-height: 360px; overflow: auto; }
#finance-treasury .treasury-score { min-width: 64px; font-size: 11px; }
#finance-treasury .treasury-matches > article { grid-template-columns: 70px minmax(0,1fr) minmax(0,1fr) auto; }
#finance-treasury .treasury-list [data-receivable-manage], #finance-treasury .treasury-list .treasury-row-actions { display: inline-flex; width: auto; grid-column: 2 / -1; justify-self: start; margin-top: 8px; padding: 9px 14px; border: 1px solid var(--line); white-space: nowrap; }
#finance-treasury .treasury-list .treasury-row-actions { gap: 8px; padding: 0; border: 0; grid-row: auto; color: inherit; font-size: inherit; }
#finance-treasury .treasury-list .treasury-row-actions .button { padding: 9px 14px; border: 1px solid var(--line); }
#finance-treasury .treasury-list .treasury-row-actions .quiet { border-color: transparent; }
#finance-treasury .treasury-list [data-settled-manage] { grid-column: 2 / -1; justify-self: start; margin-top: 6px; }
#finance-treasury .treasury-settled { margin-top: 18px; padding: 14px 16px; border: 1px dashed var(--line); border-radius: 10px; background: var(--soft); }
#finance-treasury .treasury-settled h4 { margin: 0 0 4px; font-size: 13px; }
#finance-treasury .treasury-settled p { margin: 0 0 8px; color: var(--muted); font-size: 12px; }
#finance-treasury .finance-chips a.button { text-decoration: none; }
#finance-treasury .treasury-filters { align-items: end; gap: 10px 14px; margin: 0 0 14px; }
#finance-treasury .treasury-filters label { display: grid; gap: 4px; color: var(--muted); font-size: 11px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
#finance-treasury .treasury-filters input, #finance-treasury .treasury-filters select { min-height: 36px; padding: 6px 10px; border: 1px solid var(--line); border-radius: 8px; background: var(--surface); color: var(--text); font: inherit; font-size: 13px; text-transform: none; letter-spacing: 0; }
#finance-treasury .treasury-filters > label:first-child { flex: 3 1 320px; }
#finance-treasury .treasury-filters > label:not(:first-child) { flex: 1 1 200px; }
/* «Más filtros» (2026-10-19): año, mes, orden y tamaño de página en su propia fila, plegados. */
#finance-treasury .treasury-more-filters { flex: 1 1 100%; min-width: 0; }
#finance-treasury .treasury-more-filters > summary { display: inline-flex; align-items: center; min-height: 32px; color: var(--blue-dark); font-size: 12px; font-weight: 700; cursor: pointer; }
#finance-treasury .treasury-more-filters > div { display: flex; flex-wrap: wrap; align-items: end; gap: 10px 14px; margin-top: 6px; }
#finance-treasury .treasury-more-filters > div > label { flex: 1 1 140px; }
#finance-treasury .treasury-help { margin: 0 0 12px; color: var(--muted); font-size: 12px; line-height: 1.45; }
#finance-treasury .treasury-help summary { cursor: pointer; color: var(--blue-dark); font-weight: 700; }
#finance-treasury .treasury-help p { margin: 6px 0 0; }
#finance-treasury .treasury-filter-summary { align-items: center; }
@media(max-width:640px){ #finance-treasury .treasury-filters > label, #finance-treasury .treasury-more-filters > div > label { flex: 1 1 100%; } }
#closing-dialog { width: min(96vw, 900px); max-height: calc(100dvh - 24px); padding: 0; overflow: auto; }
#closing-dialog .dialog-card { width: 100%; max-width: none; box-sizing: border-box; padding: 24px; }
#closing-dialog header, #closing-dialog footer { display: flex; gap: 12px; align-items: center; justify-content: space-between; }
#closing-dialog footer { position: sticky; bottom: 0; padding: 12px 0; background: var(--surface); }
#closing-dialog .match-choice { display: flex; align-items: center; gap: 12px; padding: 10px 0; border-top: 1px solid var(--line-inner); }
#closing-dialog .match-choice input { width: 22px; height: 22px; flex-shrink: 0; }
#closing-dialog .match-choice span { flex: 1; min-width: 0; }
#closing-dialog .closing-group { margin-top: 10px; padding: 8px 12px; border: 1px solid var(--line); border-radius: 8px; }
#closing-dialog .closing-group.flagged { border-color: var(--amber-strong); background: var(--amber-soft); }
#closing-dialog textarea { width: 100%; box-sizing: border-box; }
@media (max-width: 640px) { #closing-dialog .dialog-card { padding: 14px; } }
@media (max-width: 900px) {
  #finance-treasury .treasury-matches > article { display: flex; flex-direction: column; align-items: stretch; gap: 12px; }
  #finance-treasury .treasury-matches > article > * { width: auto; min-width: 0; grid-column: auto; }
  #finance-treasury .treasury-score { align-self: flex-start; }
  #finance-treasury .treasury-match-detail { max-height: 320px; }
}

#match-review{width:min(1000px,calc(100vw - 24px));max-height:calc(100dvh - 24px);padding:0;overflow:auto;} #match-review .dialog-card{width:100%;max-width:none;box-sizing:border-box;padding:24px;} #match-review header,#match-review footer{display:flex;gap:12px;align-items:center;justify-content:space-between;} #match-review fieldset{min-width:0;} #match-review .match-choice{display:flex;align-items:center;gap:14px;padding:16px;border-bottom:1px solid #d3dedb;overflow-wrap:anywhere;} #match-review input[type=radio]{width:22px;height:22px;flex-shrink:0;} #match-review textarea{width:100%;box-sizing:border-box;} #match-review footer{position:sticky;bottom:0;background:white;padding:12px 0;} @media(max-width:640px){#match-review .dialog-card{padding:14px;} #match-review header{align-items:flex-start;} #match-review h2{font-size:1.2rem;}}

.remittance-invoices { min-width:0; }
.remittance-invoice-row { display:flex; justify-content:space-between; gap:16px; padding:12px 0; border-top:1px solid #d6dfdc; overflow-wrap:anywhere; }
.remittance-invoice-row > div { min-width:0; }
.remittance-invoice-row > strong { white-space:nowrap; }
.remittance-invoice-row p { margin:4px 0; }
#match-review input[type=checkbox]{width:22px;height:22px;min-width:22px;flex-shrink:0;}
#match-review .remittance-invoice-row{display:block;}
#match-review [data-receipt]{width:100%;max-width:100%;white-space:normal;min-height:44px;}
#match-review [data-batch-body] .match-choice>span{flex:1;min-width:0;}
#match-review [data-batch-body] .match-choice>strong{white-space:nowrap;}

/* Pagadas según Factusol pendientes de confirmar en Next (2026-09-28). */
.treasury-factusol-paid{display:inline-flex;align-items:center;padding:6px 12px;border-radius:999px;background:var(--amber-soft);color:var(--amber);font-size:12px;font-weight:700}

.treasury-settle-choice{margin:12px 0;padding:10px 12px;border:1px solid var(--line-control);border-left:4px solid var(--green);border-radius:7px;background:var(--surface);}
.treasury-settle-choice span{font-size:14px;line-height:1.4;}
.treasury-bank-match{color:var(--green);font-weight:700;}
#finance-treasury .link-button{background:none;border:0;padding:0;color:var(--blue-dark);font:inherit;font-weight:700;text-decoration:underline;cursor:pointer;}
.treasury-factusol-only{color:var(--muted);font-weight:700;font-size:12px;border:1px solid var(--line);border-radius:3px;padding:0 4px;}

/* Gestionar cobro / pago como hoja ancha (2026-10-07, petición de Carlos):
   más aire, secciones claras y el botón de guardar siempre a la vista. */
#receivable-management.sheet-dialog { width: min(96vw, 860px); max-width: min(96vw, 860px); }
#receivable-management .dialog-card > header strong { font-weight: 800; color: var(--text); }
#receivable-management .treasury-settle-intro { margin: 0 0 18px; color: var(--muted); font-size: 14px; line-height: 1.5; }
#receivable-management .treasury-settle-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 20px; }
#receivable-management input[type=file] { padding: 9px 12px; }
#receivable-management .treasury-bank-candidates { margin: 4px 0 12px; }
#receivable-management .treasury-bank-candidates h4 { margin: 4px 0 10px; font-size: 14px; }
#receivable-management .treasury-bank-candidates > small, #receivable-management .treasury-settle-hint { display: block; color: var(--muted); font-size: 12px; line-height: 1.45; }
#receivable-management .match-choice { display: flex; align-items: flex-start; gap: 14px; margin: 0 0 10px; padding: 14px 16px; border: 1px solid var(--line); border-radius: 10px; background: var(--soft); font-weight: 500; cursor: pointer; }
#receivable-management .match-choice:has(input:checked) { border-color: var(--turquoise); box-shadow: 0 0 0 3px rgba(21,156,132,.10); background: var(--surface); }
#receivable-management .match-choice input { width: 22px; height: 22px; margin: 1px 0 0; flex-shrink: 0; }
#receivable-management .match-choice > span { float: none; flex: 1; min-width: 0; display: grid; gap: 4px; overflow-wrap: anywhere; color: var(--text); font-size: 14px; font-weight: 600; }
#receivable-management .treasury-settle-hint { margin-top: 4px; }
#receivable-management .match-choice > span small { color: var(--muted); font-size: 12px; font-weight: 500; }
#receivable-management .match-choice > span em { color: var(--amber, var(--muted)); font-size: 12px; font-style: normal; font-weight: 600; }
#receivable-management .match-choice > b { white-space: nowrap; font-size: 15px; }
#receivable-management .treasury-settle-history { margin-top: 8px; padding-top: 16px; border-top: 1px solid var(--line); }
#receivable-management .treasury-settle-history h3 { margin: 0 0 6px; font-size: 15px; }
#receivable-management [data-collection-history] { color: var(--muted); font-size: 13px; }
#receivable-management [data-collection-history] p { margin: 0; padding-block: 12px; border-bottom: 1px solid var(--line); overflow-wrap: anywhere; white-space: pre-wrap; color: var(--text); }
#receivable-management [data-collection-history] .button { margin-top: 6px; }
#receivable-management .treasury-settlement-reversed { opacity: .6; }
#receivable-management .sheet-footer .dialog-error:empty { visibility: hidden; }
#receivable-management .sheet-footer .dialog-error { color: var(--red); font-size: 13px; font-weight: 600; }
@media (max-width: 640px) { #receivable-management .treasury-settle-grid { grid-template-columns: 1fr; } #receivable-management .match-choice { flex-wrap: wrap; } }
/* Diálogo propio de confirmación o motivo (2026-10-12): sustituye a los cuadros prompt y confirm del navegador. */
#treasury-ask{width:min(560px,calc(100vw - 24px));max-height:calc(100dvh - 24px);padding:0;overflow:auto;border:1px solid var(--line-control);border-radius:6px;color:var(--text);background:var(--surface);}
#treasury-ask::backdrop{background:var(--navy);opacity:.45;}
#treasury-ask .dialog-card{width:100%;max-width:none;box-sizing:border-box;padding:24px;display:grid;gap:12px;}
#treasury-ask h2{margin:0;font-size:20px;}
#treasury-ask p{margin:0;line-height:1.5;}
#treasury-ask .treasury-ask-body{display:grid;gap:10px;}
#treasury-ask label{display:grid;gap:6px;font-size:13px;font-weight:700;}
#treasury-ask textarea{font:inherit;min-height:88px;padding:10px 12px;border:1px solid var(--line-control);border-radius:4px;background:var(--surface);color:var(--text);box-sizing:border-box;width:100%;}
#treasury-ask [data-error]{color:var(--red);font-weight:700;min-height:1.2em;}
#treasury-ask [data-error]:empty{display:none;}
#treasury-ask footer{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap;}
#treasury-ask :focus-visible{outline:3px solid var(--blue-dark);outline-offset:3px;}
@media(max-width:640px){#treasury-ask footer .button{flex:1;}}
/* Retenida: no se liquida sola aunque Factusol la dé por pagada. */
.treasury-held{color:var(--amber);background:var(--amber-soft);border:1px solid var(--amber-strong);border-radius:3px;padding:0 5px;font-size:12px;font-weight:700;}
/* Abonos sin enlazar (Financiero › Asuntos pendientes, 2026-10-15): tarjeta legible, propuesta marcada y radio de tamaño normal. */
.finance-credit-notes .finance-credit-note{display:grid;gap:10px;padding:16px 0;border-top:1px solid var(--line-inner);}
.finance-credit-notes{scroll-margin-top:190px}
.finance-credit-note-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 14px;}
.finance-credit-note-head span{flex:1;min-width:0;color:var(--muted);}
.finance-credit-note-head b{white-space:nowrap;}
.finance-credit-note-search{display:flex;gap:8px;flex-wrap:wrap;}
.finance-credit-note-search input{flex:1;min-width:180px;}
.finance-credit-note-candidates{display:grid;gap:8px;}
.finance-credit-note-candidates .match-choice{display:flex;align-items:flex-start;gap:12px;padding:12px 14px;border:1px solid var(--line);border-radius:10px;background:var(--soft);cursor:pointer;overflow-wrap:anywhere;}
.finance-credit-note-candidates .match-choice input{width:20px;height:20px;flex-shrink:0;margin-top:2px;}
.finance-credit-note-candidates .match-choice span{flex:1;min-width:0;}
.finance-credit-note-actions{display:flex;justify-content:flex-end;}
/* Los avisos en negrita dentro del detalle de una fila (pendiente, abono…) parten línea: sin esto, en el móvil invadían el importe. */
#finance-treasury .treasury-list small b{white-space:normal;}
/* Pulido 2026-10-18 (Carlos): los botones de cada fila heredaban la rejilla de 88 px de .treasury-list button y el texto
   se salía del borde; las cifras de estado eran píldoras grises que no quedaban profesionales: ahora texto sobrio. */
#finance-treasury .treasury-list .treasury-row-actions .button,
#finance-treasury .treasury-list .treasury-row-actions button { display: inline-flex; align-items: center; justify-content: center; width: auto; min-height: 36px; grid-template-columns: none; white-space: nowrap; border-radius: 8px; font-size: 13px; font-weight: 700; line-height: 1.2; }
#finance-treasury .treasury-list .treasury-row-actions { flex-wrap: wrap; }
#finance-treasury .finance-chips { align-items: center; gap: 8px 14px; }
#finance-treasury .finance-chips > span { padding: 0; border-radius: 0; background: none; color: var(--muted); font-size: 13px; font-weight: 600; }
#finance-treasury .finance-chips > span[role=alert] { color: var(--red); }
#finance-treasury .treasury-filter-summary > span { color: var(--text); font-weight: 700; }
#finance-treasury .treasury-reconciliation .finance-chips { align-items: end; gap: 10px 14px; margin-bottom: 10px; }
#finance-treasury .treasury-reconciliation .finance-chips label { display: grid; gap: 4px; flex: 1 1 150px; color: var(--muted); font-size: 11px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
#finance-treasury .treasury-reconciliation .finance-chips label:nth-child(3) { flex: 2 1 260px; }
#finance-treasury .treasury-reconciliation .finance-chips input, #finance-treasury .treasury-reconciliation .finance-chips select { min-height: 38px; padding: 6px 10px; border: 1px solid var(--line); border-radius: 8px; background: var(--surface); color: var(--text); font: inherit; font-size: 13px; letter-spacing: 0; text-transform: none; }
#finance-treasury .treasury-export-line { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 14px; margin: 0 0 14px; color: var(--muted); font-size: 12.5px; }
#finance-treasury .treasury-export-line a.button { text-decoration: none; }
#finance-treasury .treasury-export-line [role=alert] { color: var(--red); font-weight: 700; }
#finance-treasury .treasury-list [data-settled-manage] { display: inline-flex; align-items: center; width: auto; grid-template-columns: none; white-space: nowrap; }
#finance-treasury .treasury-filters label:not(:first-child) { flex: 1 1 190px; }
@media (max-width: 640px) {
  #finance-treasury .treasury-list .treasury-row-actions .button,
  #finance-treasury .treasury-list .treasury-row-actions button { max-width: 100%; white-space: normal; text-align: center; }
}
/* Estado y Orden tienen los textos más largos: más ancho para ellos, menos para año, mes y página. */
#finance-treasury .treasury-filters label:nth-child(2), #finance-treasury .treasury-filters label:nth-child(3), #finance-treasury .treasury-filters label:nth-child(6) { flex: 1 1 110px; }
#finance-treasury .treasury-filters label:nth-child(4), #finance-treasury .treasury-filters label:nth-child(5) { flex: 2.4 1 260px; }
/* Cobro o pago con el banco (2026-10-18): el movimiento arriba, «Más datos» plegado y la posible coincidencia, atenuada. */
#finance-treasury .treasury-list .treasury-row-actions [data-receivable-manage] { margin-top: 0; grid-column: auto; }
#receivable-management .treasury-settle-more { margin: 4px 0 8px; }
#receivable-management .treasury-settle-more > summary { cursor: pointer; color: var(--muted); font-size: 13px; font-weight: 700; padding: 6px 0; }
#receivable-management .treasury-bank-possible { opacity: .85; }
#receivable-management .treasury-bank-possible em.warn { display: block; color: var(--amber); font-style: normal; font-weight: 700; }
#direct-debits .treasury-help ul { margin: 6px 0 0; padding-left: 18px; font-size: 13px; }
#direct-debits .treasury-help li { margin: 2px 0; }
.toast .toast-undo { min-height: 36px; padding: 6px 14px; }
#direct-debits .dialog-error:empty { display: none; }
#finance-treasury .treasury-list small b.treasury-bank-missing { color: var(--amber); }
/* «Confirmar ya pagadas» (2026-10-19): aire entre grupos y tramos del resumen. */
#direct-debits .treasury-paid-group{margin:1rem 0 .4rem;font-size:1rem}
#direct-debits details.treasury-help{margin-bottom:.6rem}

/* Bloques plegables de Facturas y vencimientos (Carlos, 2026-10-19: «que se escondan en desplegables para que no
   ocupen mucho»). La cabecera es el <summary>: título y una línea con lo importante; el chevrón dice si está abierto. */
#finance-treasury .treasury-fold > summary { display: grid; grid-template-columns: minmax(0, 1fr) 28px; align-items: center; gap: 4px 14px; min-height: 44px; margin: -6px -8px; padding: 6px 8px; border-radius: 8px; cursor: pointer; list-style: none; }
#finance-treasury .treasury-fold > summary::-webkit-details-marker { display: none; }
#finance-treasury .treasury-fold > summary::after { content: ''; grid-column: 2; grid-row: 1 / span 2; justify-self: center; width: 9px; height: 9px; border-right: 2px solid var(--blue-dark); border-bottom: 2px solid var(--blue-dark); transform: translateY(-3px) rotate(45deg); transition: transform var(--motion-fast) var(--ease-out); }
#finance-treasury .treasury-fold[open] > summary::after { transform: translateY(2px) rotate(-135deg); }
#finance-treasury .treasury-fold > summary:hover { background: var(--row-hover); }
#finance-treasury .treasury-fold > summary:focus-visible { outline: 3px solid rgba(31,102,209,.28); outline-offset: 2px; }
#finance-treasury .treasury-fold-head { grid-column: 1; min-width: 0; }
#finance-treasury .treasury-fold-head .eyebrow { margin: 0 0 3px; }
#finance-treasury .treasury-fold-line { grid-column: 1; min-width: 0; color: var(--muted); font-size: 13px; font-weight: 600; line-height: 1.4; font-variant-numeric: tabular-nums; }
#finance-treasury .treasury-fold-line .warn { color: var(--amber); }
#finance-treasury .treasury-fold[open] > summary { margin-bottom: 10px; }
#finance-treasury .treasury-fold-body { min-width: 0; }
#finance-treasury .treasury-fold-tools { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 8px; margin: 0 0 10px; }
#finance-treasury .treasury-fold-tools .button.quiet { margin-top: 0; min-height: 44px; padding: 0 14px; border: 1px solid var(--line); background: var(--surface); }
#finance-treasury .treasury-pager { align-items: center; margin: 12px 0 0; }
#finance-treasury .treasury-more { margin-top: 10px; }
#finance-treasury .treasury-help summary { display: inline-flex; align-items: center; min-height: 32px; }
/* Regla de seguridad: aviso informativo plegado en una línea. */
#finance-treasury .treasury-fold-note { display: block; }
#finance-treasury .treasury-fold-note > summary { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 10px; min-height: 32px; cursor: pointer; }
#finance-treasury .treasury-fold-note > summary span { color: var(--muted); }
#finance-treasury .treasury-fold-note > p { margin: 8px 0 0; }
@media (pointer: coarse) { #finance-treasury .treasury-help summary, #finance-treasury .treasury-fold-note > summary, #finance-treasury .treasury-more-filters > summary { min-height: 44px; } }
@media (prefers-reduced-motion: reduce) { #finance-treasury .treasury-fold > summary::after { transition: none; } }
/* Filas de una línea en escritorio (revisión del 2026-10-19): la acción va a la derecha, no debajo del nombre; una
   página de 20 facturas pasa de unos 2.300 px a la mitad. Los botones de la fila miden 44 px, también los discretos. */
#finance-treasury .treasury-list .treasury-row-actions .button, #finance-treasury .treasury-list .treasury-row-actions button,
#finance-treasury .treasury-list > div > [data-receivable-manage], #finance-treasury .treasury-list [data-settled-manage] { min-height: 44px; }
@media (min-width: 1000px) {
  #finance-treasury .treasury-list > div:has(> .treasury-row-actions, > [data-receivable-manage], > [data-settled-manage]) { grid-template-columns: 88px minmax(0, 1fr) auto minmax(0, max-content); }
  #finance-treasury .treasury-list > div > .treasury-row-actions, #finance-treasury .treasury-list > div > [data-receivable-manage], #finance-treasury .treasury-list > div > [data-settled-manage] { grid-column: 4; grid-row: 1 / 3; justify-self: end; align-self: center; margin-top: 0; }
  #finance-treasury .treasury-list > div > .treasury-row-actions { justify-content: flex-end; max-width: 520px; }
}
@media (max-width: 640px) {
  #finance-treasury .treasury-section:has(> .treasury-fold) { padding: 14px 16px; }
  #finance-treasury .treasury-fold-tools { justify-content: stretch; }
  #finance-treasury .treasury-fold-tools .button { flex: 1 1 auto; }
}

/* Pago o cobro agrupado (2026-10-19): un movimiento del banco que suma varias facturas del mismo tercero. */
.treasury-bank-group{margin:8px 0 12px;padding:12px 14px;border:1px solid var(--line);border-left:4px solid var(--green);border-radius:8px;background:var(--surface);}
.treasury-bank-group h4{margin:0 0 6px;font-size:14px;}
.treasury-bank-group p{margin:4px 0;font-size:14px;line-height:1.45;overflow-wrap:anywhere;}
.treasury-bank-group p small{display:block;color:var(--muted);font-size:12px;}
.treasury-bank-group ul{margin:4px 0 10px;padding-left:20px;font-size:14px;}
.treasury-bank-group-own{font-weight:700;}
.treasury-bank-group-option+.treasury-bank-group-option{margin-top:10px;padding-top:10px;border-top:1px solid var(--line);}
.treasury-bank-group-choices{display:flex;flex-wrap:wrap;gap:8px;}

/* Bancos › Por clasificar (2026-10-19): dos acciones a la vista y el resto en «Otras opciones». */
#finance-treasury .bank-review-more { position: relative; }
#finance-treasury .bank-review-more > summary { min-height: 44px; display: inline-flex; align-items: center; padding: 0 12px; border: 1px solid var(--line-control); border-radius: 6px; cursor: pointer; font-size: 13px; font-weight: 650; }
#finance-treasury .bank-review-more[open] { flex-basis: 100%; }
#finance-treasury .bank-review-more > div { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 6px; }
#finance-treasury .bank-review .treasury-matches > article { grid-template-columns: 70px minmax(0,1fr) minmax(0,1fr); }
#finance-treasury .bank-review .treasury-matches > article > nav { grid-column: 2 / -1; justify-content: flex-start; align-items: flex-start; }
@media (min-width: 721px) { #finance-treasury .bank-review .finance-chips input[type=search] { min-width: 240px; } }
#finance-treasury .bank-review-rules .button { margin-top: 8px; }
#finance-treasury .bank-review-focus { align-items: center; }
.finance-subnav-count { display: inline-grid; place-items: center; min-width: 22px; height: 22px; margin-left: 4px; padding: 0 6px; border-radius: 11px; background: var(--amber-soft); color: var(--amber-strong); font-size: 12px; font-weight: 800; font-variant-numeric: tabular-nums; }
/* «Crear un modelo de conciliación» (08/11/2026): la misma hoja que «¿Qué es este movimiento?», más estrecha. */
dialog.sheet-dialog.bank-classify-dialog { width: min(96vw, 760px); max-width: min(96vw, 760px); }
.bank-classify-dialog .dialog-error:empty { display: none; }
.bank-classify-dialog .sheet-footer { justify-content: flex-end; flex-wrap: wrap; }
.bank-classify-dialog .sheet-footer .button { min-width: 160px; }
.bank-classify-dialog .sheet-footer .dialog-error { flex: 1 1 100%; }
#bank-classify .treasury-allocation-line { margin: 6px 0 0; font-size: 13px; color: var(--text); overflow-wrap: anywhere; }
#bank-classify .treasury-allocation-line > strong { font-size: 15px; font-variant-numeric: tabular-nums; }
#bank-classify .treasury-allocation-line > strong.in { color: var(--green); }
#bank-classify .treasury-allocation-line > strong.out { color: var(--red); }
#bank-classify .dialog-card > header .treasury-allocation-concept { display: block; margin-top: 2px; color: var(--muted); font-size: 12.5px; font-weight: 500; letter-spacing: 0; text-transform: none; }
.bank-classify-dialog .sheet-body > .bank-classify-fold:first-child > summary { margin-top: -8px; }
.bank-classify-dialog .bank-classify-hint { margin: 14px 0 0; color: var(--muted); font-size: 12.5px; }
.bank-classify-dialog .bank-classify-fold { border-top: 1px solid var(--line-inner); }
.bank-classify-dialog .bank-classify-fold:first-child { border-top: 0; }
.bank-classify-dialog .bank-classify-fold > summary { min-height: 44px; display: flex; align-items: center; gap: 8px; cursor: pointer; font-size: 13.5px; font-weight: 700; color: var(--blue-dark); list-style: none; }
.bank-classify-dialog .bank-classify-fold > summary::-webkit-details-marker { display: none; }
.bank-classify-dialog .bank-classify-fold > summary::before { content: ''; width: 8px; height: 8px; margin: 0 4px 2px 2px; border-right: 2px solid var(--blue-dark); border-bottom: 2px solid var(--blue-dark); transform: rotate(-45deg); transition: transform var(--motion-fast) var(--ease-out); }
.bank-classify-dialog .bank-classify-fold[open] > summary::before { transform: rotate(45deg); }
.bank-classify-dialog .bank-classify-fold > summary small { color: var(--muted); font-weight: 600; font-size: 12px; }
.bank-classify-dialog .bank-classify-fold > summary:focus-visible { outline: 2px solid var(--green); outline-offset: 2px; }
.bank-classify-dialog .bank-classify-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(210px, 1fr)); gap: 8px; margin: 4px 0 12px; }
.bank-classify-dialog label.bank-classify-model { position: relative; display: flex; margin: 0; cursor: pointer; }
.bank-classify-dialog .bank-classify-model input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.bank-classify-dialog .bank-classify-model > span { display: flex; flex-direction: column; gap: 2px; width: 100%; min-height: 44px; padding: 8px 12px; border: 1px solid var(--line-control); border-radius: 10px; background: var(--surface); }
.bank-classify-dialog .bank-classify-model small { color: var(--muted); font-weight: 500; font-size: 12px; }
.bank-classify-dialog .bank-classify-model.is-match > span { border-color: var(--turquoise); }
.bank-classify-dialog .bank-classify-model input:checked + span { border-color: var(--green); background: var(--soft); box-shadow: inset 0 0 0 1px var(--green); }
.bank-classify-dialog .bank-classify-model input:focus-visible + span { outline: 2px solid var(--green); outline-offset: 2px; }
.bank-classify-dialog .bank-classify-form { display: grid; grid-template-columns: 1fr 1fr; gap: 0 16px; padding: 4px 0 6px; }
.bank-classify-dialog .bank-classify-wide { grid-column: 1 / -1; }
.bank-classify-dialog .bank-classify-segment { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 14px; padding: 0; border: 0; }
.bank-classify-dialog .bank-classify-segment legend { margin: 0 0 6px; padding: 0; font-size: 13px; font-weight: 700; }
.bank-classify-dialog .bank-classify-segment label { position: relative; margin: 0; }
.bank-classify-dialog .bank-classify-segment input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.bank-classify-dialog .bank-classify-segment label > span { display: inline-flex; align-items: center; min-height: 44px; padding: 0 16px; border: 1px solid var(--line-control); border-radius: 10px; font-weight: 600; cursor: pointer; }
.bank-classify-dialog .bank-classify-segment input:checked + span { border-color: var(--green); background: var(--soft); box-shadow: inset 0 0 0 1px var(--green); }
.bank-classify-dialog .bank-classify-segment input:focus-visible + span { outline: 2px solid var(--green); outline-offset: 2px; }
.bank-classify-dialog .bank-classify-segment > small { flex: 1 1 100%; color: var(--muted); font-size: 12px; }
@media (max-width: 640px) {
  .bank-classify-dialog .bank-classify-form { grid-template-columns: 1fr; }
  .bank-classify-dialog .sheet-footer .button { flex: 1 1 100%; }
}
@media (max-width: 640px) {
  #finance-treasury .bank-review-more > summary { width: 100%; justify-content: center; }
}
/* Bancos › Conciliar (2026-10-20): una fila por movimiento con su propuesta, «Segura», «Más opciones» y «Es otra cosa…». */
#finance-treasury .bank-review-proposal > strong { display: inline; }
#finance-treasury .bank-review-proposal > small { display: block; margin-top: 2px; }
.bank-review-safe { display: inline-flex; align-items: center; margin-left: 6px; padding: 1px 8px; border-radius: 999px; background: var(--green-soft); color: var(--green); font-size: 11.5px; font-weight: 800; vertical-align: 1px; }
#finance-treasury .bank-review-tools { margin: 16px 0 0; padding: 12px 0 0; border-top: 1px solid var(--line-inner); display: flex; flex-wrap: wrap; align-items: center; gap: 6px 16px; }
#finance-treasury .bank-review-tools > h3 { margin: 0; font-size: 13px; color: var(--muted); font-weight: 700; }
#finance-treasury .bank-review-tools > .finance-chips { margin: 0; flex: 1 1 auto; align-items: end; }
#finance-treasury .bank-review-tools .treasury-export-line { margin: 0; }
#finance-treasury .bank-review-tools small { color: var(--muted); }
#finance-treasury .bank-review .treasury-fold { margin-top: 14px; }
.treasury-allocation-sheet .bank-other-title, .treasury-allocation-sheet .bank-other-block h3 { margin: 14px 0 6px; font-size: 14px; }
.treasury-allocation-sheet .bank-other-block { margin-top: 10px; padding-top: 6px; border-top: 1px solid var(--line-inner); }
.treasury-allocation-sheet .bank-other-hint { margin: 0 0 8px; color: var(--muted); font-size: 12.5px; }
.treasury-allocation-sheet [data-model-list], .treasury-allocation-sheet [data-remittance-list] { display: flex; flex-wrap: wrap; gap: 6px; }
.treasury-allocation-sheet .bank-other-choice { display: inline-flex; flex-direction: column; align-items: flex-start; min-height: 44px; height: auto; padding: 6px 12px; text-align: left; }
.treasury-allocation-sheet .bank-other-choice small { color: var(--muted); font-weight: 500; font-size: 12px; }
@media (max-width: 640px) {
  .treasury-allocation-sheet .bank-other-choice { width: 100%; }
}

/* Movimiento ya conciliado (2026-11-01): con qué se concilió y cómo deshacerlo, lo primero que se ve. */
#bank-allocation .treasury-allocation-done { margin: 0 0 16px; padding: 12px 14px; border-left: 3px solid var(--blue-dark); background: var(--soft); }
#bank-allocation .treasury-allocation-done h3 { margin: 0 0 8px; font-size: 15px; }
#bank-allocation .treasury-allocation-done ul { margin: 0 0 6px; padding-left: 18px; }
#bank-allocation .treasury-allocation-done-item + .treasury-allocation-done-item { margin-top: 10px; }
#bank-allocation .treasury-bank-cited { margin: 6px 0 0; }

/* Bancos › Conciliar, tarjetas de una línea (Carlos, 2026-11-03: «fácil y sencillo, sin cargar de información»). */
#finance-treasury .bank-review-list { display: grid; gap: 6px; margin-top: 12px; }
#finance-treasury .bank-review-card { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 1.25fr) auto; gap: 10px 16px; align-items: center; padding: 8px 12px; border: 1px solid var(--line); border-radius: 8px; background: var(--surface); }
#finance-treasury .bank-review-movement { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 0 10px; align-items: baseline; min-width: 0; }
#finance-treasury .bank-review-amount { font-size: 15px; font-variant-numeric: tabular-nums; white-space: nowrap; }
#finance-treasury .bank-review-amount.in { color: var(--green); }
#finance-treasury .bank-review-amount.out { color: var(--red); }
#finance-treasury .bank-review-meta { font-size: 12px; color: var(--muted); white-space: nowrap; }
#finance-treasury .bank-review-party { grid-column: 1 / -1; font-size: 13px; font-weight: 650; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
#finance-treasury .bank-review-concept { grid-column: 1 / -1; font-size: 11.5px; color: var(--muted); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
#finance-treasury .bank-review-proposal { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 2px 8px; align-items: center; min-width: 0; }
#finance-treasury .bank-review-proposal > strong { display: block; font-size: 13px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
#finance-treasury .bank-review-proposal > small { grid-column: 2; display: block; color: var(--muted); font-size: 11.5px; }
#finance-treasury .bank-review-state { display: inline-flex; align-items: center; justify-content: center; min-width: 76px; padding: 2px 8px; border-radius: 999px; font-size: 11.5px; font-weight: 800; white-space: nowrap; background: var(--line-inner); color: var(--muted); }
#finance-treasury .bank-review-state.safe { background: var(--green-soft); color: var(--green); }
#finance-treasury .bank-review-state.ready { background: var(--soft); color: var(--blue-dark); }
#finance-treasury .bank-review-state.review, #finance-treasury .bank-review-state.partial { background: var(--amber-soft); color: var(--amber); }
#finance-treasury .bank-review-card > nav { display: flex; align-items: center; justify-content: flex-end; gap: 4px; white-space: nowrap; }
#finance-treasury .bank-review-card > nav .button { min-height: 36px; padding: 0 12px; }
#finance-treasury .bank-review-card > nav .button.quiet { color: var(--muted); }
#finance-treasury .bank-review-filters { align-items: end; }
#finance-treasury .bank-review-filters .bank-review-batch { margin-left: auto; }
#finance-treasury .bank-review-filters .bank-review-batch .button { min-height: 44px; }
@media (max-width: 900px) {
  #finance-treasury .bank-review-card { grid-template-columns: minmax(0, 1fr); }
  #finance-treasury .bank-review-card > nav { justify-content: flex-start; }
  #finance-treasury .bank-review-filters .bank-review-batch { margin-left: 0; }
}

/* Diálogo «¿Qué es este movimiento?» (2026-11-03): movimiento en una línea, buscador grande, candidatas cortas y plegables. */
#bank-allocation .treasury-allocation-line { margin: 6px 0 0; font-size: 13px; color: var(--text); overflow-wrap: anywhere; }
#bank-allocation .treasury-allocation-line > strong { font-size: 15px; font-variant-numeric: tabular-nums; }
#bank-allocation .treasury-allocation-line > strong.in { color: var(--green); }
#bank-allocation .treasury-allocation-line > strong.out { color: var(--red); }
#bank-allocation .treasury-allocation-line .treasury-allocation-concept { display: block; margin-top: 2px; font-size: 12.5px; }
#bank-allocation .bank-search { display: block; margin: 0 0 10px; }
#bank-allocation .bank-search > span { display: block; margin-bottom: 4px; font-size: 12px; font-weight: 700; color: var(--muted); text-transform: uppercase; letter-spacing: .04em; }
#bank-allocation .bank-search input[type=search] { width: 100%; min-height: 48px; padding: 0 14px; font-size: 15px; border: 1px solid var(--line-control); border-radius: 8px; }
#bank-allocation .bank-search input[type=search]:focus { outline: 2px solid var(--blue); outline-offset: 1px; }
#bank-allocation .bank-search-empty { margin: 8px 0; padding: 10px 12px; border-radius: 8px; background: var(--amber-soft); color: var(--text); font-size: 13px; }
#bank-allocation .bank-doc-pending { font-size: 12.5px; color: var(--muted); }
#bank-allocation .bank-doc-pending b { color: var(--text); font-variant-numeric: tabular-nums; }
#bank-allocation .bank-other-fold, #bank-allocation .bank-options-fold { margin: 14px 0 0; padding: 0 0 4px; border-top: 1px solid var(--line-inner); }
#bank-allocation .bank-other-fold > summary, #bank-allocation .bank-options-fold > summary { min-height: 44px; display: flex; align-items: center; cursor: pointer; font-size: 13.5px; font-weight: 700; color: var(--blue-dark); list-style: none; }
#bank-allocation .bank-other-fold > summary::-webkit-details-marker, #bank-allocation .bank-options-fold > summary::-webkit-details-marker { display: none; }
#bank-allocation .bank-other-fold > summary::before, #bank-allocation .bank-options-fold > summary::before { content: ''; width: 8px; height: 8px; margin: 0 10px 2px 2px; border-right: 2px solid var(--blue-dark); border-bottom: 2px solid var(--blue-dark); transform: rotate(-45deg); transition: transform var(--motion-fast) var(--ease-out); }
#bank-allocation .bank-other-fold[open] > summary::before, #bank-allocation .bank-options-fold[open] > summary::before { transform: rotate(45deg); }
#bank-allocation .bank-other-fold .treasury-allocation-shortcuts { margin: 8px 0 12px; }
#bank-allocation .bank-options-fold .treasury-allocation-settle { margin: 6px 0 10px; }
/* Abonos sin enlazar en móvil (06/11/2026): la fecha y el nombre no se cortan. */
@media(max-width:640px){.finance-credit-notes .finance-credit-note small,.finance-credit-notes .finance-credit-note span,.finance-credit-notes .finance-credit-note strong{white-space:normal;overflow:visible;text-overflow:clip}.finance-credit-note-head span{flex:1 1 100%;order:3}.finance-credit-note-head strong{flex:1 1 0;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.finance-credit-note-head b{margin-left:auto}}

/* Vista general en cuatro frases (Informes, tanda 3, 06/11/2026): banco, me deben, debo y lo que vence esta semana.
   Cada tarjeta es una frase grande y un botón que abre su lista ya filtrada. */
#finance-treasury .treasury-phrases { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin: 0 0 18px; }
#finance-treasury .treasury-phrase { display: flex; flex-direction: column; align-items: flex-start; gap: 8px; min-width: 0; padding: 18px 18px 14px; border: 1px solid var(--line); border-top: 4px solid var(--turquoise); border-radius: var(--radius); background: var(--surface); }
#finance-treasury .treasury-phrase-line { margin: 0; font-size: 18px; line-height: 1.35; font-weight: 600; overflow-wrap: anywhere; }
#finance-treasury .treasury-phrase-line strong { font-size: 22px; font-weight: 800; font-variant-numeric: tabular-nums; white-space: nowrap; }
#finance-treasury .treasury-phrase-line strong.is-text { font-size: 18px; white-space: normal; overflow-wrap: anywhere; }
#finance-treasury .treasury-phrase-line strong.warn, #finance-treasury .treasury-phrase-line b.warn { color: var(--red); }
#finance-treasury .treasury-phrase-line b.warn { font-size: 12px; font-weight: 700; }
#finance-treasury .treasury-phrase > small { color: var(--muted); font-size: 12px; line-height: 1.45; }
#finance-treasury .treasury-phrase > .button, #finance-treasury .treasury-phrase-actions .button { min-height: 44px; margin-top: auto; }
#finance-treasury .treasury-phrase-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: auto; }
#finance-treasury .treasury-phrase > .button:focus-visible, #finance-treasury .treasury-phrase-actions .button:focus-visible { outline: 3px solid var(--blue-dark); outline-offset: 2px; }
#finance-treasury .treasury-calendar > header { display: flex; flex-wrap: wrap; align-items: end; gap: 6px 18px; margin-bottom: 12px; }
#finance-treasury .treasury-calendar > header small { flex: 1 1 320px; color: var(--muted); font-size: 12px; }
#finance-treasury .treasury-month > header .eyebrow { display: block; margin: 0 0 2px; }
@media (max-width: 1050px) { #finance-treasury .treasury-phrases { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 640px) {
  #finance-treasury .treasury-phrases { grid-template-columns: 1fr; }
  #finance-treasury .treasury-phrase { padding: 14px; }
  #finance-treasury .treasury-phrase > .button, #finance-treasury .treasury-phrase-actions .button { width: 100%; justify-content: center; }
  #finance-treasury .treasury-phrase-actions { width: 100%; }
}

/* Cobros y Pagos solo de consulta (07/11/2026): tabla con columnas fijas y el estado en palabras. */
.treasury-consult-note { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin: 0 0 12px; padding: 10px 14px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--thead); }
.treasury-consult-note p { margin: 0; }
.treasury-consult-note .button { min-height: 44px; flex: none; }
.treasury-consult { width: 100%; border-collapse: collapse; background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); overflow: hidden; }
.treasury-consult th { background: var(--thead); color: var(--muted); font-size: 12px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; text-align: left; padding: 8px 12px; border-bottom: 1px solid var(--line); }
.treasury-consult td { padding: 9px 12px; border-bottom: 1px solid var(--line-inner); vertical-align: middle; }
.treasury-consult tbody tr:hover { background: var(--row-hover); }
.treasury-consult td strong { display: block; }
.treasury-consult td small { display: block; color: var(--muted); font-size: 12px; }
.treasury-consult .number { text-align: right; white-space: nowrap; }
.treasury-consult-open { text-align: right; white-space: nowrap; }
.treasury-consult-open .button { min-height: 44px; }
.treasury-consult-open .button:focus-visible, .treasury-consult-note .button:focus-visible { outline: 2px solid var(--green); outline-offset: 2px; }
.treasury-statuses { display: flex; flex-wrap: wrap; gap: 4px; }
.treasury-status { display: inline-block; padding: 2px 8px; border-radius: 999px; font-size: 12px; font-weight: 600; white-space: nowrap; background: var(--line-inner); color: var(--muted); }
.treasury-status small { display: inline; font-size: 11px; font-weight: 500; }
.treasury-status.red { background: var(--red-soft); color: var(--red); }
.treasury-status.amber { background: var(--amber-soft); color: var(--amber); }
.treasury-status.ok { background: var(--green-soft); color: var(--green); }
.treasury-status.info { background: var(--info-soft); color: var(--info); }
@media (max-width: 760px) {
  .treasury-consult-note { flex-direction: column; align-items: stretch; }
  .treasury-consult thead { display: none; }
  .treasury-consult tr { display: grid; grid-template-columns: 1fr auto; gap: 2px 10px; padding: 10px 12px; border-bottom: 1px solid var(--line-inner); }
  .treasury-consult td { padding: 0; border: 0; }
  .treasury-consult td[data-label="Estado"], .treasury-consult td[data-label="Forma de pago"] { grid-column: 1 / -1; }
}
.treasury-conciliar-invoices .treasury-fold .treasury-fold { margin-top: 14px; padding-top: 12px; border-top: 1px solid var(--line-inner); }

/* «Revisar movimiento», «Comprobar remesa y sus facturas» y «Aceptar varias» (Carlos, 07/11/2026: «si bajo el scroll
   desaparece el botón de cerrar»): la cabecera con «Cerrar» y el pie con el botón principal quedan fijos al bajar. */
#match-review .dialog-card { padding-top: 0; padding-bottom: 0; }
#match-review .dialog-card > header { position: sticky; top: 0; z-index: 3; margin: 0 -24px 16px; padding: 18px 24px 14px; background: var(--surface); border-bottom: 1px solid var(--line); }
#match-review .dialog-card > footer { position: sticky; bottom: 0; z-index: 3; margin: 16px -24px 0; padding: 14px 24px 18px; background: var(--surface); border-top: 1px solid var(--line); }
#match-review .dialog-card > header .button, #match-review .dialog-card > footer .button { min-height: 44px; }
#match-review .dialog-card > header .button:focus-visible, #match-review .dialog-card > footer .button:focus-visible { outline: 2px solid var(--green); outline-offset: 2px; }
@media (max-width: 640px) {
  #match-review .dialog-card > header, #match-review .dialog-card > footer { margin-left: -14px; margin-right: -14px; padding-left: 14px; padding-right: 14px; }
}
/* Remesa en un solo paso y «Conciliar y siguiente» (07/11/2026). */
#match-review .remittance-fold { margin: 12px 0; }
#match-review .remittance-fold > summary { min-height: 44px; display: flex; align-items: center; cursor: pointer; color: var(--green); font-weight: 700; }
#match-review .remittance-fold > summary:focus-visible { outline: 2px solid var(--green); outline-offset: 2px; }
#bank-allocation .sheet-footer { flex-wrap: wrap; }
#bank-allocation .sheet-footer [data-next] { min-height: 44px; }
/* Modelos sin factura agrupados por tipo (07/11/2026). */
.treasury-allocation-sheet [data-model-list] { display: block; }
.treasury-allocation-sheet .bank-other-grid { display: flex; flex-wrap: wrap; gap: 6px; margin: 4px 0 8px; }
.treasury-allocation-sheet .bank-other-subtitle { margin: 4px 0 2px; color: var(--muted); font-size: 12px; font-weight: 700; }
.treasury-allocation-sheet .bank-other-group { border-top: 1px solid var(--line-inner); }
.treasury-allocation-sheet .bank-other-group > summary { min-height: 44px; display: flex; align-items: center; gap: 8px; cursor: pointer; font-weight: 700; }
.treasury-allocation-sheet .bank-other-group > summary small { color: var(--muted); font-weight: 600; font-size: 12px; }
.treasury-allocation-sheet .bank-other-group > summary:focus-visible { outline: 2px solid var(--green); outline-offset: 2px; }

/* Bancos › Conciliados (07/11/2026): página propia con indicadores, filtros y tabla. */
.reconciled-head { display: flex; justify-content: space-between; align-items: flex-end; gap: 16px; margin-bottom: 14px; }
.reconciled-head h3 { margin: 2px 0 4px; font-size: 22px; }
.reconciled-head p { margin: 0; color: var(--muted); max-width: 760px; }
.reconciled-head .button { min-height: 44px; flex: none; }
.reconciled-kpis { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; margin-bottom: 12px; }
.reconciled-kpis > div { padding: 12px 14px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface); }
.reconciled-kpis small { display: block; color: var(--muted); font-size: 12px; }
.reconciled-kpis b { font-size: 18px; }
.reconciled-kpis .in, .reconciled-table .in { color: var(--green); }
.reconciled-kpis .out, .reconciled-table .out { color: var(--red); }
.reconciled-filters { display: flex; flex-wrap: wrap; gap: 10px; align-items: flex-end; padding: 10px 12px; margin-bottom: 12px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface); }
.reconciled-filters label { display: flex; flex-direction: column; gap: 4px; font-size: 12px; font-weight: 700; color: var(--muted); }
.reconciled-filters input, .reconciled-filters select { min-height: 44px; padding: 8px 10px; border: 1px solid var(--line-control); border-radius: 8px; font: inherit; font-size: 13px; color: var(--text); background: var(--surface); }
.reconciled-filters .reconciled-search { flex: 1 1 320px; }
.reconciled-filters input:focus-visible, .reconciled-filters select:focus-visible { outline: 2px solid var(--green); outline-offset: 1px; }
.reconciled-table td { vertical-align: top; }
.reconciled-table .reconciled-concept { display: block; overflow-wrap: anywhere; }
.reconciled-table .treasury-status { margin-right: 4px; }
.reconciled-actions { white-space: nowrap; text-align: right; }
.reconciled-actions .button { min-height: 44px; }
.reconciled-detail td { background: var(--thead); }
.reconciled-detail ul { margin: 0 0 6px; padding-left: 18px; }
.reconciled-detail p { margin: 0; color: var(--muted); font-size: 12px; }
.reconciled-loading { color: var(--muted); font-size: 13px; }
.bank-review-done-link { margin: 16px 0 0; }
@media (max-width: 900px) {
  .reconciled-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .reconciled-head { flex-direction: column; align-items: stretch; }
}
/* «Recordar para los próximos» en «Sin factura» (07/11/2026). */
.treasury-allocation-sheet .bank-other-remember { display: flex; align-items: flex-start; gap: 8px; margin: 6px 0 10px; padding: 8px 10px; border: 1px solid var(--line-inner); border-radius: 8px; background: var(--thead); font-size: 13px; font-weight: 600; }
.treasury-allocation-sheet .bank-other-remember input[type=checkbox] { width: 20px; height: 20px; margin-top: 2px; flex: none; }
.treasury-allocation-sheet .bank-other-remember input[type=text] { display: inline-block; width: min(100%, 360px); min-height: 32px; margin: 4px 0 0; padding: 4px 8px; font-size: 13px; }
.treasury-allocation-sheet .bank-other-remember small { display: block; margin-top: 4px; color: var(--muted); font-size: 12px; font-weight: 500; }
