You seem to have two problems there:
- You want to include some common css files in all you pages. This is easy to accomplish.
- You want to seal the ability to use inline styles in custom
pages / webpart and such. This is hard (or impossible) to do.
For the first problem the solution is actually quite easy:
Define a module that adds you stylesheet to the style library of a site collection (or use the
_layouts folder if your environment does not allow for the Publishing infrastructure to be available).
All you need to do then is to create a site scoped feature that will deploy the module and leverage a delegate control to add the css registration on all the site pages (note: there is an alternate technique that registers scripts and css using a custom action, but I don't think you need that).
Another technique would be to include the css references in your masterpage (that would be especially simple if you already are using a custom masterpage).
Your second problem is more problematic, and no simple way comes to mind to solve that.
One idea could be to abuse "!important" declarations and very high priority css selectors in your .css file...Bbut that could easily be overridden by circumventing your selectors.
Just think about it: Suppose you have a content editor web part, how can you enforce some policy so that no inline style can be added in its content?