Percentage validation and modal UX