Hi Greg,
Can you please confirm if this is the main calendar page that gets generated automatically?
Or is this page one whose calendar instance is generated by the [tribe_events] shortcode?
If it’s the latter, then the CSS is there by design. The [tribe_events] shortcode loads a number of scripts and stylesheets; for the sake of performance, we designed things so that all those resources would not load on every single page on the front-end of your site, but instead only on pages where an instance of the [tribe_events] shortcode exists.
Shortcodes are passed in the WordPress hook the_content(). This runs later than wp_head(), so if there is a shortcode instance on the page it is not detected until after the head of the document’s already generated. So the required scripts and styles get loaded into the site footer.
I hope this explanation sheds light on the decision; it’s a Catch-22, because if you want the stylesheets to not be in the footer, then they’d have to be loaded into the wp_head generally and thus would be loading on many many pages where they’re not needed.
— George