The stylesheet architecture I like to use has several stylesheets:
1. base.css or layout.css - site wide common styles, dimensions and page layout
2. colors.css - colors only, including background images, and any dimensions required to support the background images
3. ie.css - IE adjustments. The server will send it if the request is from IE
4. ff.css - FF adjustments - The server will send it if the request is from FF
5. page.css - page specific CSS, for any page that has complex styles
6. Inline style - style tags for very minor adjustments on pages (embedded in <style> tags)
7. style attributes - anything that has to be forced (style="display:none"), or dimensions
Usually there are also stylesheets from toolkits or applications as well.
And, the XHTML/CSS is validated.