/* Shared family comparison for the calculator and concise report. */
.income-bars { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:12px; margin:28px 0 14px; }
.income-column { min-width:0; text-align:center; }
.income-status { display:block; font-size:11px; line-height:1.3; height:28px; color:#51625c; }
.income-track { height:180px; display:flex; align-items:flex-end; padding-top:26px; border-bottom:1px solid #b5c9c3; }
.income-bar { position:relative; width:72%; margin:0 auto; border:1px solid #0c7468; border-bottom:0; border-radius:5px 5px 0 0; background:#e7f0eb; min-height:1px; }
.income-bar strong { position:absolute; bottom:100%; left:50%; transform:translateX(-50%); padding-bottom:7px; white-space:nowrap; font-size:12px; font-variant-numeric:tabular-nums; font-weight:500; color:#22302c; }
.income-taxable { display:block; font-size:12px; font-weight:650; padding-top:10px; color:#22302c; font-variant-numeric:tabular-nums; }
.income-caption { display:block; font-size:10px; line-height:1.35; margin-top:3px; }
.income-split { display:block; font-size:10px; line-height:1.5; margin-top:8px; color:#51625c; }
.is-current .income-bar { background:#0c7468; }
.is-current .income-status,.is-current .income-bar strong { font-weight:750; color:#0c7468; }
.is-negative.income-bar { background:#fbeae5; border-color:#b03f2e; }
.is-negative.income-bar strong { color:#b03f2e; }
.unavailable .income-bar { visibility:hidden; }
.income-chart-note { font-size:.8rem; line-height:1.5; margin-top:14px; }
#income-comparison > .panel-sub { color:#51625c; }
@media screen and (max-width:600px) {
 .income-bars { grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px 14px; }
 .income-track { height:150px; }
 .income-bar strong { font-size:12px; }
}
@media print { .income-bars { grid-template-columns:repeat(6,minmax(0,1fr)); gap:10px; } .income-track { height:140px; } }

.has-negative .income-track { position:relative; display:block; border-bottom:0; padding-top:0; }
.has-negative .income-track::after { content:""; position:absolute; left:0; right:0; top:50%; border-top:1px solid #b5c9c3; }
.has-negative .income-bar { position:absolute; left:14%; bottom:50%; margin:0; }
.has-negative .income-bar.is-negative { top:50%; bottom:auto; border-top:0; border-bottom:1px solid #b03f2e; border-radius:0 0 5px 5px; }
.has-negative .income-bar.is-negative strong { bottom:auto; top:100%; padding-top:5px; }
