The margin input was making API calls on every keystroke, causing race
conditions and making it difficult to edit values (especially to 0).
Changed to:
- Use defaultValue + key pattern for uncontrolled input
- Save only onBlur (when user clicks away)
- Only call API if value actually changed
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>