.balance-bar{
  position:sticky; bottom:0; margin-top:26px; margin-left:-40px; margin-right:-26px;
  padding:16px 26px 16px 40px; background:var(--ink); color:var(--paper); border-radius:0 0 var(--radius) var(--radius);
  display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:10px;
}
.balance-bar .figs{display:flex; gap:26px; flex-wrap:wrap;}
.balance-bar .fig-label{font-size:10px; text-transform:uppercase; letter-spacing:1px; color:rgba(247,242,231,0.55); display:block;}
.balance-bar .fig-val{font-size:18px; font-weight:600;}
.balance-bar .fig-val.balanced{color:#8FBF9A;}
.balance-bar .fig-val.mismatch{color:#E39684;}

@media (max-width:600px){
  .balance-bar{margin-left:-30px; margin-right:-16px; padding-left:30px;}
}

.report-card{background:var(--bg-surface); border:1px solid var(--border-default); border-radius:var(--radius); overflow:hidden; max-width:520px;}
.report-header{background:var(--ink); color:var(--paper); text-align:center; font-weight:700; letter-spacing:0.5px; padding:14px; text-transform:uppercase;}
.report-line{display:flex; justify-content:space-between; padding:8px 16px; border-bottom:1px solid var(--border-default); font-size:14px;}
.report-date{color:var(--debit); font-weight:600;}
.report-section-title{text-align:center; font-weight:700; padding:8px 16px; background:var(--bg-page); border-bottom:1px solid var(--border-default);}
.report-net{background:var(--debit-soft); color:var(--debit); font-weight:700;}
.report-grand{display:flex; justify-content:space-between; padding:14px 16px; background:var(--credit-soft); color:var(--credit); font-weight:700; font-size:17px;}

@media print{
  body *{visibility:hidden;}
  #printable-report, #printable-report *{visibility:visible;}
  #printable-report{position:absolute; top:0; left:0; width:100%;}
}

