My suggestion is following:
Add in the framework option to load CSS file if exist (load always as last CSS file).
For example (i.e. default template ja_tiris)
The framework to look if the file: templates/ja_tiris/css/overwrite.css exist. If so, load it last from any css files (right before closing the </head> tag).
By default, this file should not exist in the package.
Advantages:
That way, without touching the original template files, I would be able to change the style of any element (including of 3rd party extensions). I would be able to upgrade to new versions of the template, without loosing my changes.