Three-column Sankey diagram (Income → Categories → Tags) rendered with
custom matplotlib bezier paths. Features gradient-fill bands that
interpolate color from source to destination nodes, neon glow effects
on nodes and bands, and a surplus node when income exceeds expenses.
Also fixes QFont::setPointSize warning by switching dark.qss font-size
units from px to pt, preventing Qt delegate code from receiving -1
point sizes during inline cell editing.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Adds known source formats (Chase credit card with headers, Wells Fargo
checking headerless), description normalization strategy, cross-account
transfer detection, source category hints, household income sources,
and sample categorization rules based on real transaction data.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Captures the full v1 design: CSV import with auto-mapping, rule-based
categorization (extensible for AI), household member attribution,
spending trends, category breakdowns, recurring charge detection,
and forecasting.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>