Ok, I finally figured out how this works.
You have to rerun each report each time you make any change to a custom template (or delete one) – because SurveyGizmo actually embeds the custom styles in the head section of the report html – and it deletes the import statement for the default stylesheet, too, if it finds a custom one.
A better way** to do this would be for SurveyGizmo's report generator to simply check if a custom stylesheet exists, and, if so, import it *after* importing the default stylesheet.
@import url( /css/reportstyle.css );
@import url( /template-directory/customreportstyle.css);
(and please get rid of the style rules embedded directly in the html head, they should be in the stylesheet!).
**Actually, the most forward-looking way of doing this would be to have a single import statement to a single global stylesheet in the html head, and put all @import statements in that global stylesheet.
Then have the report generator look for custom stylesheets of various types (screen, print, etc), and, if present, import them into the global stylesheet *after* importing all the default styles.
This would allow users to take advantage of cascading rules and inheritance, only changing individual style rules as needed (the custom style rules would override the corresponding default style rules, and the rest of the default style rules would be unchanged).
(Incidentally, SurveyGizmo should add a check box set on the custom template page – to designate the type/s of style sheet we are saving – screen, print, handheld, braille, etc.)
It would also make it easier for us to keep our report look-and-feel current as you upgrade your report utility – if you change the HTML, that would not mess up our styles.
It would allow us to improve accessibility.
Most importantly - we wouldn't have to rerun reports each time just to see the results of CSS changes.
(And, if you just added a custom body id style to each report:body id=”report_x”we could apply different css rules to different reports.)
—–
In my case, I just needed to insert one single line of CSS - one rule.
I need to suppress summary tables on a given report (I'd like to be able to do it for specific questions – some of our summary tables have hundreds of rows, but, since that is not offered, nor is the ability to do it for a single report, I have to do it for all reports). All that takes is a single line of CSS – one rule.
.question_grid_box {display:none;}
Now, I have to copy the entire default stylesheet to a new template, add my one rule, and rerun each report I need that to apply to – and hope you don't change the HTML or CSS with your next upgrade in a way that breaks my reports. And, if I want to rerun a report that needs the summary tables in it, I have to delete the report template, run that report, and add it back again for the others. Unmanageable and unnecessary, given the simple CSS solution. And undocumented, to boot :-)