As a follow-up, I just learned about the relationship between the "Normal" style and table styles in a related post: Hiding "Default Paragraph Font" and "Normal" Styles? Because my changes to "Normal" were overriding my table template headers, I had switched
my template so writers would use "Body Text" instead of "Normal" for paragraphs. This meant I could leave "Normal" alone so it would not cause any problems with my table template headers.
In the other post, I had asked about hiding the "Normal" style so writers would not insert both "Normal" and "Body Text" styles for paragraphs. As it turns out, there may not be a reliable way to hide "Normal," but I did learn that I could just use "Normal"
for paragraphs again, and drop the idea of using "Body Text" as a substitute for "Normal."
The trick for using "Normal" again was to set the attributes of the default font of the document to match "Normal." For example, if "Normal" was Arial, 10, grey, I needed to set the default font to Arial, 10, grey (Manage Styles
> Set Defaults). When the default font matches "Normal," the table styles take precedence over the default styles, so I magically get my white font in the table header and grey text for paragraphs!
For details on style precedence, see Pam Caswell's comment in this post: Hiding "Default Paragraph Font" and "Normal" Styles?