Bug Fixes
Estimates with default-applied tax rates used to display a $0 tax amount until you manually removed and re-added the tax. This happened because the AI pipeline didn't trigger a totals recalculation after seeding line items. Now estimate totals—including subtotal, overhead, profit, and tax—are computed at read time directly from line items and rate settings, so the math is always correct.
Improvements
The tax UI on the estimate detail page is now more responsive:
- Tax rate selector: Replaced with a searchable combobox for consistency with project conventions.
- Tax operations: Per-rate spinners show which tax rate is being removed, with per-key disabled states to prevent double-clicks.
- Add tax state: A spinner appears in the "Add tax rate" field while a new rate is being applied.