Put this together for my form wizard.  Didn't change much in the appearance, but attempted to consolidate and simplify as much as possible so changes from here on out can be easier, faster, and more 
dramatic.  This  serves as a kind of stable version:
/* 
 amvc_basic css pack
  File: _forms.css
  Last Update: Oct 2005
  Author: Tom Atwell
NOTES:
 basic form wizard DIV tree:
 
 CSS mode:
  
  - class = wizard_field_block
   - id = {name} / - class = {STYLE} ('OK'/'EDIT')
    - class = {type}
     - <label>
     - class = form_prompt      
     - class = form_input
 TABLE mode:
 
 - id = form_stage 
  - class = form_block
   - <table> class = form_table
    - <td> class = form_label_cell
    - <td> class = form_input_cell
    - <td> class = form_prompt_cell
******************************/
/* CSS FORM WIZARD LAYOUT
******************************/
/* BASIC LAYOUT */
#wizard {}
form 
{ 
 margin:0; 
  padding:0; 
}
#stage_banner {}
#stage_form 
{
 padding:1em 0;
 background:#f2f5f7;
 border:1px solid #7595aa;
 border-width: 0 2px;
}
#stage_buttons {}
/* LINKS */
#wizard a {}
#wizard a:hover {}
#wizard a:visited {}
/* form wizard field blocks */
.wizard_field_block {}
/* field style types */
.textfield, .menu, .radio, .checkbox, .CSZ 
{
 margin:0 0 1em;
 padding:.2em;
 clear:left;
 border-bottom:1px solid #7595aa;  
}
.radio_group .form_input {
 clear:left;
 display:block;
}
.menu_table table
{
 width:100%;
 margin:0 0 1em;
 padding:.2em; 
 border-bottom:1px solid #7595aa; 
}
/* field sub-blocks */
label
{
 display:inline;
 width: 33%; 
 padding-left:.2em;
 margin-right:.5em; 
 float:left;
 clear:left;
 background:transparent; 
 border: 0px solid #7595aa;  
}
.form_input 
{
 display:inline;
}
.form_prompt
{
 display:block;
 padding-left:0;
 clear:left;
}
/* EXCEPTIONS: field sub-blocks */
.radio_group .form_input 
{
 clear:left;
 display:block;
}
/* buttons */
.form_button, .wizard_button
{
 clear:left;
}
/******************************/
/* Table-Structured Layout
******************************/
.form_table 
{
 width:100%; 
}
.form_label_cell 
{
 width:33%;
 background:white; 
}
/*****************************/
/* Prompt Styles
******************************/
.EDIT, .form_prompt_cell 
{
 color:red;
 font-weight:bold;
}
.EDIT label 
{
 padding:.1em;
 border: 0px solid #7595aa; 
}
.EDIT table 
{
 border: thin solid red;
}
/*****************************/
/* REVIEW STAGE
******************************/
#review_form 
{ 
 margin:1em auto;
}
#review_form table 
{
 width:90%;
 text-align:left;
 margin:0 auto;
} 
table.review_table 
{
 font-family:Courier New,Courier,monospace;
 margin:1em auto;
 width:95%;
 margin:0 auto;
 border:medium solid #708090;
 border-width:0 1px 0 0; 
 background:white;
 padding:0 0 0 2px; 
}
.review_table td, .review_table th 
{
 padding:0.5em;
 border:thin solid #708090;
 border-width:0 0 2px;
}
.review_table th 
{
 background-color:#708090;
 color:#f7f8f9;
 padding:2px .4em .4em;
 border:thin solid #f7f8f9;
 border-width:0 1px 0;
 text-align:center; 
}
.review_table .label 
{
 background-color:#f7f8f9;
}
.review_table .input 
{
 border-right:1px solid #708090;
 padding:.4em .4em .4em 2em; 
}
.review_table p 
{
 margin:0 0 1em;
}
.empty_value 
{
 color:#d9dde1;
 margin:0 auto;
}
/*****************************/
/* Edit Field Page
******************************/
#edit_page 
{
 width:500px; 
 margin:1em auto;
 padding:1em;
 background:white;
 border:thin solid #746058;
 border-width:0 2px;
}
#edit_page p 
{
 font-size:medium;
 font-family:arial,sans-serif;
}
#edit_box 
{
 text-align:left;
 padding:1em;
}
/*****************************/