Not quite natural to me, just because quite unusual. Right as Nikolay Ershov’s answer says.
I feel that another thing which has a tint of uncommonness is the non-unity of aspects of verbs. I would rather expect:
Не дайте … испортить…
Не давайте … портить… (Though
позволяйте in the last clause seems more probable to me I cannot see why; possibly because
дайте (compared with
позволяйте) is a more sharp word which is more appropriate for more definite ‘perfective’ situations (compared with ‘imperfective’ situations).)
But any combination of aspects is possible depending on the meaning aspects a sayer wants to express. (I will not discuss the difference between aspects here; it is another topic — answered.)
Possible translations could use
отравить instead of
Не дайте [ей] отравить вам день.
And again, I don’t claim it’s an everyday Russian expression.
Another possible verb:
изгадить, though it’s somewhat rough.
A Russian variant could be:
Не стоит огорчаться. Though a literal meaning differs (it’s not worth being upset).
There is an idiomatic
выбить из колеи (literally ‘to knock out of a rut’ i. e. out of one’s life course) but
Не дай себя выбить из колеи is not a usual Russian oral phrase.
The slang has more phrases for it. (But all of them, and non-slang variants too, are not about 'day-not-to-be-ruined')
Concerning the claims that phrases of the type
позволить … испортить день are pretty Russian: I have never, not once, said/written/heard those phrases in Russian for 40 years of my life before this post, with the only possible (not that I really remember the cases) exception: movies unperfect translations.