/* // cod- 13-08-2026: Diseño responsive para saldos, abonos y anulaciones auditables. */
.receivables-page{max-width:1400px;margin:auto;color:#17324d}.receivables-page>header p{margin:0;color:#df263b;font-size:.72rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.receivables-page h1{margin:.1rem 0;font-size:2.4rem}.receivables-page header span{color:#748095}.receivable-search{display:flex;gap:.6rem;margin:1rem 0}.receivable-search input{flex:1}.receivable-search input,.receivable-modal input,.receivable-modal select,.receivable-modal textarea{min-height:42px;padding:.55rem .7rem;border:1px solid #d8e0e8;border-radius:9px}.receivable-search button,.receivable-grid button,.receivable-modal button{padding:.65rem 1rem;border:0;border-radius:9px;background:#0d3153;color:#fff;font-weight:750}.receivable-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.8rem}.receivable-grid article{padding:1rem;background:#fff;border:1px solid #e0e6ed;border-radius:14px}.receivable-grid article>header,.receivable-modal header,.receivable-modal footer,.current-balance{display:flex;justify-content:space-between}.receivable-grid h2{margin:.7rem 0 .1rem}.receivable-grid dl div{display:flex;justify-content:space-between;margin:.35rem 0}.receivable-grid .balance{padding-top:.5rem;border-top:1px solid #e6ebf0;color:#b51f34;font-weight:800}.receivable-grid button{width:100%;background:#df263b}.receivable-state,.receivable-message{padding:1rem;border-radius:12px;background:#fff}.receivable-message.success{background:#e8f7ed;color:#17643b}.receivable-message.error,.receivable-state.error{background:#fff0f2;color:#a82032}.receivable-modal-bg{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:1rem;background:#051626a3}.receivable-modal{width:min(480px,100%);padding:1rem;background:#fff;border-radius:16px;display:flex;flex-direction:column;gap:.8rem}.receivable-modal header button{padding:0;background:none;color:#667;font-size:1.5rem}.receivable-modal label{display:flex;flex-direction:column;gap:.3rem;font-size:.75rem;font-weight:800;text-transform:uppercase}.receivable-modal footer{justify-content:flex-end;gap:.5rem}.receivable-modal .secondary{background:#eef2f6;color:#29425d}
.payment-history{margin-top:1.2rem;border:1px solid #e0e6ed;border-radius:14px;background:#fff;overflow:hidden}.payment-history>header{display:flex;align-items:center;justify-content:space-between;padding:1rem;border-bottom:1px solid #e8edf2}.payment-history>header p{margin:0;color:#df263b;font-size:.65rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.payment-history h2{margin:.15rem 0 0;font-size:1.15rem}.payment-history>header>span{color:#8490a0;font-size:.7rem}.payment-table-wrap{overflow-x:auto}.payment-history table{width:100%;border-collapse:collapse}.payment-history th{padding:.7rem;color:#718095;background:#f7f9fb;font-size:.62rem;text-align:left;text-transform:uppercase;white-space:nowrap}.payment-history td{padding:.75rem;border-top:1px solid #edf1f4;color:#405166;font-size:.7rem;vertical-align:top}.payment-history tr.cancelled{background:#fcf8f8}.payment-history td small{display:block;max-width:220px;margin-top:.35rem;color:#8b6b72;font-size:.62rem}.payment-status{display:inline-flex;padding:.3rem .5rem;border-radius:99px;font-size:.61rem;font-weight:850}.payment-status.active{color:#176b4b;background:#e9f7f0}.payment-status.cancelled{color:#a12836;background:#fff0f2}.cancellation-modal{max-height:calc(100vh - 2rem);max-height:calc(100dvh - 2rem);overflow-y:auto}.cancellation-modal>header{position:sticky;top:-1rem;z-index:1;padding:.8rem 0;background:#fff;border-bottom:1px solid #edf0f3}.cancellation-modal header small{color:#df263b;font-size:.62rem;font-weight:800;text-transform:uppercase}.cancellation-summary{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}.cancellation-summary span{display:grid;gap:.15rem;padding:.65rem;border-radius:8px;color:#7a8797;background:#f5f7f9;font-size:.65rem}.cancellation-summary b{color:#30465e;font-size:.72rem}.cancellation-modal label em{color:#df263b}.cancellation-modal footer{position:sticky;bottom:-1rem;padding:.8rem 0;background:#fff;border-top:1px solid #edf0f3}.cancellation-modal .danger{background:#df263b}

/* cod- 08-09-2026: Reutiliza la geometría de filtros del Reporte de ventas y añade paginación compacta. */
.payment-history-filters{--report-red:#c92d3e;border:0;border-bottom:1px solid #e8edf2;border-radius:0}.payment-history-filters .history-search{grid-column:span 2}.payment-history-filters .sales-report-filter-grid button.history-clear{border:1px solid #d5dde5;background:#edf1f5;color:#405369}.payment-history-pagination{display:flex;align-items:center;justify-content:center;gap:.75rem;padding:.8rem;border-top:1px solid #e8edf2;color:#657387;font-size:.72rem;font-weight:750}.payment-history-pagination button{padding:.5rem .75rem;border:0;border-radius:7px;background:#0d3153;color:#fff;font-weight:750}.payment-history-pagination button:disabled{background:#edf1f5;color:#9aa5b2;cursor:not-allowed}

/* cod- 28-08-2026: Anular abono con el estilo compacto de acciones administrativas. */
.payment-history .cancel-payment {
    appearance: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 29px;
    padding: .3rem .65rem;
    border: 1px solid #a12836;
    border-radius: 7px;
    background: #fff;
    color: #a12836;
    font-family: inherit;
    font-size: .66rem;
    font-weight: 750;
    line-height: 1.2;
    cursor: pointer;
}

.payment-history .cancel-payment:hover {
    background: #fff0f2;
}

.payment-history .cancel-payment:focus-visible {
    outline: 2px solid #a12836;
    outline-offset: 2px;
}
@media(max-width:900px){.receivable-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.payment-table-wrap{overflow:visible}.payment-history table,.payment-history tbody,.payment-history tr,.payment-history td{display:block;width:100%}.payment-history thead{display:none}.payment-history tbody{display:grid;gap:.65rem;padding:.7rem}.payment-history tr{padding:.65rem;border:1px solid #e4e9ef;border-radius:10px}.payment-history td{display:flex;justify-content:space-between;gap:1rem;padding:.35rem 0;border:0;text-align:right}.payment-history td:before{color:#8290a1;content:attr(data-label);font-size:.61rem;font-weight:800;text-align:left;text-transform:uppercase}.payment-history td small{max-width:60%;margin:0}.cancellation-summary{grid-template-columns:1fr}}
@media(max-width:520px){.receivable-grid{grid-template-columns:1fr}.receivable-search{display:grid}.receivable-modal footer{display:grid;grid-template-columns:1fr 1fr}.cancellation-modal{max-height:calc(100vh - 1rem);max-height:calc(100dvh - 1rem)}.cancellation-modal footer{grid-template-columns:1fr}.cancellation-modal footer button{width:100%}}
@media(max-width:600px){.payment-history-filters .history-search{grid-column:1/-1}.payment-history-pagination{justify-content:space-between;gap:.35rem}.payment-history-pagination button{padding:.5rem .6rem}}

/* // cod- 14-08-2026: Estados, artículos y modales responsive del ciclo de Apartados v2. */
.receivable-search select{min-height:42px;padding:.55rem .7rem;border:1px solid #d8e0e8;border-radius:9px;background:#fff}.receivable-grid{align-items:start}.receivable-modal{max-height:calc(100vh - 2rem);max-height:calc(100dvh - 2rem);overflow-y:auto}.receivable-modal>header{position:sticky;top:-1rem;z-index:2;padding:.8rem 0;background:#fff;border-bottom:1px solid #edf0f3}.receivable-modal>footer{position:sticky;bottom:-1rem;z-index:2;padding:.8rem 0;background:#fff;border-top:1px solid #edf0f3}.receivable-modal header small{color:#df263b;font-size:.62rem;font-weight:800;text-transform:uppercase}.receivable-title{display:flex;align-items:flex-start;justify-content:space-between;gap:.65rem}.layaway-status{display:inline-flex;max-width:52%;padding:.35rem .55rem;border-radius:99px;font-size:.56rem;font-weight:850;line-height:1.25;text-align:center}.layaway-status.active{color:#176b4b;background:#e9f7f0}.layaway-status.paid{color:#1f5d91;background:#eaf3fb}.layaway-status.delivered{color:#175b49;background:#e1f5ed}.layaway-status.expired{color:#a12836;background:#fff0f2}.layaway-card.paid{border-color:#b9d6ec}.layaway-card.delivered{border-color:#b8dfcf}.layaway-card.expired{border-color:#edc9cf}.layaway-due{display:flex;justify-content:space-between;margin:.75rem 0;padding:.55rem .65rem;border-radius:8px;color:#52677d;background:#f4f7fa;font-size:.69rem}.expiration-alert{margin:.55rem 0;padding:.55rem .65rem;border-radius:8px;font-size:.67rem;font-weight:750}.expiration-alert.warning{color:#815b16;background:#fff6df}.expiration-alert.expired{color:#9c2634;background:#fff0f2}.layaway-articles{margin:.75rem 0;padding:.7rem;border:1px solid #e2e8ef;border-radius:10px;background:#fafbfd}.layaway-articles h3{margin:0 0 .5rem;color:#263d56;font-size:.69rem}.layaway-article{display:flex;flex-wrap:wrap;gap:.45rem}.layaway-article+.layaway-article{margin-top:.55rem;padding-top:.55rem;border-top:1px solid #e6ebf0}.layaway-article span{display:grid;min-width:58px;gap:.1rem}.layaway-article small{color:#8a96a5;font-size:.54rem;text-transform:uppercase}.layaway-article b{color:#344b62;font-size:.66rem}.receivable-grid button.deliver,.receivable-modal button.deliver{background:#176b4b}.receivable-grid button.cancel-expired,.receivable-modal button.danger{background:#c52639}.layaway-audit{display:grid;gap:.2rem;margin:.7rem 0;padding:.65rem;border-radius:9px;color:#176b4b;background:#e9f7f0;font-size:.64rem}.layaway-audit.cancelled{color:#8e2c37;background:#fff0f2}.layaway-audit small{font-size:.6rem}.lifecycle-modal{width:min(650px,100%);padding-bottom:0}.lifecycle-body{display:grid;gap:.75rem}.lifecycle-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem}.lifecycle-summary span{display:grid;gap:.15rem;padding:.65rem;border-radius:8px;color:#7a8797;background:#f5f7f9;font-size:.62rem}.lifecycle-summary b{color:#30465e;font-size:.7rem}.lifecycle-confirmation,.non-refundable-note{margin:0;padding:.7rem;border-radius:8px;color:#355b7c;background:#f0f6fb;font-size:.7rem}.non-refundable-note{color:#765321;background:#fff7e7}.lifecycle-modal label em{color:#df263b}
@media(max-width:760px){.receivable-search{flex-wrap:wrap}.receivable-search select{flex:1 1 230px}.lifecycle-summary{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.receivable-modal{max-height:calc(100vh - 1rem);max-height:calc(100dvh - 1rem)}.receivable-title{display:grid}.layaway-status{max-width:100%}.lifecycle-summary{grid-template-columns:1fr}.lifecycle-modal footer{grid-template-columns:1fr}.lifecycle-modal footer button{width:100%}}

/* // cod- 14-08-2026: Acciones y advertencias diferenciadas para las tres clases de reversión. */
.receivable-actions{display:grid;gap:.45rem}.receivable-grid button.cancel-error{color:#9b2938;background:#fff0f2;border:1px solid #efc4ca}.operation-scope-note{margin:0;padding:.7rem;border-radius:8px;color:#355b7c;background:#f0f6fb;font-size:.7rem;line-height:1.45}.operation-scope-note.danger-note{color:#8e2c37;background:#fff0f2;border:1px solid #f0cbd0}
/* // cod- 14-08-2026: El pie del modal integral permanece completamente dentro del viewport. */
.lifecycle-modal.cancellation-modal>footer{bottom:0}

/* // cod- 14-08-2026: Operaciones en tabla compacta; cada fila se convierte en tarjeta breve a 390 px. */
.receivable-exact-filter{display:flex;align-items:center;justify-content:space-between;margin:-.45rem 0 .7rem;padding:.5rem .7rem;border-radius:8px;color:#234c70;background:#edf4fa;font-size:.72rem;font-weight:750}.receivable-exact-filter button{border:0;background:transparent;color:#b82336;font-weight:750}.receivable-table-wrap{overflow:auto;border:1px solid #e0e6ed;border-radius:13px;background:#fff}.receivable-table{width:100%;border-collapse:collapse}.receivable-table th{padding:.62rem .68rem;color:#67768a;background:#f4f7fa;font-size:.61rem;text-align:left;text-transform:uppercase;white-space:nowrap}.receivable-table td{padding:.62rem .68rem;border-top:1px solid #edf1f4;color:#405166;font-size:.7rem;vertical-align:middle}.receivable-table td>small{display:block;color:#8793a2;font-size:.6rem}.receivable-table .money{white-space:nowrap;text-align:right}.receivable-table .balance{color:#ae2538;font-weight:800}.receivable-table tr.expired{background:#fffafa}.receivable-table .layaway-status{max-width:170px}.receivable-table .row-alert{max-width:170px;margin-top:.25rem;color:#a06812}.receivable-actions{display:flex;align-items:center;gap:.28rem;white-space:nowrap}.receivable-actions button,.receivable-actions a{display:inline-flex;align-items:center;height:29px;width:auto!important;padding:0 .48rem!important;border:0;border-radius:7px;background:#0d3153;color:#fff;font-size:.62rem;font-weight:750;text-decoration:none}.receivable-actions a{color:#174d78;background:#eaf2f8}.receivable-actions .secondary{color:#344861;background:#fff;border:1px solid #d4dde6}.receivable-actions .deliver{background:#176b4b}.receivable-actions .cancel-expired{background:#c52639}.receivable-actions .cancel-error{color:#9b2938;background:#fff0f2;border:1px solid #efc4ca}
@media(max-width:760px){.receivable-table-wrap{overflow:visible;border:0;background:transparent}.receivable-table,.receivable-table tbody,.receivable-table tr,.receivable-table td{display:block;width:100%}.receivable-table thead{display:none}.receivable-table tbody{display:grid;gap:.6rem}.receivable-table tr{padding:.68rem;border:1px solid #e0e6ed;border-radius:11px;background:#fff}.receivable-table td{display:flex;align-items:center;justify-content:space-between;gap:.7rem;padding:.24rem 0;border:0;text-align:right}.receivable-table td:before{content:attr(data-label);color:#8490a0;font-size:.58rem;font-weight:800;text-align:left;text-transform:uppercase}.receivable-table td[data-label="Fecha"],.receivable-table td[data-label="Tipo"],.receivable-table td[data-label="Abonado"],.receivable-table td[data-label="Vencimiento"]{display:none}.receivable-table td[data-label="Cliente"] strong{max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.receivable-table .money{text-align:right}.receivable-table .layaway-status{max-width:210px}.receivable-actions{justify-content:flex-end;flex-wrap:wrap;white-space:normal}}
