so the gradient is there but does not look like it should ;)
If i replace the gradient with
.root{
-custom-gradient: red;
}
The color is shown red only gradients are "mispainted"
They are to black and dark;

Ok. I see it now. The issue is this. The parser doesn't know that -custom-gradient is a <paint>[,<paint>]*. It sees the hash hex-digits and parses it as a color and then skips over the input it doesn't understand until it hits the semicolon. I'm surprised that the parser didn't spit out some kind of "I don't know how to parse this" warning.

The solution is that you need to specify your layers in the -fx-background-color and have the -custom-gradient be just a <paint>