Index: themes/seven/template.php
===================================================================
RCS file: /cvs/drupal/drupal/themes/seven/template.php,v
retrieving revision 1.12
diff -u -r1.12 template.php
--- themes/seven/template.php	4 Jan 2010 03:46:31 -0000	1.12
+++ themes/seven/template.php	9 Jan 2010 13:34:22 -0000
@@ -78,9 +78,9 @@
 function seven_fieldset($variables) {
   $element = $variables['element'];
 
-  $output = '<fieldset' . drupal_attributes($element['#attributes']) . '>';
+  $output = '<div class="seven-fieldset-wrapper"><fieldset' . drupal_attributes($element['#attributes']) . '>';
   if (!empty($element['#title'])) {
-    $output .= '<legend><span>' . $element['#title'] . '</span></legend>';
+    $output .= '<legend>' . $element['#title'] . '</legend>';
   }
   if (!empty($element['#description'])) {
     $output .= '<div class="fieldset-description">' . $element['#description'] . '</div>';
@@ -89,7 +89,7 @@
   if (isset($element['#value'])) {
     $output .= $element['#value'];
   }
-  $output .= "</fieldset>\n";
+  $output .= "</fieldset></div>\n";
   return $output;
 }
 
Index: themes/seven/style.css
===================================================================
RCS file: /cvs/drupal/drupal/themes/seven/style.css,v
retrieving revision 1.41
diff -u -r1.41 style.css
--- themes/seven/style.css	8 Jan 2010 20:19:43 -0000	1.41
+++ themes/seven/style.css	9 Jan 2010 13:34:22 -0000
@@ -599,35 +599,50 @@
  */
 
 /* Fieldsets & Form items */
-fieldset {
+.seven-fieldset-wrapper {
+  display: block !important;
   border: 1px solid #ccc;
-  padding: 30px 13px 13px 14px;
+  padding: 16px 13px;
   margin: 0 0 10px;
 }
-
-fieldset legend span,
-fieldset legend a {
-  position: absolute;
-  margin-top: 9px;
+fieldset {
+  margin-top: -10px;
 }
-
-fieldset legend a span {
+fieldset legend {
   position: relative;
+  text-transform: uppercase;
+  padding-bottom: 5px;
+}
+
+*:first-child+html fieldset legend {
+  margin-left: -7px;
+  margin-top: -10px;
+}
+*:first-child+html fieldset.collapsed legend {
   margin-top: 0;
 }
+* html fieldset legend {
+  margin-left: -8px;
+  margin-top: -10px;
+}
+* html fieldset.collapsed legend {
+  margin-left: -1px;
+  margin-top: 0;
+}
+
 
 fieldset.collapsed {
   background: transparent;
 }
 
-html.js fieldset.collapsed legend,
-html.js fieldset.collapsed legend * {
+html.js fieldset.collapsed {
+  position: absolute;
+}
+html.js fieldset.collapsed legend {
   display: block;
 }
-html.js fieldset.collapsed {
-  border-width: 1px;
-  margin-bottom: 10px;
-  padding: 13px;
+html.js fieldset.collapsible .fieldset-wrapper {
+  overflow: visible;
 }
 
 fieldset fieldset {
@@ -638,10 +653,6 @@
   background: #f8f8f8;
 }
 
-html.js fieldset.collapsible .fieldset-wrapper {
-  overflow: visible;
-}
-
 div.form-item {
   padding: 9px 0;
   margin: 0 0 10px;
@@ -665,10 +676,6 @@
   padding: 0;
 }
 
-fieldset legend {
-  text-transform: uppercase;
-}
-
 div.form-item label.option {
   text-transform: none;
 }
@@ -1006,7 +1013,6 @@
   padding-top: 6px;
   padding-left: 6px;
 }
-
 /* Blocks */
 
 #page div.block h2 {
