/* ShahrVam v654 — reconciliation performance/stability layer.
   Keeps the active surface mounted during background refresh and makes heavy
   bank/auxiliary panels explicitly lazy. */
body[data-page="reconciliation"] .pv-shell{position:relative;min-height:320px}
body[data-page="reconciliation"] .pv-shell.is-background-refreshing .pv-btn-refresh{pointer-events:none;opacity:.65}
body[data-page="reconciliation"] .pv-btn-refresh.is-loading span{display:inline-block;animation:pv654spin .8s linear infinite}
@keyframes pv654spin{to{transform:rotate(360deg)}}
body[data-page="reconciliation"] #pv-rows{min-height:180px;scroll-margin-top:88px}
body[data-page="reconciliation"] .pv-pager{display:flex;align-items:center;justify-content:center;gap:10px;margin:12px 0 4px;flex-wrap:wrap}
body[data-page="reconciliation"] .pv-pager span{font-size:11px;font-weight:800;color:#536d80}
body[data-page="reconciliation"] .pv-pager .pv-btn[disabled]{opacity:.45;cursor:not-allowed}
body[data-page="reconciliation"] .pv-lazy-panel{background:#fff;border:1px solid #d7e2e9;border-radius:12px;margin-top:10px;overflow:hidden}
body[data-page="reconciliation"] .pv-lazy-panel>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer;padding:12px 14px;list-style:none}
body[data-page="reconciliation"] .pv-lazy-panel>summary::-webkit-details-marker{display:none}
body[data-page="reconciliation"] .pv-lazy-panel>summary>div{display:grid;gap:2px}
body[data-page="reconciliation"] .pv-lazy-panel>summary b{font-size:12px}
body[data-page="reconciliation"] .pv-lazy-panel>summary small{font-size:10px;color:#718695}
body[data-page="reconciliation"] .pv-lazy-panel>summary strong{font-size:13px;min-width:28px;text-align:center}
body[data-page="reconciliation"] .pv-lazy-placeholder{padding:12px 14px;border-top:1px solid #e4ebf0;font-size:10.5px;color:#718695;background:#f8fafb}
body[data-page="reconciliation"] #pv-aux.is-loading{opacity:.72;pointer-events:none}
body[data-page="reconciliation"] .pv-bank-ledger-shell:not([open]) .pv-bank-ledger{display:none}
@media(max-width:700px){
  body[data-page="reconciliation"] .pv-pager{justify-content:stretch}
  body[data-page="reconciliation"] .pv-pager .pv-btn{flex:1 1 120px}
  body[data-page="reconciliation"] .pv-pager span{order:-1;flex:1 0 100%;text-align:center}
  body[data-page="reconciliation"] .pv-lazy-panel>summary{align-items:flex-start;padding:11px}
}

/* ShahrVam v748 — exact-sum multi-payment matching */
body[data-page="reconciliation"] .pv-bundle-bar{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:0 0 12px;padding:12px 14px;border:1px solid #d5e2ea;border-radius:14px;background:#f7fafc}
body[data-page="reconciliation"] .pv-bundle-bar>div{display:grid;gap:3px}
body[data-page="reconciliation"] .pv-bundle-bar b{font-size:12px;color:#102f45}
body[data-page="reconciliation"] .pv-bundle-bar small,body[data-page="reconciliation"] .pv-bundle-bar span{font-size:10.5px;color:#61798a}
body[data-page="reconciliation"] .pv-bundle-bar.is-exact{border-color:#8fc9ac;background:#f3fbf6}
body[data-page="reconciliation"] .pv-bundle-bar.is-exact span{color:#1f7048;font-weight:800}
body[data-page="reconciliation"] .pv-bundle-bar.is-over{border-color:#e8b1ad;background:#fff7f6}
body[data-page="reconciliation"] .pv-bundle-bar.is-over span{color:#a83b35;font-weight:800}
body[data-page="reconciliation"] .pv-bundle-actions{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:10px;flex-wrap:wrap}
body[data-page="reconciliation"] .pv-bundle-check{display:inline-flex;align-items:center;gap:7px;padding:8px 10px;border:1px solid #d6e2ea;border-radius:10px;background:#fff;cursor:pointer;font-size:10.5px;font-weight:800;color:#24465e}
body[data-page="reconciliation"] .pv-bundle-check input{width:16px;height:16px;margin:0;accent-color:#163f5d}
body[data-page="reconciliation"] .pv-bundle-check:has(input:checked){border-color:#7ea8c2;background:#f1f7fb}
body[data-page="reconciliation"] .pv-bank-option.is-bundle-selected{outline:2px solid rgba(28,93,132,.18);border-color:#8bb4cc}
@media(max-width:700px){body[data-page="reconciliation"] .pv-bundle-bar{align-items:stretch;flex-direction:column}body[data-page="reconciliation"] .pv-bundle-bar .pv-btn{width:100%}body[data-page="reconciliation"] .pv-bundle-actions{align-items:stretch;flex-direction:column}body[data-page="reconciliation"] .pv-bundle-check,body[data-page="reconciliation"] .pv-bundle-actions .pv-bank-choose{width:100%;justify-content:center}}
