.print-only { display: none; }

.fund-filter {
    height: 38px; min-width: 210px; max-width: 300px; padding: 0 10px;
    border: 1px solid #d1dce9; border-radius: 8px; background: #fff;
    color: #31445b; font: inherit; font-size: 12px; font-weight: 700;
}

@media print {
    @page { size: A4 portrait; margin: 9mm 10mm 10mm; }

    html, body {
        width: 100% !important; min-width: 0 !important; margin: 0 !important; padding: 0 !important;
        background: #fff !important; color: #16283e !important;
        -webkit-print-color-adjust: exact !important; print-color-adjust: exact !important;
    }

    body * { visibility: hidden !important; }
    .bank-recon-print-sheet, .bank-recon-print-sheet * { visibility: visible !important; }

    body:has(.bank-recon-print-sheet),
    body:has(.bank-recon-print-sheet) .erp-shell,
    body:has(.bank-recon-print-sheet) .erp-main-content,
    body:has(.bank-recon-print-sheet) .erp-page-content,
    body:has(.bank-recon-print-sheet) .tab-workspace,
    body:has(.bank-recon-print-sheet) .tab-page-frame.active,
    body:has(.bank-recon-print-sheet) .recon-page {
        display: block !important; width: 100% !important; min-width: 0 !important; min-height: 0 !important;
        height: auto !important; margin: 0 !important; padding: 0 !important; overflow: visible !important;
        background: #fff !important;
    }
    body:has(.bank-recon-print-sheet) .erp-desktop-frame,
    body:has(.bank-recon-print-sheet) .tab-page-frame:not(.active),
    body:has(.bank-recon-print-sheet) .recon-page > :not(.bank-recon-print-sheet) { display: none !important; }

    .bank-recon-print-sheet {
        position: static !important; display: block !important; box-sizing: border-box !important;
        width: 190mm !important; max-width: 100% !important; min-height: 0 !important; height: auto !important;
        margin: 0 auto !important; padding: 0 !important; overflow: visible !important;
        background: #fff !important; color: #16283e !important;
        font-family: "Segoe UI", Tahoma, Arial, sans-serif !important;
        font-size: 8pt !important; line-height: 1.3 !important;
    }

    .bank-print-letterhead {
        display: grid !important; grid-template-columns: 1fr 30mm 1fr !important;
        align-items: center !important; gap: 4mm !important; min-height: 20mm !important;
    }

    .bank-print-company {
        display: flex !important; flex-direction: column !important; gap: .7mm !important; color: #27415f !important;
    }
    .bank-print-company strong { color: #102d50 !important; font-size: 11pt !important; font-weight: 800 !important; }
    .bank-print-company span { font-size: 7.2pt !important; }
    .secondary-company { text-align: left !important; align-items: flex-start !important; }
    [dir="rtl"] .secondary-company { justify-self: end !important; }

    .bank-print-logo-wrap {
        display: flex !important; flex-direction: column !important; align-items: center !important;
        justify-content: center !important; gap: 1mm !important; text-align: center !important;
    }
    .bank-print-logo-wrap img { display: block !important; max-width: 29mm !important; max-height: 17mm !important; object-fit: contain !important; }
    .bank-print-logo-wrap small { max-width: 42mm !important; color: #60728a !important; font-size: 6.5pt !important; }

    .bank-print-rule {
        height: 1.2mm !important; margin: 2mm 0 3mm !important;
        border-top: .55mm solid #163f70 !important; border-bottom: .2mm solid #8eabc9 !important;
    }

    .bank-print-title {
        display: grid !important; grid-template-columns: 32mm 1fr 32mm !important;
        align-items: center !important; gap: 3mm !important; margin-bottom: 3mm !important; text-align: center !important;
    }
    .bank-print-title h1 { margin: .4mm 0 !important; color: #102f55 !important; font-size: 16pt !important; line-height: 1.15 !important; }
    .bank-print-title p, .bank-print-title small { margin: 0 !important; color: #60738a !important; font-size: 7.5pt !important; }

    .bank-print-reference, .bank-print-status {
        display: flex !important; flex-direction: column !important; gap: 1mm !important; padding: 2.2mm !important;
        border: .25mm solid #bdcad9 !important; border-radius: 2mm !important; background: #f7f9fc !important;
    }
    .bank-print-reference span, .bank-print-status span { color: #697a8f !important; font-size: 6.7pt !important; }
    .bank-print-reference strong, .bank-print-status strong { color: #173b66 !important; font-size: 8.6pt !important; }
    .bank-print-status.final { border-color: #86c5ad !important; background: #eaf7f1 !important; }
    .bank-print-status.final strong { color: #086a48 !important; }

    .bank-print-identity {
        display: grid !important; grid-template-columns: 1.25fr .8fr 1.15fr .9fr .8fr !important;
        margin-bottom: 3mm !important; border: .25mm solid #aebed0 !important;
        border-radius: 2mm !important; overflow: hidden !important; break-inside: avoid !important;
    }
    .bank-print-identity > div {
        display: flex !important; flex-direction: column !important; gap: .8mm !important; min-height: 11mm !important;
        padding: 2mm 2.5mm !important; border-inline-end: .2mm solid #d4dde7 !important; background: #fff !important;
    }
    .bank-print-identity > div:last-child { border-inline-end: 0 !important; }
    .bank-print-identity span, .bank-print-balances span, .bank-print-totals span { color: #68798d !important; font-size: 6.8pt !important; }
    .bank-print-identity strong { color: #142e4c !important; font-size: 8.3pt !important; }

    .bank-print-balances {
        display: grid !important; grid-template-columns: repeat(3, 1fr) !important;
        gap: 2mm !important; margin-bottom: 3.5mm !important; break-inside: avoid !important;
    }
    .bank-print-balances > div {
        display: flex !important; flex-direction: column !important; gap: 1.1mm !important; min-height: 13mm !important;
        padding: 2mm 2.4mm !important; border: .25mm solid #c3cfdd !important;
        border-radius: 2mm !important; background: #f8fafc !important;
    }
    .bank-print-balances strong { color: #17395f !important; font-size: 10pt !important; font-variant-numeric: tabular-nums !important; }
    .bank-print-balances .reconciled { border-color: #8bb9df !important; background: #eaf4fc !important; }
    .bank-print-balances .difference.matched { border-color: #83c6aa !important; background: #e9f7f0 !important; }
    .bank-print-balances .difference.matched strong { color: #076645 !important; }
    .bank-print-balances .difference.unmatched { border-color: #e1a9a9 !important; background: #fff0f0 !important; }
    .bank-print-balances .difference.unmatched strong { color: #a31f2a !important; }

    .bank-print-movements { break-inside: auto !important; }
    .bank-print-section-title {
        display: flex !important; align-items: flex-end !important; justify-content: space-between !important;
        gap: 5mm !important; margin: 0 0 2mm !important; padding: 0 0 1.5mm !important;
        border-bottom: .35mm solid #264f7e !important; break-after: avoid !important;
    }
    .bank-print-section-title h2 { margin: 0 !important; color: #14375f !important; font-size: 11pt !important; }
    .bank-print-section-title p, .bank-print-section-title > span { margin: .5mm 0 0 !important; color: #66788d !important; font-size: 7pt !important; }

    .bank-print-table {
        width: 100% !important; min-width: 0 !important; border-collapse: collapse !important;
        table-layout: fixed !important; direction: inherit !important; font-size: 7pt !important;
    }
    .bank-print-table thead { display: table-header-group !important; }
    .bank-print-table tfoot { display: table-row-group !important; break-inside: avoid !important; }
    .bank-print-table tr { break-inside: avoid !important; page-break-inside: avoid !important; }
    .bank-print-table th {
        padding: 1.65mm 1mm !important; border: .2mm solid #7890aa !important;
        background: #1b436f !important; color: #fff !important; font-size: 6.7pt !important;
        font-weight: 800 !important; line-height: 1.2 !important; text-align: center !important; vertical-align: middle !important;
    }
    .bank-print-table td {
        padding: 1.35mm 1mm !important; border: .2mm solid #c6d0dc !important; color: #1b2e46 !important;
        line-height: 1.25 !important; text-align: center !important; vertical-align: middle !important; overflow-wrap: anywhere !important;
    }
    .bank-print-table tbody tr:nth-child(even) td { background: #f7f9fc !important; }
    .bank-print-table tbody tr.print-pending td { background: #fff8e8 !important; }
    .bank-print-table th:nth-child(1) { width: 6mm !important; }
    .bank-print-table th:nth-child(2) { width: 24mm !important; }
    .bank-print-table th:nth-child(3) { width: 21mm !important; }
    .bank-print-table th:nth-child(4) { width: 29mm !important; }
    .bank-print-table th:nth-child(5) { width: auto !important; }
    .bank-print-table th:nth-child(6), .bank-print-table th:nth-child(7), .bank-print-table th:nth-child(8) { width: 22mm !important; }
    .bank-print-table .print-description { width: auto !important; text-align: start !important; }
    .bank-print-table .print-money {
        direction: ltr !important; text-align: end !important; white-space: nowrap !important;
        font-weight: 700 !important; font-variant-numeric: tabular-nums !important;
    }

    .bank-print-match {
        display: inline-block !important; min-width: 11mm !important; padding: .6mm 1mm !important;
        border: .2mm solid #8cbca8 !important; border-radius: 8mm !important;
        background: #e9f6f0 !important; color: #086646 !important; font-size: 6pt !important; font-weight: 800 !important;
    }
    .print-pending .bank-print-match { border-color: #d9b867 !important; background: #fff1c9 !important; color: #805a00 !important; }
    .bank-print-table td small { color: #6f8094 !important; font-size: 5.8pt !important; }
    .bank-print-table .print-cell-detail { display: block !important; margin-top: .7mm !important; line-height: 1.2 !important; }
    .bank-print-table tfoot td {
        padding: 1.7mm 1mm !important; border-color: #6f88a4 !important;
        background: #e4edf7 !important; color: #14375f !important; font-weight: 800 !important;
    }

    .bank-print-totals {
        display: grid !important; grid-template-columns: repeat(3, 1fr) !important; margin-top: 3mm !important;
        border: .3mm solid #9eb0c4 !important; border-radius: 2mm !important;
        overflow: hidden !important; break-inside: avoid !important;
    }
    .bank-print-totals > div {
        display: flex !important; flex-direction: column !important; gap: 1mm !important; padding: 2mm !important;
        border-inline-end: .2mm solid #cbd5df !important; background: #f8fafc !important;
    }
    .bank-print-totals > div:last-child { border-inline-end: 0 !important; }
    .bank-print-totals .pending { background: #fff8e9 !important; }
    .bank-print-totals .final { background: #eaf3fb !important; }
    .bank-print-totals strong { color: #15395f !important; font-size: 9.5pt !important; font-variant-numeric: tabular-nums !important; }

    .bank-print-note {
        margin-top: 3mm !important; padding: 2.5mm 3mm !important; border: .25mm solid #c3cfdb !important;
        border-radius: 2mm !important; background: #fafbfd !important; break-inside: avoid !important;
    }
    .bank-print-note strong { color: #183b63 !important; font-size: 8pt !important; }
    .bank-print-note p { margin: 1mm 0 0 !important; white-space: pre-wrap !important; }

    .bank-print-signatures {
        display: grid !important; grid-template-columns: repeat(3, 1fr) !important;
        gap: 18mm !important; margin: 11mm 10mm 4mm !important; break-inside: avoid !important;
    }
    .bank-print-signatures > div {
        display: flex !important; flex-direction: column !important; align-items: center !important; gap: 1mm !important;
        min-height: 14mm !important; padding-top: 2mm !important; border-top: .25mm solid #586b82 !important; text-align: center !important;
    }
    .bank-print-signatures span { color: #17385e !important; font-size: 8.2pt !important; font-weight: 800 !important; }
    .bank-print-signatures small { color: #738195 !important; font-size: 6.5pt !important; }

    .bank-print-footer {
        display: flex !important; justify-content: space-between !important; gap: 5mm !important;
        margin-top: 3mm !important; padding-top: 1.5mm !important; border-top: .2mm solid #c1ccd8 !important;
        color: #7a8796 !important; font-size: 6.2pt !important; break-inside: avoid !important;
    }
}
