There are two things you need to do, (1) set the background color of the BODY, then (2) set the background color of the LAYOUT. The LAYOUT (the container that holds the header, sidebars, center and footer) sits on top of the BODY of the page. If the LAYOUT color is not set, it is invisiable and you see the background color of the BODY.
Here is a sample that will set the BODY to a red, give the LAYOUT a padding and set it's background to white, plus a couple extra things:
Body Style:
------------------
font-family: tahoma, arial, sans-serif;
font-size: .9em;
padding-top: 10px; padding-bottom: 30px;
background: #AD4744;
Layout Container Style
------------------
border: solid 4px #000000;
padding: 10px;
background: #ffffff;
-moz-border-radius: 30px;
-khtml-border-radius: 30px;
-webkit-border-radius: 30px;
border-radius: 30px;
Each of the other areas: HEADER, SIDEBARS, CENTER and FOOTER (which each rests on top of the LAYOUT), the widgets (which rest on top of the SIDEBAR), the POSTS (which rest on top of the CENTER) each have their own backgrounds and styling, which keeps the whole thing interesting