// Summary panel — bottom right const SummaryPanel = ({ totalIncome, totalCommitted, totalSupplied, period, sources, consumers }) => { const surplus = totalIncome - totalCommitted; const deficit = surplus < 0; const unpoweredCount = consumers.filter(c => { return c.amount > 0; }).length; const periodSuffix = period === 'monthly' ? '/mo' : period === 'biweekly' ? '/2wk' : '/wk'; const annual = period === 'monthly' ? totalIncome * 12 : period === 'biweekly' ? totalIncome * 26 : totalIncome * 52; // bar dimensions const maxBar = Math.max(totalIncome, totalCommitted, 1); const incomePct = (totalIncome / maxBar) * 100; const committedPct = (totalCommitted / maxBar) * 100; return (