Saying "no" isn't easy. But there are different ways to say "no" to someone's requests without feeling like you've let them down while being realistic and constructive and ensuring the requester feels heard.
I really like this framework of three types of "no" from Judd Antin:
1. The Yes No
With the Yes No, you say "yes" to the need and "no" to the specific ask.
So, a child asking for an ice cream may indeed need something to eat even though they might not get an ice cream. Or the request to make the sign-up button larger might well indicate that it's easy to miss, though a better solution may be to change its colour or the layout of the page.
2. The Material No
With the Material No, you are saying yes to the request if you have the time/budget/people/tools to do it.
So, you would love to get the kite out of the tree if you had the tools to reach it. Or the request to make an additional change might be possible on the basis that you can push back the launch date or add another person to the team.
3. The Priority No
With the Priority No, you are saying yes, we can do it as long as we're happy to drop something less important.
So, you can take the extra cuddly bear in the car if we can choose a different one to leave behind. Or that you can do that project on the basis that we postpone another we had planned.
In each type of "no", the intent is to support and meet the needs of the person requesting while clearly explaining the reasoning for what you'd need to get it done. In each case, the "no" leads to valuable discussions of larger issues of what the real need is, what's required to get a job done, and what's really important.
Read Judd Antin's article, How to Say No, in his series One Big Thought.