First thing you want to do is to validate your code against the W3C’s (x)html validator. there’s a few validation errors that may throw off your entire design. No point in trying to fix your css if the html code it’s been applied to is buggy.
For instance, in your header, you have an unclosed closing span tag…
Then, you may want to look at the relationship between your divs and your tables, and how you’ve assigned widths.
One possible problem is that your #wrapper div is set to 98% wide, with 10px margins and 1px borders. This means that you have you have 11px on each side, representing 1% on each side of available space. If your monitor resolution is anything less than 1100px wide (don’t forget the scrollbars), you’re likely to force horizontal scrolling.
If within that div you have things set at 100%, adding fixed margins and padding will also likely wreck havock.
FWIW, I’d also set the font sizes in EM or percentages rather than px, as that’s hard to resize for your visitors.
hope this helps