Why would conditional formatting break currency formatting?

I have a spreadsheet which contains a column of prices, with different currencies: some are in US Dollars, some are in Euros, etc. I manually select the currency format for each cell:

currency formatting

On top of this, some prices can be 0, meaning that the item is free. So I’d like to apply conditional formatting: I want the cell to be colored green (“Good” style) if the price is 0, and yellow (“Neutral” style) if it’s more than 0. However, when I apply such formatting, it seems to override the currency formats that I’ve set:

conditional formatting

When I remove the conditional formatting, the currency format comes back.

I used to be able to do this, and the manual formatting used to take priority over conditional formatting, but it seems like something has changed and now it’s not the case anymore. What could it be?

LibO version?
Already tried with a virgin user profile?

LibreOffice 6.3.4, tried in Safe Mode and the problem persists.

But, I just created a new spreadsheet and that one doesn’t seem to have the problem… I’ll investigate a bit more.

Nevermind, I figured out what caused the problem.
I was messing around with Styles at some point, and so for some reason I’ve set the “Status” style to have Standard Number format. That caused the Bad, Good and Neutral styles to override any other number formatting.

I modified that style and reset the number formatting (by clicking the “Standard” button), and that seems to have fixed the issue.

I’d set this as the accepted answer but I don’t have enough karma.