I'm working on the UX for an application with a bootstrap top navigation bar whose background color will not be consistent because resellers can change it to match their branding. At the moment, the best I can think of to do is to add a very slight, mostly transparent, grey color to the buttons, with white text.
This seems to handle most of the color choices I can think of, except that with a flat black background the slight grey color vanishes, and with a flat white background the white text is a bit hard to read.
Does anyone have other ideas? I can't share the actual example, but have included a similar idea below: