Rosa is a special case adjective that doesn't change ever. I'm Croatian, and we have it too (our version is "roza"). Croatian has 7 grammatical cases, and it feels natural to decline "roza" a certain way through them, but we are taught not to, because of it's roots, it did not come from standard Croatian... Seems it's the same in Italian. So my point is, I don't know why, but you just never change "rosa" :) Same with "beige" (which is more obviously not italian in roots). More intuitive example of an adjective like this, that always stays the same, is "super".