/* cod- 10-08-2026: diseño responsive e impresión A4 del Reporte de Cuentas por Cobrar v1. */
.receivables-report-page { display: grid; gap: 1rem; color: #172433; }
.receivables-report-page-header { display: flex; align-items: end; justify-content: space-between; gap: 1rem; }
.receivables-report-page-header p { margin: 0 0 .2rem; color: #cf2634; font-size: .75rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.receivables-report-page-header h1 { margin: 0; color: #10293f; font-size: clamp(1.55rem, 3vw, 2.15rem); }
.receivables-report-page-header span { color: #637180; }
.receivables-report-page button { border: 0; border-radius: 8px; padding: .67rem 1rem; background: #153b5a; color: #fff; font-weight: 700; cursor: pointer; }
.receivables-report-page button:disabled { opacity: .55; cursor: default; }
.receivables-report-filters, .receivables-report-print, .receivables-report-state { border: 1px solid #dfe5ea; border-radius: 12px; background: #fff; box-shadow: 0 6px 20px rgb(20 45 65 / 5%); }
.receivables-report-filters { padding: 1rem; }
.receivables-report-quick { display: flex; flex-wrap: wrap; gap: .4rem; margin-bottom: .8rem; }
.receivables-report-quick button { padding: .48rem .8rem; background: #edf2f6; color: #28445c; }
.receivables-report-quick button.active { background: #c92333; color: #fff; }
.receivables-report-filter-grid { display: grid; grid-template-columns: repeat(6, minmax(125px, 1fr)); align-items: end; gap: .7rem; }
.receivables-report-filter-grid label { display: grid; gap: .3rem; min-width: 0; color: #536576; font-size: .75rem; font-weight: 750; }
.receivables-report-filter-grid input, .receivables-report-filter-grid select { min-width: 0; height: 40px; border: 1px solid #cfd8df; border-radius: 7px; padding: 0 .65rem; background: #fff; color: #172433; }
.receivables-report-search { grid-column: span 2; }
.receivables-report-error { margin-top: .75rem; padding: .65rem .8rem; border-radius: 7px; background: #fff0f1; color: #ad1f2c; }
.receivables-report-state { display: grid; place-items: center; min-height: 150px; padding: 1rem; color: #637180; }
.receivables-report-state.denied { color: #ad1f2c; }
.receivables-report-print { padding: 1.15rem; overflow: hidden; }
.receivables-report-print-header { display: grid; grid-template-columns: minmax(210px, .8fr) 2fr; gap: .55rem 1.5rem; padding-bottom: .9rem; border-bottom: 2px solid #173a57; }
.receivables-report-brand strong { color: #c92333; font-size: .72rem; letter-spacing: .12em; }
.receivables-report-brand h1 { margin: .12rem 0 0; color: #10293f; font-size: 1.3rem; }
.receivables-report-meta { display: grid; grid-template-columns: repeat(4, minmax(100px, 1fr)); gap: .45rem 1rem; margin: 0; }
.receivables-report-meta dt { color: #778593; font-size: .62rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.receivables-report-meta dd { margin: .06rem 0 0; color: #1c3449; font-size: .78rem; font-weight: 750; }
.receivables-report-print-header > small { grid-column: 1 / -1; color: #687887; }
.receivables-report-print h2 { margin: 1.15rem 0 .45rem; padding-bottom: .3rem; border-bottom: 1px solid #cdd7de; color: #375268; font-size: .72rem; letter-spacing: .1em; text-transform: uppercase; }
.receivables-report-summary { display: grid; grid-template-columns: repeat(6, minmax(135px, 1fr)); overflow-x: auto; border-top: 1px solid #d9e0e5; }
.receivables-report-summary > div, .receivables-report-aging > div { display: grid; gap: .18rem; min-height: 70px; padding: .68rem .72rem; border-bottom: 1px solid #e3e8ec; }
.receivables-report-summary span, .receivables-report-aging span { color: #71808e; font-size: .65rem; font-weight: 750; text-transform: uppercase; }
.receivables-report-summary b, .receivables-report-aging b { color: #173a57; font-size: 1rem; }
.receivables-report-summary .balance b { color: #b52632; }
.receivables-report-summary .period-payment b { color: #087a61; }
.receivables-report-aging { display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid #d9e0e5; }
.receivables-report-aging small { color: #71808e; }
.receivables-report-scope-note, .receivables-report-equation { margin: .5rem 0 0; padding: .55rem .7rem; background: #f7f9fa; color: #667887; font-size: .74rem; }
.receivables-report-table-wrap { max-width: 100%; overflow-x: auto; }
.receivables-report-print table { width: 100%; border-collapse: collapse; font-size: .75rem; }
.receivables-report-print th { padding: .55rem .48rem; border-block: 1px solid #aab8c3; background: #f3f6f8; color: #516475; font-size: .61rem; letter-spacing: .035em; text-align: left; text-transform: uppercase; white-space: nowrap; }
.receivables-report-print td { padding: .55rem .48rem; border-bottom: 1px solid #e2e7eb; vertical-align: top; }
.receivables-report-print .money { text-align: right; white-space: nowrap; }
.receivables-report-print .returned { color: #a72734; }
.receivables-report-print .key-value { color: #0b604e; }
.receivables-report-customers { min-width: 620px; }
.receivables-report-main { min-width: 1380px; }
.receivables-report-status { display: inline-block; border-radius: 999px; padding: .2rem .42rem; font-size: .65rem; font-weight: 750; white-space: nowrap; }
.receivables-report-status.pending { background: #fff1d9; color: #8b5b00; }
.receivables-report-status.partial { background: #e7f0f7; color: #24577b; }
.receivables-report-status.paid { background: #e3f4ee; color: #087054; }
.receivables-report-status.cancelled { background: #fde8ea; color: #a51f2d; }
.receivables-report-main tr.cancelled { color: #78838d; background: #fffafb; }
.receivables-report-actions { text-align: center; }
.receivables-report-actions a { color: #174b70; font-weight: 750; white-space: nowrap; }
.receivables-report-empty { padding: .7rem; border-bottom: 1px solid #e1e7eb; color: #687887; }

@media (max-width: 1100px) {
    .receivables-report-filter-grid { grid-template-columns: repeat(3, minmax(130px, 1fr)); }
    .receivables-report-summary { grid-template-columns: repeat(3, minmax(150px, 1fr)); }
    .receivables-report-meta { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 600px) {
    .receivables-report-page-header { align-items: stretch; flex-direction: column; }
    .receivables-report-page-header button { width: 100%; }
    .receivables-report-filters, .receivables-report-print { padding: .72rem; }
    .receivables-report-filter-grid { grid-template-columns: 1fr; }
    .receivables-report-search { grid-column: auto; }
    .receivables-report-filter-grid > button { width: 100%; }
    .receivables-report-print-header { grid-template-columns: 1fr; }
    .receivables-report-meta { grid-template-columns: 1fr 1fr; }
    .receivables-report-summary, .receivables-report-aging { grid-template-columns: 1fr; overflow: visible; }
}

@media print {
    @page receivables-report { size: A4 landscape; margin: 8mm; }
    html, body { width: auto !important; height: auto !important; min-height: 0 !important; margin: 0 !important; padding: 0 !important; overflow: visible !important; background: #fff !important; }
    body:has(.receivables-report-print) *:not(.receivables-report-print):not(.receivables-report-print *):not(:has(.receivables-report-print)) { display: none !important; }
    body:has(.receivables-report-print) *:has(.receivables-report-print) { display: contents !important; position: static !important; inset: auto !important; width: auto !important; height: auto !important; min-height: 0 !important; max-height: none !important; margin: 0 !important; padding: 0 !important; overflow: visible !important; background: transparent !important; box-shadow: none !important; }
    .receivables-report-print { page: receivables-report; display: block !important; position: static !important; width: 100% !important; max-width: none !important; margin: 0 !important; padding: 0 !important; border: 0 !important; border-radius: 0 !important; overflow: visible !important; box-shadow: none !important; font-size: 7pt !important; }
    .receivables-report-print-header { grid-template-columns: .8fr 2.4fr !important; gap: 2mm 7mm !important; padding-bottom: 3mm !important; }
    .receivables-report-meta { grid-template-columns: repeat(4, 1fr) !important; }
    .receivables-report-print h2 { margin: 4mm 0 1mm !important; padding-bottom: 1mm !important; font-size: 6.5pt !important; break-after: avoid; }
    .receivables-report-summary { grid-template-columns: repeat(6, 1fr) !important; overflow: visible !important; }
    .receivables-report-aging { grid-template-columns: repeat(4, 1fr) !important; }
    .receivables-report-summary > div, .receivables-report-aging > div { min-height: 0 !important; padding: 1.6mm !important; background: #fff !important; }
    .receivables-report-summary span, .receivables-report-aging span { font-size: 4.8pt !important; }
    .receivables-report-summary b, .receivables-report-aging b { font-size: 7.2pt !important; }
    .receivables-report-table-wrap { overflow: visible !important; }
    .receivables-report-print table { min-width: 0 !important; font-size: 5.3pt !important; }
    .receivables-report-print thead { display: table-header-group; }
    .receivables-report-print th, .receivables-report-print td { padding: .95mm !important; }
    .receivables-report-print th { background: #fff !important; font-size: 4.5pt !important; }
    .receivables-report-print tr, .receivables-report-print-header, .receivables-report-summary > div, .receivables-report-aging > div { break-inside: avoid; page-break-inside: avoid; }
    .receivables-report-actions { display: none !important; }
    .receivables-report-status { padding: 0 !important; background: #fff !important; color: #111 !important; }
}
