I'd say that's not correct. headerbar:backdrop should be the one for inactive windows, headerbar for the active one. I've used headerbar {...} to set the color, like:
headerbar {
padding: 0 6px;
min-height: 46px;
border-width: 0 0 1px;
border-style: solid;
border-color: @border_color;
background: @bg_color linear-gradient(to bottom, shade(@bg_color,1.2), shade(@bg_color, 0.8));
box-shadow: inset 0 1px rgba(255, 255, 255, 0.8); }
for inactive windows i used:
headerbar:backdrop {
background-image: linear-gradient(to bottom, shade(@bg_color,1.2), shade(@bg_color, 0.8));
box-shadow: inset 0 1px rgba(255, 255, 255, 0.8);
transition: 200ms ease-out; }
You can have it flat using background-color instead of background-image but I don't like it ;-)
Note that the colors prefixed with @ are part of the theme and have to be defined. Instead of them you can use the rgb notation (eg #FF0000 for red)
Be sure to set the background-image to none if you use the color notion