/* Reclamaciones de cobro y órdenes de pago (2026-10-12). */
.automation-section { margin-bottom: 1rem; }
.automation-section header span { display: inline-flex; gap: .5rem; align-items: center; }
.automation-section details { margin-top: .75rem; }
.automation-section details ul, .automation-reminder ul { margin: .35rem 0 0; padding-left: 1.1rem; }
.automation-list { display: grid; gap: .5rem; }
.automation-reminder { display: grid; grid-template-columns: minmax(7rem, auto) minmax(10rem, 1.2fr) 3fr auto; gap: .5rem .9rem; align-items: start; padding: .7rem .2rem; border-top: 1px solid var(--line); }
.automation-reminder > span:first-child { display: inline-flex; gap: .45rem; align-items: center; }
.automation-reminder .treasury-row-actions { grid-column: 1 / -1; display: flex; flex-wrap: wrap; gap: .4rem; }
/* El ancho va en el <dialog>, nunca en la tarjeta: .automation-dialog mide 660 px (app.css) y una tarjeta más ancha
   se recortaba por la derecha. Solo en escritorio; hasta 720 px el diálogo ya ocupa la pantalla entera. */
@media (min-width: 721px) { dialog#reminder-editor, dialog#payment-order-builder, dialog#payment-order-detail, dialog#payment-order-match { width: min(96vw, 60rem); } }
.automation-dialog label { display: grid; gap: .25rem; margin: .5rem 0; }
.automation-dialog label.check-line, .automation-dialog label.match-choice { display: flex; gap: .5rem; align-items: baseline; }
.automation-dialog textarea, .automation-dialog input[type=text] { width: 100%; }
/* Las casillas no heredan el «input { width: 100%; min-height: 48px }» general. */
#payment-order-builder .match-choice input, #payment-order-match .match-choice input, #reminder-exclude .match-choice input, #payment-order-detail .check-line input, .automation-reminder input[type=checkbox] { width: 22px; height: 22px; min-height: 0; margin: 0; flex-shrink: 0; }
.automation-dialog .match-choice > span { flex: 1; min-width: 0; }
#payment-order-builder .finance-chips { align-items: end; }
.automation-dialog footer { display: flex; flex-wrap: wrap; gap: .6rem; align-items: end; justify-content: flex-end; }
.automation-payee { margin: .6rem 0; padding: .5rem .8rem; border: 1px solid var(--line); border-radius: 6px; }
.automation-table { overflow-x: auto; }
.automation-table table { width: 100%; border-collapse: collapse; }
.automation-table th, .automation-table td { padding: .35rem .5rem; border-bottom: 1px solid var(--line); text-align: left; vertical-align: top; }
.automation-table td.number { text-align: right; white-space: nowrap; }
.automation-level { margin: .6rem 0; padding: .6rem .8rem; border: 1px solid var(--line); border-radius: 6px; display: grid; gap: .4rem; }
.automation-level textarea { width: 100%; font-family: inherit; }
.automation-variables { margin: .5rem 0 0; padding-left: 1.1rem; font-size: .9em; }
@media (max-width: 760px) { .automation-reminder { grid-template-columns: 1fr; } }
/* Pagos por transferencia (2026-10-15): fecha de pago en la lista de pagos y en la orden; vencida en rojo. */
.treasury-transfer-overdue { color: var(--red); }
.treasury-transfer-soon { color: var(--amber); }
.configuration-supplier-payments select { min-width: 15.5rem; margin-top: 0; }
.configuration-supplier-payments summary { cursor: pointer; font-weight: 650; margin: .75rem 0 .25rem; }
@media (max-width: 600px) {
  .configuration-supplier-payments thead { display: none; }
  .configuration-supplier-payments tr { display: grid; grid-template-columns: auto 1fr auto; gap: .2rem .6rem; padding: .45rem 0; border-bottom: 1px solid var(--line); }
  .configuration-supplier-payments th, .configuration-supplier-payments td { border: 0; padding: .1rem; }
  .configuration-supplier-payments td:last-child { grid-column: 1 / -1; }
  .configuration-supplier-payments select { min-width: 0; width: 100%; }
}
/* Forma de pago del proveedor pendiente de escribir en Factusol (ficha del proveedor, 2026-10-16). */
.supplier-payment-pending{display:block;margin-top:2px;color:var(--amber);font-weight:700}
/* Último cambio de forma de pago pasado a Factusol: quién y cuándo (ficha del proveedor, 2026-10-16). */
.supplier-payment-last-change{display:block;margin-top:2px;color:var(--muted)}
/* Preparar orden de pago (2026-10-18): los beneficiarios sin IBAN confirmado se pliegan al final, más tenues. */
#payment-order-builder [data-builder-status] .treasury-note { margin: 0 0 .75rem; align-items: center; flex-wrap: wrap; }
#payment-order-builder [data-builder-status] .treasury-note span { flex: 1 1 18rem; }
#payment-order-builder .automation-blocked { margin: .75rem 0; padding: .6rem .8rem; border: 1px dashed var(--line); border-radius: 8px; background: var(--soft); }
#payment-order-builder .automation-blocked > summary { cursor: pointer; color: var(--text); }
#payment-order-builder .automation-blocked > p { margin: .5rem 0; color: var(--muted); font-size: 13px; }
#payment-order-builder .automation-payee.blocked { background: var(--surface); }
#payment-order-builder .automation-payee.blocked .match-choice { opacity: .7; }
#payment-order-builder [data-error]:not(:empty) { color: var(--amber, var(--red)); font-weight: 700; }
#treasury-payment-orders > header > span { flex-shrink: 0; }
#treasury-payment-orders > header .button { white-space: nowrap; }
#payment-order-builder .finance-chips label { display: grid; gap: .25rem; margin: 0; }
#payment-order-builder .finance-chips span { padding: 0; border-radius: 0; background: none; color: inherit; font-size: inherit; }
#payment-order-builder .automation-mark-note { margin: 0 0 .5rem; color: var(--amber, var(--red)); font-weight: 700; }
#payment-order-builder .automation-mark-note:empty { display: none; }
/* Órdenes anuladas plegadas al final de la lista (2026-10-18). */
.treasury-orders-cancelled { margin-top: 10px; }
.treasury-orders-cancelled > summary { cursor: pointer; color: var(--muted); font-size: 13px; font-weight: 700; padding: 6px 0; }
/* «Ya está cobrada» en «No reclamar» (2026-10-19): el texto a lo ancho y los botones debajo, que con varias facturas no caben en fila. */
#reminder-exclude .automation-paid { flex-wrap: wrap; align-items: center; margin: .5rem 0 1rem; }
#reminder-exclude .automation-paid > span:not(.treasury-row-actions) { flex: 1 1 18rem; }
#reminder-exclude .automation-paid .treasury-row-actions { flex-basis: 100%; display: flex; flex-wrap: wrap; gap: .4rem; }
#reminder-exclude label.match-choice { align-items: center; }
