diff --git a/core/misc/collapse.js b/core/misc/collapse.js
index d834563..b9af1b6 100644
--- a/core/misc/collapse.js
+++ b/core/misc/collapse.js
@@ -84,8 +84,9 @@ Drupal.behaviors.collapse = {
         .after(' ');
 
       // .wrapInner() does not retain bound events.
+      var $linkText = $('<span class="fieldset-title-text"></span>').prepend($legend.contents());
       var $link = $('<a class="fieldset-title" href="#"></a>')
-        .prepend($legend.contents())
+        .prepend($linkText)
         .appendTo($legend)
         .click(function () {
           var fieldset = $fieldset.get(0);
@@ -97,7 +98,7 @@ Drupal.behaviors.collapse = {
           return false;
         });
 
-      $legend.append(summary);
+      $legend.find('.fieldset-title').append(summary);
     });
   }
 };
diff --git a/core/modules/file/lib/Drupal/file/Tests/FileFieldWidgetTest.php b/core/modules/file/lib/Drupal/file/Tests/FileFieldWidgetTest.php
index 4f93ce0..053e8da 100644
--- a/core/modules/file/lib/Drupal/file/Tests/FileFieldWidgetTest.php
+++ b/core/modules/file/lib/Drupal/file/Tests/FileFieldWidgetTest.php
@@ -300,7 +300,7 @@ class FileFieldWidgetTest extends FileFieldTestBase {
     // Unpublishes node.
     $this->drupalLogin($this->admin_user);
     $edit = array(
-      'status' => FALSE,
+      'status' => 0,
     );
     $this->drupalPost('node/' . $node->nid . '/edit', $edit, t('Save'));
 
diff --git a/core/modules/forum/lib/Drupal/forum/Tests/ForumIndexTest.php b/core/modules/forum/lib/Drupal/forum/Tests/ForumIndexTest.php
index a9d1a7c..4cc271c 100644
--- a/core/modules/forum/lib/Drupal/forum/Tests/ForumIndexTest.php
+++ b/core/modules/forum/lib/Drupal/forum/Tests/ForumIndexTest.php
@@ -67,7 +67,7 @@ class ForumIndexTest extends WebTestBase {
 
     // Unpublish the node.
     $edit = array(
-      'status' => FALSE,
+      'status' => 0,
     );
     $this->drupalPost("node/{$node->nid}/edit", $edit, t('Save'));
     $this->assertText(t('Access denied'), 'Unpublished node is no longer accessible.');
diff --git a/core/modules/node/lib/Drupal/node/NodeFormController.php b/core/modules/node/lib/Drupal/node/NodeFormController.php
index c5763e8..e39ef37 100644
--- a/core/modules/node/lib/Drupal/node/NodeFormController.php
+++ b/core/modules/node/lib/Drupal/node/NodeFormController.php
@@ -54,6 +54,9 @@ class NodeFormController extends EntityFormController {
    * Overrides Drupal\entity\EntityFormController::form().
    */
   public function form(array $form, array &$form_state, EntityInterface $node) {
+    // Use a three-region form layout by default.
+    $form['#theme'] = array('layout_form_3');
+
     // Some special stuff when previewing a node.
     if (isset($form_state['node_preview'])) {
       $form['#prefix'] = $form_state['node_preview'];
@@ -106,19 +109,61 @@ class NodeFormController extends EntityFormController {
     );
 
     $form['additional_settings'] = array(
-      '#type' => 'vertical_tabs',
+      '#type' => 'fieldset',
       '#weight' => 99,
+      '#attributes' => array(
+        'class' => array('collapsibles'),
+     ),
     );
 
-    // Add a log field if the "Create new revision" option is checked, or if the
-    // current user has the ability to check that option.
-    $form['revision_information'] = array(
+    // Build variables for use in settings summary.
+    $pub_state = '';
+    $last_saved = '';
+    $author = '';
+    if (!$node->isNew()) {
+      $pub_state = (isset($node->status) && $node->status == 1) ? t('Published') : t('Not published');
+      $last_saved = '<span class="label">' . t('Last saved') . ':</span> ' . format_date($node->changed);
+      $author = '<span class="label">' . t('Author') . ':</span> ' . user_format_name(user_load($node->uid));
+    }
+    else {
+      $pub_state = t('Not published');
+      $last_saved = t('Not saved yet');
+      $author = '<span class="label">' . t('Author') . ':</span> ' . user_format_name($GLOBALS['user']);
+    }
+    // Create the node settings summary that appears (by default) at the top
+    // of the settings region. Always contains publication status, date/time last
+    // saved, and author.
+    $form['settings_summary'] = array (
       '#type' => 'fieldset',
-      '#title' => t('Revision information'),
-      '#collapsible' => TRUE,
-      // Collapsed by default when "Create new revision" is unchecked
-      '#collapsed' => !$node->revision,
-      '#group' => 'additional_settings',
+    );
+    $form['settings_summary']['publication_state'] = array(
+      '#type' => 'item',
+      '#markup' => $pub_state,
+    );
+    $form['settings_summary']['last_saved'] = array(
+      '#type' => 'item',
+      '#markup' => $last_saved,
+    );
+    $form['settings_summary']['author'] = array(
+      '#type' => 'item',
+      '#markup' => $author,
+    );
+    // If editing an existing node, show the url alias as well.
+    if (!$node->isNew()) {
+      $url_alias = '<span class="label">' . t('URL') . ':</span> ' . drupal_get_path_alias('node/' . $node->id());
+      $form['settings_summary']['url'] = array(
+        '#type' => 'item',
+        '#markup' => $url_alias,
+      );
+    }
+
+   // Add a log field if the "Create new revision" option is checked, or if the
+   // current user has the ability to check that option.
+   $form['revision_information'] = array(
+      '#type' => 'fieldset',
+      '#collapsible' => FALSE,
+      '#collapsed' => FALSE,
+      '#group' => 'settings_summary',
       '#attributes' => array(
         'class' => array('node-form-revision-information'),
       ),
@@ -136,23 +181,18 @@ class NodeFormController extends EntityFormController {
       '#access' => user_access('administer nodes'),
     );
 
-    // Check the revision log checkbox when the log textarea is filled in.
-    // This must not happen if "Create new revision" is enabled by default,
-    // since the state would auto-disable the checkbox otherwise.
-    if (!$node->revision) {
-      $form['revision_information']['revision']['#states'] = array(
-        'checked' => array(
-          'textarea[name="log"]' => array('empty' => FALSE),
-        ),
-      );
-    }
-
     $form['revision_information']['log'] = array(
       '#type' => 'textarea',
       '#title' => t('Revision log message'),
       '#rows' => 4,
       '#default_value' => !empty($node->log) ? $node->log : '',
       '#description' => t('Briefly describe the changes you have made.'),
+      '#attributes' => array('name' => 'log'),
+      '#states' => array(
+        'visible' => array(
+          ':input[name="revision"]' => array('checked' => TRUE),
+        ),
+      ),
     );
 
     // Node author information for administrators.
@@ -200,7 +240,7 @@ class NodeFormController extends EntityFormController {
     $form['options'] = array(
       '#type' => 'fieldset',
       '#access' => user_access('administer nodes'),
-      '#title' => t('Publishing options'),
+      '#title' => t('Promotion options'),
       '#collapsible' => TRUE,
       '#collapsed' => TRUE,
       '#group' => 'additional_settings',
@@ -213,12 +253,6 @@ class NodeFormController extends EntityFormController {
       '#weight' => 95,
     );
 
-    $form['options']['status'] = array(
-      '#type' => 'checkbox',
-      '#title' => t('Published'),
-      '#default_value' => $node->status,
-    );
-
     $form['options']['promote'] = array(
       '#type' => 'checkbox',
       '#title' => t('Promoted to front page'),
@@ -241,6 +275,37 @@ class NodeFormController extends EntityFormController {
     return parent::form($form, $form_state, $node);
   }
 
+  protected function actionsElement(array $form, array &$form_state) {
+    $element = parent::actionsElement($form, $form_state);
+    $node = $this->getEntity($form_state);
+
+    // Add a nested fieldset to contain the save button and publication status
+    // select control.
+    $element['save'] = array(
+      '#type' => 'container',
+      '#attributes' => array('class' => array('form-action-group', 'container-inline')),
+    );
+
+    $element['save']['submit'] = $element['submit'];
+    unset($element['submit']);
+    $element['save']['submit']['#button_type'] = 'primary';
+
+    $element['save']['status'] = array(
+      '#type' => 'select',
+      '#options' => array(
+        0 => t('Not published'),
+        1 => t('Published'),
+      ),
+      '#default_value' => $node->status,
+      '#weight' => 10,
+    );
+
+    $element['delete']['#button_type'] = 'delete';
+    $element['preview']['#button_type'] = 'preview';
+
+    return $element;
+  }
+
   /**
    * Overrides Drupal\entity\EntityFormController::actions().
    */
diff --git a/core/modules/node/lib/Drupal/node/Tests/MultiStepNodeFormBasicOptionsTest.php b/core/modules/node/lib/Drupal/node/Tests/MultiStepNodeFormBasicOptionsTest.php
index abb31f3..4d310f1 100644
--- a/core/modules/node/lib/Drupal/node/Tests/MultiStepNodeFormBasicOptionsTest.php
+++ b/core/modules/node/lib/Drupal/node/Tests/MultiStepNodeFormBasicOptionsTest.php
@@ -49,7 +49,7 @@ class MultiStepNodeFormBasicOptionsTest extends WebTestBase {
       'choice[new:1][chtext]' => 'a',
     );
     $this->drupalPost('node/add/poll', $edit, t('Add another choice'));
-    $this->assertNoFieldChecked('edit-status', 'status stayed unchecked');
+    $this->assertFieldById('edit-status', 0, 'status stayed not published');
     $this->assertNoFieldChecked('edit-promote', 'promote stayed unchecked');
     $this->assertFieldChecked('edit-sticky', 'sticky stayed checked');
   }
diff --git a/core/modules/node/node.js b/core/modules/node/node.js
index 0899d3c..2ee23f7 100644
--- a/core/modules/node/node.js
+++ b/core/modules/node/node.js
@@ -33,14 +33,15 @@ Drupal.behaviors.nodeFieldsetSummaries = {
       var $context = $(context);
       var vals = [];
 
-      $context.find('input:checked').parent().each(function () {
-        vals.push(Drupal.checkPlain($.trim($(this).text())));
-      });
-
-      if (!$context.find('.form-item-status input').is(':checked')) {
-        vals.unshift(Drupal.t('Not published'));
+      if ($context.find('input').is(':checked')) {
+        $context.find('input:checked').parent().each(function () {
+          vals.push(Drupal.checkPlain($.trim($(this).text())));
+        });
+        return vals.join(', ');
+      }
+      else {
+        return Drupal.t('Not promoted');
       }
-      return vals.join(', ');
     });
   }
 };
diff --git a/core/modules/node/node.module b/core/modules/node/node.module
index 349aab5..1845dcb 100644
--- a/core/modules/node/node.module
+++ b/core/modules/node/node.module
@@ -176,6 +176,11 @@ function node_theme() {
     'node_recent_content' => array(
       'variables' => array('node' => NULL),
     ),
+    'layout_form_3' => array(
+      'render element' => 'form',
+      'path' => 'core/modules/system/layouts',
+      'template' => 'layout-form-3',
+    ),
   );
 }
 
@@ -1390,6 +1395,33 @@ function template_preprocess_node(&$variables) {
 }
 
 /**
+ * Process variables for layout-form-3.tpl.php
+ */
+function template_preprocess_layout_form_3(&$vars) {
+  $form = &$vars['form'];
+
+  // Create regions expected by the layout template.
+  $vars['regions'] = array(
+    'first' => array(),
+    'second' => array(),
+    'footer' => array(),
+  );
+
+  // Chunk the form into separate render arrays and place them in regions.
+  // Currently this is rudimentary; array key order within regions determines
+  // render order, and the remaining $form array needs to be printed in the
+  // template using drupal_render_children($form).
+  $vars['regions']['second'][] = $form['settings_summary'];
+  unset($form['settings_summary']);
+
+  $vars['regions']['second'][] = $form['additional_settings'];
+  unset($form['additional_settings']);
+
+  $vars['regions']['footer'] = $form['actions'];
+  unset($form['actions']);
+}
+
+/**
  * Implements hook_permission().
  */
 function node_permission() {
diff --git a/core/modules/translation/lib/Drupal/translation/Tests/TranslationTest.php b/core/modules/translation/lib/Drupal/translation/Tests/TranslationTest.php
index a409150..045d2ae 100644
--- a/core/modules/translation/lib/Drupal/translation/Tests/TranslationTest.php
+++ b/core/modules/translation/lib/Drupal/translation/Tests/TranslationTest.php
@@ -170,7 +170,7 @@ class TranslationTest extends WebTestBase {
     // Unpublish the Spanish translation to check that the related language
     // switch link is not shown.
     $this->drupalLogin($this->admin_user);
-    $edit = array('status' => FALSE);
+    $edit = array('status' => 0);
     $this->drupalPost("node/$translation_es->nid/edit", $edit, t('Save'));
     $this->drupalLogin($this->translator);
     $this->assertLanguageSwitchLinks($node, $translation_es, FALSE);
@@ -181,7 +181,7 @@ class TranslationTest extends WebTestBase {
     $edit = array('language_interface[enabled][language-url]' => FALSE);
     $this->drupalPost('admin/config/regional/language/detection', $edit, t('Save settings'));
     $this->resetCaches();
-    $edit = array('status' => TRUE);
+    $edit = array('status' => 1);
     $this->drupalPost("node/$translation_es->nid/edit", $edit, t('Save'));
     $this->drupalLogin($this->translator);
     $this->assertLanguageSwitchLinks($node, $translation_es, TRUE, 'node');
diff --git a/core/themes/seven/ie.css b/core/themes/seven/ie.css
index d1a71ce..978a5e7 100644
--- a/core/themes/seven/ie.css
+++ b/core/themes/seven/ie.css
@@ -1,12 +1,20 @@
 /* IE renders absolute positioned legend where fieldset content starts. */
-fieldset .fieldset-legend {
+/*fieldset .fieldset-legend {
   left: 0;
   top: 0;
+}*/
+
+/* Fake the top borders of fieldsets in IE8. */
+fieldset legend {
+  border-left: 1px solid #ccc;
+  border-right: 1px solid #ccc;
+  border-top: 1px solid #ccc;
+  margin-left: -1px;
+  margin-right: -1px;
+  margin-top: -1px;
 }
 
-/* IE renders monospace font too big. */
-code,
-pre,
-kbd {
-  font-size: 1em;
+.accordion .collapsible legend {
+	border: 0;
+	margin: 0;
 }
diff --git a/core/themes/seven/style-rtl.css b/core/themes/seven/style-rtl.css
index 7070720..ff337d8 100644
--- a/core/themes/seven/style-rtl.css
+++ b/core/themes/seven/style-rtl.css
@@ -29,13 +29,6 @@ ol {
 }
 
 /**
- * Branding.
- */
-#branding {
-  padding: 20px 20px 0 20px;
-}
-
-/**
  * Help.
  */
 #help div.more-help-link {
@@ -45,7 +38,7 @@ ol {
 /**
  * Page title.
  */
-#branding h1.page-title {
+#branding .page-title {
   float: right;
 }
 
@@ -71,11 +64,6 @@ ul.primary {
 /**
  * Page layout.
  */
-#page {
-  padding: 20px 0 40px 0;
-  margin-left: 40px;
-  margin-right: 40px;
-}
 ul.links li,
 ul.inline li {
   padding-left: 1em;
@@ -127,19 +115,15 @@ fieldset .fieldset-legend {
   padding-right: 15px;
   right: 0;
 }
-fieldset .fieldset-wrapper {
-  padding: 0 15px 13px 13px;
-}
 
-/* Filter */
+/**
+ * Filters
+ */
 .filter-wrapper .form-item,
 .filter-wrapper .filter-guidelines,
 .filter-wrapper .filter-help {
   padding: 2px 0 0 0;
 }
-ul.tips li {
-  margin: 0.25em 1.5em 0.25em 0;
-}
 body div.form-type-radio div.description,
 body div.form-type-checkbox div.description {
   margin-left: 0;
@@ -150,11 +134,14 @@ a.button {
   margin-left: 1em;
   margin-right: 0;
 }
-ul.action-links li {
+.action-links {
+  padding-right: 0;
+}
+.action-links > li {
   float: right;
   margin: 0 0 0 1em;
 }
-ul.action-links a {
+.action-links a {
   padding-left: 0;
   padding-right: 15px;
   background-position: right center;
@@ -189,6 +176,13 @@ ol.task-list li.active {
 }
 
 /* Overlay theming */
+@media screen and (min-width: 900px) {
+  #overlay {
+    padding-left: 48px;
+    padding-right: 36px;
+  }
+}
+
 .overlay #branding .breadcrumb {
   float: right;
 }
@@ -208,6 +202,13 @@ div.add-or-remove-shortcuts {
   padding: 0 0 5px 5px;
 }
 
+#dashboard div.block div.content {
+  padding: 10px 5px 5px 5px;
+}
+#dashboard div.block div.content ul.menu {
+  margin-right: 20px;
+}
+
 /* User login block */
 #user-login-form .openid-links {
   margin-right: 0;
diff --git a/core/themes/seven/style.css b/core/themes/seven/style.css
index f1e7321..2ba31e8 100644
--- a/core/themes/seven/style.css
+++ b/core/themes/seven/style.css
@@ -21,9 +21,6 @@ hr {
   height: 1px;
   background: #cccccc;
 }
-legend {
-  font-weight: bold;
-}
 h1,
 h2,
 h3,
@@ -91,9 +88,6 @@ sup {
   font-size: smaller;
   line-height: normal;
 }
-nobr {
-  white-space: nowrap;
-}
 abbr,
 acronym {
   border-bottom: dotted 1px;
@@ -135,11 +129,6 @@ quote,
 code {
   margin: .5em 0;
 }
-code,
-pre,
-kbd {
-  font-size: 1.231em;
-}
 pre {
   margin: 0.5em 0;
   white-space: pre-wrap;
@@ -178,8 +167,9 @@ pre {
  * Branding.
  */
 #branding {
+  background-color: #e0e0d8;
   overflow: hidden;
-  padding: 20px 20px 0 20px; /* LTR */
+  padding: 20px 4% 0;
   position: relative;
   background-color: #e0e0d8;
 }
@@ -222,7 +212,7 @@ pre {
  * Console.
  */
 #console {
-  margin: 9px 0 10px;
+  margin: .5em 0;
 }
 
 /**
@@ -252,6 +242,7 @@ ul.primary li.active a {
   float: left; /* LTR */
   height: 2.60em;
   line-height: 2.60em;
+  margin: 0;
   padding: 0 18px 8px;
   background-color: #a6a7a2;
   color: #000;
@@ -279,6 +270,7 @@ ul.primary li.active a:hover {
   clear: both;
 }
 ul.secondary {
+  border: 0;
   float: right; /* LTR */
   font-size: 0.923em;
   padding: 0 3px 5px;
@@ -288,7 +280,9 @@ ul.secondary {
 }
 ul.secondary li {
   margin: 0 5px;
+  border: 0;
   float: none; /* LTR */
+  padding: 0 10px 0 0; /* LTR */
 }
 ul.secondary li a {
   background-color: #ddd;
@@ -302,6 +296,7 @@ ul.secondary li.active a.active {
   padding: 2px 10px;
   -moz-border-radius: 7px;
   border-radius: 7px;
+  border: 0;
 }
 ul.secondary li a:hover,
 ul.secondary li.active a,
@@ -312,14 +307,11 @@ ul.secondary li.active a.active {
 #content {
   clear: left;
 }
-
 /**
  * Page layout.
  */
 #page {
-  padding: 20px 0 40px 0; /* LTR */
-  margin-right: 40px; /* LTR */
-  margin-left: 40px; /* LTR */
+  padding: 0 4% 15px;
   background: #fff;
   position: relative;
   color: #333;
@@ -478,107 +470,185 @@ tr td:last-child {
   border-right: 1px solid #bebfb9; /* LTR */
 }
 
-
 /**
- * Fieldsets.
- *
- * Fieldset legends are displayed like containers in Seven. However, several
- * browsers do not support styling of LEGEND elements. To achieve the desired
- * styling:
- * - All fieldsets use 'position: relative'.
- * - All legend labels are wrapped in a single span.fieldset-legend that uses
- *   'position: absolute', which means that the LEGEND element itself is not
- *   rendered by browsers.
- * - Due to using 'position: absolute', collapsed fieldsets do not have a
- *   height; the fieldset requires a 'padding-top' to make the absolute
- *   positioned .fieldset-legend appear as though it would have a height.
- * - Various browsers are positioning the legend differently if there is a
- *   'padding-left'/'padding-right' applied on a fieldset and inherit the
- *   positioning even to absolute positioned elements within; we therefore have
- *   to apply all padding to the inner .fieldset-wrapper instead.
+ * Forms
  */
-fieldset {
-  border: 1px solid #ccc;
-  padding: 2.5em 0 0 0; /* LTR */
-  position: relative;
-  margin: 1em 0;
+input,
+textarea,
+select {
+  -moz-box-sizing: border-box;
+  -webkit-box-sizing: border-box;
+  box-sizing: border-box;
+}
+select[multiple] {
+  display: block;
 }
-fieldset .fieldset-legend {
-  margin-top: 0.5em;
-  padding-left: 15px; /* LTR */
-  position: absolute;
-  text-transform: uppercase;
+#diff-inline-form select,
+div.filter-options select {
+  padding: 0;
 }
-fieldset .fieldset-wrapper {
-  padding: 0 13px 13px 15px; /* LTR */
+.form-autocomplete,
+.form-text,
+.form-tel,
+.form-email,
+.form-url,
+.form-search,
+.form-number,
+.form-color,
+.form-file,
+.form-textarea {
+  background: #f7f7f7;
+  -moz-border-radius: 0;
+  border-radius: 0;
+  border: 1px solid #bbb;
+  -moz-box-shadow: inset 0 1px 3px rgba(0, 0, 0, .2);
+  -webkit-box-shadow: inset 0 1px 3px rgba(0, 0, 0, .2);
+  box-shadow: inset 0 1px 3px rgba(0, 0, 0, .2);
+  color: #333;
+  padding: .5em;
+  -moz-transition: border linear 0.2s, box-shadow linear 0.2s;
+  -webkit-transition: border linear 0.2s, box-shadow linear 0.2s;
+  transition: border linear 0.2s, box-shadow linear 0.2s;
 }
-fieldset.collapsed {
-  background-color: transparent;
+td .form-autocomplete,
+td .form-text,
+td .form-tel,
+td .form-email,
+td .form-url,
+td .form-search,
+td .form-number,
+td .form-color {
+  padding-bottom: .25em;
+  padding-top: .25em;
+}
+.form-autocomplete,
+.form-text,
+.form-tel,
+.form-email,
+.form-url,
+.form-search,
+.form-number,
+.form-color,
+textarea {
+  max-width: 100%;
+}
+.layout-form-3 .form-autocomplete,
+.layout-form-3 .form-text,
+.layout-form-3 .form-tel,
+.layout-form-3 .form-email,
+.layout-form-3 .form-url,
+.layout-form-3 .form-search,
+.layout-form-3 .form-number,
+.layout-form-3 .form-color,
+.layout-form-3 textarea {
+  width: 100%;
 }
-.js fieldset.collapsed {
-  border-width: 1px;
-  height: auto;
+.form-text:focus,
+.form-tel:focus,
+.form-email:focus,
+.form-url:focus,
+.form-search:focus,
+.form-number:focus,
+.form-color:focus,
+.form-file:focus,
+textarea:focus {
+  background-color: #f9f9f9;
 }
-fieldset fieldset {
-  background-color: #fff;
+.form-disabled input.form-autocomplete,
+.form-disabled input.form-text,
+.form-disabled input.form-tel,
+.form-disabled input.form-email,
+.form-disabled input.form-url,
+.form-disabled input.form-search,
+.form-disabled input.form-number,
+.form-disabled input.form-color,
+.form-disabled input.form-file,
+.form-disabled textarea.form-textarea,
+.form-disabled select.form-select {
+  background-color: #eee;
+  color: #777;
 }
-fieldset fieldset fieldset {
-  background-color: #f8f8f8;
+.image-widget-data {
+  float: none;
+}
+.form-file {
+  max-width: 60%;
+}
+.js input.form-autocomplete {
+  background-position: 100% 8px;
+}
+.js input.throbbing {
+  background-position: 100% -12px;
 }
 
 /**
- * Form elements.
+ * Form items
  */
-.form-item {
-  padding: 9px 0;
-  margin: 0 0 10px;
+.form-item,
+[class*="field-name-field-"] {
+  margin: 0 0 8px 0;
+  padding-bottom: 8px;
+  padding-top: 8px;
+}
+.form-item:last-child {
+  margin-bottom: 0;
+}
+.text-format-wrapper .form-item {
+  padding-bottom: 0;
 }
 .filter-wrapper .form-item,
 div.teaser-checkbox .form-item,
 .form-item .form-item {
-  padding: 5px 0;
-  margin: 0;
   border: 0;
+  margin: 0;
+  padding: 3px 0;
 }
-.form-type-checkbox {
-  padding: 0;
-}
-.text-format-wrapper .form-item {
+tr .form-item {
   padding-bottom: 0;
+  padding-top: 0;
 }
-.form-item label {
-  margin: 0;
-  padding: 0;
+.form-type-checkbox + *[style] {
+  margin-top: 1em;
 }
-.form-item label.option {
+
+/**
+ * Labels
+ */
+label {
+  font-size: 1.077em;
+  margin-bottom: .4em;
+}
+label[for] {
+  cursor: pointer; /* Labels with explicit associations are clickable. */
+}
+label[for="edit-filters-order"] {
+  float: left;
+}
+label.option {
   font-size: 0.923em;
   text-transform: none;
 }
-.form-item label.option input {
+label.option input {
   vertical-align: middle;
 }
-.form-disabled input.form-autocomplete,
-.form-disabled input.form-text,
-.form-disabled input.form-tel,
-.form-disabled input.form-email,
-.form-disabled input.form-url,
-.form-disabled input.form-search,
-.form-disabled input.form-number,
-.form-disabled input.form-color,
-.form-disabled input.form-file,
-.form-disabled textarea.form-textarea,
-.form-disabled select.form-select {
-  background-color: #eee;
-  color: #777;
+
+/**
+ * Checkboxes and Radios
+ */
+.form-type-checkbox {
+  margin: 8px 0;
+  padding: 0;
+}
+input.form-checkbox,
+input.form-radio {
+  vertical-align: baseline;
 }
 
 /* Filter */
 .filter-wrapper {
   border-top: 0;
-  padding: 10px 2px;
-}
-.filter-wrapper .fieldset-wrapper {
-  padding: 0 6px;
+  padding: 0;
+  overflow: hidden;
 }
 .filter-wrapper .form-item,
 .filter-wrapper .filter-guidelines,
@@ -586,133 +656,583 @@ div.teaser-checkbox .form-item,
   font-size: 0.923em;
   padding: 2px 0 0 0; /* LTR */
 }
-ul.tips,
-div.description,
-.form-item div.description {
-  margin: 5px 0;
-  line-height: 1.231em;
-  font-size: 0.923em;
-  color: #666;
+.exposed-filters .form-item {
+  overflow: hidden;
 }
-ul.tips li {
-  margin: 0.25em 0 0.25em 1.5em; /* LTR */
+
+/**
+ * Form item descriptions and explanatory text
+ */
+.tips,
+.description,
+.form-item .description {
+  color: #666;
+  font-size: 12px;
+  font-weight: 300;
+  line-height: 1.4em;
+  margin: 5px 0;
+  text-shadow: none;
 }
 body div.form-type-radio div.description,
 body div.form-type-checkbox div.description {
   margin-left: 1.5em; /* LTR */
 }
-input.form-submit,
-a.button {
-  cursor: pointer;
-  padding: 4px 17px;
-  margin-bottom: 1em;
-  margin-right: 1em; /* LTR */
-  color: #5a5a5a;
-  text-align: center;
-  font-weight: normal;
+div.admin-requirements,
+div.admin-required {
+  color: #666;
+  margin-top: .5em;
+}
+
+/**
+ * Fieldsets
+ */
+fieldset {
+  border: 1px solid #ccc;
+  margin: 1em 0;
+  padding: 0; /* LTR */
+}
+fieldset fieldset {
+  background-color: #fff;
+}
+fieldset fieldset fieldset {
+  background-color: #f8f8f8;
+}
+fieldset .fieldset-wrapper {
+  clear: both;
+  margin-bottom: 13px;
+  margin-top: 13px;
+  padding: 0 13px;
+}
+
+/**
+ * Fieldset Legends
+ * 1. Emulate display: block in modern browsers
+ */
+legend {
+  float: left; /* 1. */
   font-size: 1.077em;
-  font-family: "Lucida Grande", Verdana, sans-serif;
-  border: 1px solid #e4e4e4;
-  border-bottom: 1px solid #b4b4b4;
-  border-left-color: #d2d2d2;
-  border-right-color: #d2d2d2;
-  background: url(images/buttons.png) 0 0 repeat-x;
-  -moz-border-radius: 20px;
-  border-radius: 20px;
-}
-a.button:link,
-a.button:visited,
-a.button:hover,
-a.button:active {
+  font-weight: bold;
+  margin: .75em 0 .5em 0;
+  padding: 0;
+  width: 100%; /* 1. */
+}
+fieldset .fieldset-legend {
+  line-height: 1.25em;
+  padding-left: 13px; /* LTR; @todo */
+  text-transform: uppercase;
+}
+
+/**
+ * Collapsible fieldsets
+ */
+fieldset.collapsed {
+  background-color: transparent;
+}
+.js fieldset.collapsed {
+  border-width: 1px;
+  height: auto;
+}
+.js fieldset.collapsible > legend {
+  font-size: 13px;
+  margin-bottom: 0;
+  margin-top: 0;
+  padding: 0;
+}
+/* 1. Override standard menu-expanded/collapsed bg images */
+.js fieldset.collapsible > legend .fieldset-legend {
+  background-image: none; /* 1 */
+  margin: 0;
+  padding: 0;
+  position: relative;
+}
+/* Reduce spacing and smooth animation for contents */
+/* @todo find a better solution */
+.collapsible .form-item {
+  margin: 0;
+}
+.collapsible .form-type-checkbox {
+  padding: 4px 0;
+}
+/* Fieldset toggle <a> */
+.collapsible .fieldset-title {
+  display: block;
+  outline: 0;
+  padding: 1em 13px 1em 26px;
   text-decoration: none;
-  color: #5a5a5a;
-}
-.node-form input#edit-submit,
-.node-form input#edit-submit-1 {
-  border: 1px solid #8eB7cd;
-  border-left-color: #8eB7cd;
-  border-right-color: #8eB7cd;
-  border-bottom-color: #7691a2;
-  background: url(images/buttons.png) 0 -40px repeat-x;
-  color: #133B54;
-}
-input.form-submit:active {
-  background: #666;
-  color: #fff;
-  border-color: #555;
-  text-shadow: #222 0 -1px 0;
 }
-input.form-button-disabled,
-input.form-button-disabled:active {
-  background: #eee none;
-  border-color: #eee;
+/* New expanded/collapsed icons are their own elements, so background overflow
+ * with sprites is no longer an issue. */
+.js .collapsible .fieldset-title:before {
+  background: transparent url(images/icon-twistie.png) no-repeat 0 -12px;
+  content: '';
+  display: block;
+  height: 12px;
+  left: 10px;
+  overflow: hidden;
+  position: absolute;
+  top: 1.15em;
+  width: 12px;
+}
+.js .collapsed .fieldset-title:before {
+  background-position: 0 0; /* LTR; @todo RTL */
+}
+.js .fieldset-title:hover .fieldset-title-text {
+  text-decoration: underline;
+}
+.fieldset-legend span.summary {
+  display: none;
+}
+/* body class to re-enable summaries */
+.show-collapsible-summaries .fieldset-legend span.summary {
+  display: inline;
+  font-size: .95em;
+  font-weight: normal;
+  margin: 0;
+  padding: 0;
+  text-decoration: none;
   text-shadow: none;
-  color: #999;
-}
-input.form-autocomplete,
-input.form-text,
-input.form-tel,
-input.form-email,
-input.form-url,
-input.form-search,
-input.form-number,
-input.form-color,
-input.form-file,
-textarea.form-textarea,
-select.form-select {
-  padding: 2px;
-  border: 1px solid #ccc;
-  border-top-color: #999;
-  background: #fff;
-  color: #333;
-  -webkit-transition: border linear 0.2s, box-shadow linear 0.2s;
-  -moz-transition: border linear 0.2s, box-shadow linear 0.2s;
-  transition: border linear 0.2s, box-shadow linear 0.2s;
+  text-transform: none;
 }
-input.form-text:focus,
-input.form-tel:focus,
-input.form-email:focus,
-input.form-url:focus,
-input.form-search:focus,
-input.form-number:focus,
-input.form-color:focus,
-input.form-file:focus,
-textarea.form-textarea:focus,
-select.form-select:focus {
-  color: #000;
-  border-color: rgba(0, 116, 189, 0.8);
-  -webkit-box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.1), 0 0 8px rgba(220, 220, 220, 0.4);
-  -moz-box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.1), 0 0 8px rgba(220, 220, 220, 0.4);
-  box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.1), 0 0 8px rgba(220, 220, 220, 0.4);
-  outline-color: rgba(0, 116, 189, 0.5);
+
+/**
+ * Accordion: custom collapsible fielset block
+ *
+ * @todo the holy grail technique needs to be isolated into a variant or scoped.
+ */
+.accordion {
+  background-color: #eee;
+  border-left: 1px solid #ccc;
+  border-right: 1px solid #ccc;
+  border-top: 1px solid #ccc;
+  margin-bottom: 1em;
+  margin-top: 1em;
 }
-.js input.form-autocomplete {
-  background-position: 100% 4px;
+.accordion > .form-wrapper {
+  border: 0;
+  -moz-box-shadow: 0 1px 0 white;
+  -webkit-box-shadow: 0 1px 0 white;
+  box-shadow: 0 1px 0 white;
+  margin: 0;
 }
-.js input.throbbing {
-  background-position: 100% -16px;
+.accordion .collapsibles > .fieldset-wrapper {
+  margin: 0;
+  padding: 0;
 }
-ul.action-links {
-  margin: 1em 0;
-  padding: 0 20px 0 20px; /* LTR */
+/* Expanded fieldset (default state) */
+.accordion .collapsible {
+  background-color: #e2e2e2;
+  background-image:
+    -moz-linear-gradient(left, rgba(0, 0, 0, .05), transparent 3px),
+    -moz-linear-gradient(right, rgba(0, 0, 0, .05), transparent 3px);
+  background-image:
+    -ms-linear-gradient(left, rgba(0, 0, 0, .05), transparent 3px),
+    -ms-linear-gradient(right, rgba(0, 0, 0, .05), transparent 3px);
+  background-image:
+    -o-linear-gradient(left, rgba(0, 0, 0, .05), transparent 3px),
+    -o-linear-gradient(right, rgba(0, 0, 0, .05), transparent 3px);
+  background-image:
+    -webkit-linear-gradient(left, rgba(0, 0, 0, .05), transparent 3px),
+    -webkit-linear-gradient(right, rgba(0, 0, 0, .05), transparent 3px);
+  background-image:
+    linear-gradient(left, rgba(0, 0, 0, .05), transparent 3px),
+    linear-gradient(right, rgba(0, 0, 0, .05), transparent 3px);
+  border-bottom: 1px solid #a5a5a5;
+  border-left: 0;
+  border-right: 0;
+  border-top: 0;
+  -moz-box-shadow: inset 0 1px 0px rgba(255, 255, 255, .5);
+  -webkit-box-shadow: inset 0 1px 0px rgba(255, 255, 255, .5);
+  box-shadow: inset 0 1px 0px rgba(255, 255, 255, .5);
+  margin: 0;
+  text-shadow: 0 1px 0 white;
+  -moz-transition: background-color .1s;
+  -ms-transition: background-color .1s;
+  -o-transition: background-color .1s;
+  -webkit-transition: background-color .1s;
+  transition: background-color .1s;
+}
+/* Expanded, with top inner shadow */
+.accordion .collapsible:first-child,
+.accordion .collapsed + .collapsible {
+  -moz-box-shadow: inset 0 2px 4px rgba(0, 0, 0, .14);
+  -webkit-box-shadow: inset 0 2px 4px rgba(0, 0, 0, .14);
+  box-shadow: inset 0 2px 4px rgba(0, 0, 0, .14);
+}
+/* Override all expanded variants */
+.accordion .collapsed {
+  background-color: transparent !important;
+  background-image: none !important;
+  border-bottom: 1px solid #b5b5b5 !important;
+  -moz-box-shadow: inset 0 1px 0px white !important;
+  -webkit-box-shadow: inset 0 1px 0px white !important;
+  box-shadow: inset 0 1px 0px white !important;
+}
+.accordion .collapsible a {
+  color: #005E99;
+}
+.accordion .collapsed a {
+  color: #0074BD;
+}
+@media screen and (min-width: 900px) {
+  .layout-form-3 .form-region-second .accordion {
+    background-color: transparent;
+    margin-top: 0;
+    margin-bottom: 0;
+    border: 0;
+  }
+  .overlay .layout-form-3 .form-region-second .accordion .collapsible {
+    background-image: -moz-linear-gradient(left, rgba(0, 0, 0, .08), transparent 6px);
+    background-image: -ms-linear-gradient(left, rgba(0, 0, 0, .08), transparent 6px);
+    background-image: -o-linear-gradient(left, rgba(0, 0, 0, .08), transparent 6px);
+    background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, .08), transparent 6px);
+    background-image: linear-gradient(left, rgba(0, 0, 0, .08), transparent 6px);
+  }
+}
+
+/**
+ * Buttons
+ *
+ * 1. Font metrics matter for vertical centering of button text. Choose a single
+ *    consistent typeface.
+ * 2. Image file gradient fallback
+ */
+.button {
+  background: #f9f9f9 url(images/buttons.png) repeat-x left top; /* 2 */
+  background: #f9f9f9 -moz-linear-gradient(top, transparent, rgba(0, 0, 0, .12));
+  background: #f9f9f9 -ms-linear-gradient(top, transparent, rgba(0, 0, 0, .12));
+  background: #f9f9f9 -o-linear-gradient(top, transparent, rgba(0, 0, 0, .12));
+  background: #f9f9f9 -webkit-linear-gradient(top, transparent, rgba(0, 0, 0, .12));
+  background: #f9f9f9 linear-gradient(top, transparent, rgba(0, 0, 0, .12));
+  border: 1px solid #999;
+  -moz-border-radius: 4px;
+  border-radius: 4px;
+  -moz-box-shadow: 0 1px 2px rgba(0, 0, 0, .15), inset 0 1px 0 rgba(255, 255, 255, .4);
+  -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, .15), inset 0 1px 0 rgba(255, 255, 255, .4);
+  box-shadow: 0 1px 2px rgba(0, 0, 0, .15), inset 0 1px 0 rgba(255, 255, 255, .4);
+  -moz-box-sizing: border-box;
+  -webkit-box-sizing: border-box;
+  box-sizing: border-box;
+  color: #222;
+  cursor: pointer;
+  display: inline-block;
+  font-family: Arial, sans-serif; /* 1 */
+  line-height: 1em;
+  padding: 8px 2.5em;
+  text-align: center;
+  text-decoration: none;
+  text-shadow: 0 1px rgba(255, 255, 255, .85);
+}
+.button:focus,
+.button:hover {
+  background: white -moz-linear-gradient(top, transparent, rgba(0, 0, 0, .09));
+  background: white -ms-linear-gradient(top, transparent, rgba(0, 0, 0, .09));
+  background: white -o-linear-gradient(top, transparent, rgba(0, 0, 0, .09));
+  background: white -webkit-linear-gradient(top, transparent, rgba(0, 0, 0, .09));
+  background: white linear-gradient(top, transparent, rgba(0, 0, 0, .09));
+}
+.button:active {
+  background: #f9f9f9 url(images/buttons.png) repeat-x left bottom;
+  background: #f9f9f9 -moz-linear-gradient(bottom, rgba(0, 0, 0, .05), rgba(0, 0, 0, .15));
+  background: #f9f9f9 -ms-linear-gradient(bottom, rgba(0, 0, 0, .05), rgba(0, 0, 0, .15));
+  background: #f9f9f9 -o-linear-gradient(bottom, rgba(0, 0, 0, .05), rgba(0, 0, 0, .15));
+  background: #f9f9f9 -webkit-linear-gradient(bottom, rgba(0, 0, 0, .05), rgba(0, 0, 0, .15));
+  background: #f9f9f9 linear-gradient(bottom, rgba(0, 0, 0, .05), rgba(0, 0, 0, .15));
+  border-color: #999;
+  -moz-box-shadow: inset 0 1px 3px rgba(0, 0, 0, .25);
+  -webkit-box-shadow: inset 0 1px 3px rgba(0, 0, 0, .25);
+  box-shadow: inset 0 1px 3px rgba(0, 0, 0, .25);
+}
+.form-file + .button,
+.form-item-operation + .button {
+  margin-left: .5em;
+}
+td .button {
+  height: auto;
+  padding-bottom: .4em;
+  padding-top: .4em;
+}
+/**
+ * Reversed-color buttons (white text on dark)
+ *
+ * 1. prevent over-bold letterforms in webkit
+ */
+.button-primary,
+.button-delete {
+  color: white;
+  font-weight: bolder;
+  -webkit-font-smoothing: antialiased; /* 1 */
+  text-shadow: 0 1px 1px rgba(0, 0, 0, .35);
+}
+/* Primary button */
+.button-primary {
+  background-color: #4f9fea;
+  background-image: -moz-linear-gradient(top, rgba(68, 129, 220, 0), rgba(68, 129, 220, 1));
+  background-image: -ms-linear-gradient(top, rgba(68, 129, 220, 0), rgba(68, 129, 220, 1));
+  background-image: -o-linear-gradient(top, rgba(68, 129, 220, 0), rgba(68, 129, 220, 1));
+  background-image: -webkit-linear-gradient(top, rgba(68, 129, 220, 0), rgba(68, 129, 220, 1));
+  background-image: linear-gradient(top, rgba(68, 129, 220, 0), rgba(68, 129, 220, 1));
+  border-color: #3974ae;
+}
+.button-primary:focus,
+.button-primary:hover {
+  background-color: #55adff;
+  background-image: -moz-linear-gradient(top, rgba(68, 129, 220, 0), rgba(68, 129, 220, .4));
+  background-image: -ms-linear-gradient(top, rgba(68, 129, 220, 0), rgba(68, 129, 220, .4));
+  background-image: -o-linear-gradient(top, rgba(68, 129, 220, 0), rgba(68, 129, 220, .4));
+  background-image: -webkit-linear-gradient(top, rgba(68, 129, 220, 0), rgba(68, 129, 220, .4));
+  background-image: linear-gradient(top, rgba(68, 129, 220, 0), rgba(68, 129, 220, .4));
+
+}
+.button-primary:active {
+  background-color: #4f9fea;
+  background-image: -moz-linear-gradient(bottom, rgba(68, 129, 220, 0), rgba(68, 129, 220, 1));
+  background-image: -ms-linear-gradient(bottom, rgba(68, 129, 220, 0), rgba(68, 129, 220, 1));
+  background-image: -o-linear-gradient(bottom, rgba(68, 129, 220, 0), rgba(68, 129, 220, 1));
+  background-image: -webkit-linear-gradient(bottom, rgba(68, 129, 220, 0), rgba(68, 129, 220, 1));
+  background-image: linear-gradient(bottom, rgba(68, 129, 220, 0), rgba(68, 129, 220, 1));
+  border-color: #3974ae;
+}
+/* Delete button */
+.button-delete {
+  background-color: #ed522f;
+  background-image: -moz-linear-gradient(top, rgba(200, 61, 29, 0), rgba(200, 61, 29, 1));
+  background-image: -ms-linear-gradient(top, rgba(200, 61, 29, 0), rgba(200, 61, 29, 1));
+  background-image: -o-linear-gradient(top, rgba(200, 61, 29, 0), rgba(200, 61, 29, 1));
+  background-image: -webkit-linear-gradient(top, rgba(200, 61, 29, 0), rgba(200, 61, 29, 1));
+  background-image: linear-gradient(top, rgba(200, 61, 29, 0), rgba(200, 61, 29, 1));
+  border-color: #91311c;
+}
+.button-delete:focus,
+.button-delete:hover {
+  background-color: #ff6541;
+  background-image: -moz-linear-gradient(top, rgba(200, 61, 29, 0), rgba(200, 61, 29, .4));
+  background-image: -ms-linear-gradient(top, rgba(200, 61, 29, 0), rgba(200, 61, 29, .4));
+  background-image: -o-linear-gradient(top, rgba(200, 61, 29, 0), rgba(200, 61, 29, .4));
+  background-image: -webkit-linear-gradient(top, rgba(200, 61, 29, 0), rgba(200, 61, 29, .4));
+  background-image: linear-gradient(top, rgba(200, 61, 29, 0), rgba(200, 61, 29, .4));
+}
+.button-delete:active {
+  background-color: #ed522f;
+  background-image: -moz-linear-gradient(bottom, rgba(200, 61, 29, 0), rgba(200, 61, 29, 1));
+  background-image: -ms-linear-gradient(bottom, rgba(200, 61, 29, 0), rgba(200, 61, 29, 1));
+  background-image: -o-linear-gradient(bottom, rgba(200, 61, 29, 0), rgba(200, 61, 29, 1));
+  background-image: -webkit-linear-gradient(bottom, rgba(200, 61, 29, 0), rgba(200, 61, 29, 1));
+  background-image: linear-gradient(bottom, rgba(200, 61, 29, 0), rgba(200, 61, 29, 1));
+  border-color: #91311c;
+}
+/* Disabled buttons; selectors are overqualified to override other states. */
+.button.button[disabled],
+.button.button-disabled,
+input[type].form-button-disabled {
+  background: #eee;
+  border-color: #aaa;
+  -moz-box-shadow: inset 0 1px 0 rgba(255, 255, 255, .4);
+  -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, .4);
+  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .4);
+  color: #777;
+  cursor: not-allowed;
+  opacity: .65;
+  text-shadow: none;
+}
+
+/**
+ * Action links
+ *
+ * Links at the top of admin pages, like the '+ Add content' link at the top
+ * of /admin/content
+ */
+.action-links {
   list-style-type: none;
+  margin: 1em 0;
   overflow: hidden;
+  padding-left: 0; /* LTR */
 }
-ul.action-links li {
+.action-links > li {
   float: left; /* LTR */
   margin: 0 1em 0 0; /* LTR */
 }
-ul.action-links a {
+.action-links a {
   padding-left: 15px; /* LTR */
   background: transparent url(images/add.png) no-repeat 0 center;
   line-height: 30px;
 }
 
-/* Exceptions */
-#diff-inline-form select,
-div.filter-options select {
+/**
+ * Node add/edit pages
+ *
+ * Widescreen version has main fields to the left and settings in a sidebar;
+ * mobile layout is stacked, top-to-bottom: main fields, settings, form actions.
+ */
+.region-content .preview {
+  margin-bottom: 1.5em;
+}
+.form-region-footer {
+  overflow: hidden;
+  padding-bottom: 1em;
+}
+#edit-settings-summary {
+  border-bottom: 1px solid #bbb;
+  overflow: hidden;
+  padding-bottom: .5em;
+}
+#edit-settings-summary > legend {
+  display: none;
+}
+#edit-settings-summary span.label {
+  font-weight: bold;
+}
+#edit-settings-summary .form-item {
+  font-size: 1em;
+  margin: 0;
+  padding: 0;
+}
+#edit-settings-summary #edit-publication-state {
+  font-size: 1.231em;
+  font-weight: normal;
+  margin-bottom: 0;
+  margin-top: 1em;
+  text-shadow: 0 1px 0 white;
+}
+#edit-settings-summary #edit-last-saved {
+  font-style: italic;
+  margin-bottom: .5em;
+}
+#edit-settings-summary #edit-last-saved span.label {
+  font-weight: normal;
+}
+#edit-settings-summary .form-item-log {
+  margin-top: .5em;
+}
+.node-form-revision-information {
+  background: transparent;
+  border: 0;
+}
+.node-form-revision-information > .fieldset-wrapper {
+  margin: 0;
   padding: 0;
 }
+.form-actions {
+  margin-top: 1em;
+}
+.form-actions > * {
+  margin-right: 1em; /* LTR; @todo RTL */
+}
+.form-action-group {
+  background-color: #eee;
+  -moz-border-radius: 5px;
+  border-radius: 5px;
+  border: 1px solid #ccc;
+  -moz-box-shadow: inset 0 1px 2px rgba(0, 0, 0, .15);
+  -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, .15);
+  box-shadow: inset 0 1px 2px rgba(0, 0, 0, .15);
+  -moz-box-sizing: border-box;
+  -webkit-box-sizing: border-box;
+  box-sizing: border-box;
+  display: inline-block;
+  margin-top: -4px;
+  padding: 3px 6px 3px 3px; /* LTR; @todo RTL */
+}
+.button-delete {
+  float: right; /* LTR; @todo RTL */
+  margin-right: 0; /* LTR; @todo RTL */
+  width: auto;
+}
+@media screen and (max-width: 600px) {
+  .form-actions > * {
+    margin-right: 0; /* LTR; @todo RTL */
+    width: 100%;
+  }
+  .form-actions > * + * {
+    margin-top: 1.75em;
+  }
+  .form-action-group .button {
+    display: inline-block;
+    margin: 0;
+    width: 50%;
+  }
+  .form-action-group input,
+  .form-action-group select {
+    width: 48%;
+  }
+}
+@media screen and (min-width: 900px) {
+  .overlay[class*="page-node-add-"] #overlay-content,
+  .overlay.page-node-edit #overlay-content {
+    padding: 0;
+  }
+  #page {
+    padding-bottom: 40px;
+  }
+  .overlay[class*="page-node-add-"] #page,
+  .overlay.page-node-edit #page {
+    padding-bottom: 0;
+  }
+  /* form container */
+  .layout-form-3 {
+    overflow: hidden;
+    position: relative;
+  }
+  .layout-form-3:after {
+    background: #ccc;
+    bottom: 0;
+    content: '';
+    display: block;
+    height: 1px;
+    position: absolute;
+    right: 0; /* LTR; @todo RTL */
+    width: 35%;
+  }
+  .overlay .layout-form-3 {
+    border-top: 1px solid #ccc;
+    margin-left: -20px;
+    margin-right: -20px;
+  }
+  .overlay .layout-form-3:after {
+    display: none;
+  }
+  /* layout regions */
+  .form-region {
+    -moz-box-sizing: border-box;
+    -webkit-box-sizing: border-box;
+    box-sizing: border-box;
+  }
+  .layout-form-3 .form-region-first,
+  .layout-form-3 .form-region-footer {
+    float: left; /* LTR; @todo RTL */
+    padding-right: 20px; /* LTR; @todo RTL */
+    width: 65%;
+  }
+  .overlay .layout-form-3 .form-region-first {
+    padding-top: 1.5em;
+  }
+  .overlay .layout-form-3 .form-region-first,
+  .overlay .layout-form-3 .form-region-footer {
+    padding-left: 20px; /* LTR; @todo RTL */
+  }
+  .layout-form-3 .form-region-second {
+    background-color: #eee;
+    border: 1px solid #ccc;
+    float: right; /* LTR; @todo RTL */
+    margin-bottom: -999em;
+    padding-bottom: 999em;
+    width: 35%;
+  }
+  .overlay .layout-form-3 .form-region-second {
+    border-left: 1px solid #c6c6c6;
+    -moz-box-shadow: inset 0.2em 0.1em .5em rgba(0, 0, 0, .1); /* LTR; @todo RTL */
+    -webkit-box-shadow: inset 0.2em 0.1em .5em rgba(0, 0, 0, .1); /* LTR; @todo RTL */
+    box-shadow: inset 0.2em 0.1em .5em rgba(0, 0, 0, .1); /* LTR; @todo RTL */
+  }
+  /* input and textarea tweaks */
+  .layout-form-3 .form-region-second input,
+  .layout-form-3 .form-region-second textarea {
+    background-color: white;
+  }
+  .layout-form-3 .form-region-second .collapsible input,
+  .layout-form-3 .form-region-second .collapsible textarea {
+    background-color: #f4f4f4;
+  }
+}
 
 /**
  * System.
@@ -842,11 +1362,44 @@ ol.task-list li.done {
 }
 
 /* Overlay theming */
+#overlay {
+  -webkit-box-sizing: border-box;
+  -moz-box-sizing: border-box;
+  box-sizing: border-box;
+  min-width: 0;
+  overflow-x: hidden; /* prevent unnecessary scrollbars; @todo: more testing */
+  padding-left: 36px;
+  padding-right: 36px;
+  padding-top: 0;
+  width: 100%;
+}
+@media screen and (min-width: 900px) {
+  #overlay {
+    padding-right: 48px; /* LTR */
+  }
+}
+#overlay-tabs {
+  bottom: -1px;
+  font-size: 1.54em;
+  line-height: 1.54em;
+  margin: 0;
+}
+#overlay-tabs li {
+  margin: 0 -2px;
+}
+#overlay-content {
+  padding: 0 0 1em 0;
+}
 .overlay #branding {
   background-color: #fff;
+  padding-left: 20px;
+  padding-right: 20px;
   padding-top: 15px;
 }
-.overlay #branding h1.page-title,
+.overlay .breadcrumb {
+  padding-bottom: 0;
+}
+.overlay .page-title,
 .overlay #left,
 .overlay #footer {
   display: none;
@@ -855,20 +1408,6 @@ ol.task-list li.done {
   margin: 0;
   padding: 0 20px;
 }
-.overlay #branding .breadcrumb {
-  float: left; /* LTR */
-  position: relative;
-  z-index: 10;
-}
-#overlay-tabs {
-  bottom: -1px;
-  font-size: 1.54em;
-  line-height: 1.54em;
-  margin: 0;
-}
-#overlay-tabs li {
-  margin: 0 -2px;
-}
 .overlay ul.secondary {
   background: transparent none;
   margin: -1.4em 0 0.3em 0; /* LTR */
@@ -877,9 +1416,6 @@ ol.task-list li.done {
 .overlay #content {
   padding: 0;
 }
-h1#overlay-title {
-  font-weight: normal;
-}
 
 /* Shortcut theming */
 div.add-or-remove-shortcuts {
@@ -888,8 +1424,26 @@ div.add-or-remove-shortcuts {
   padding-left: 6px; /* LTR */
 }
 
-/* Field UI */
+/* Dashboard */
+#dashboard .dashboard-region div.block h2 {
+  background: #E0E0D8;
+}
+#dashboard div.block h2 {
+  font-size: 1em;
+  margin: 0;
+  padding: 3px 10px;
+}
+#dashboard div.block div.content {
+  padding: 10px 5px 5px 5px; /* LTR */
+}
+#dashboard div.block div.content ul.menu {
+  margin-left: 20px; /* LTR */
+}
+#dashboard .dashboard-region .block {
+  border: #ccc 1px solid;
+}
 
+/* Field UI */
 #field-display-overview input.field-formatter-settings-edit {
   margin: 0;
   padding: 1px 8px;
@@ -911,8 +1465,12 @@ div.add-or-remove-shortcuts {
 }
 
 /* Recent content block */
+#dashboard div#block-node-recent div.content {
+  padding: 0;
+}
 #block-node-recent table,
-#block-node-recent tr {
+#block-node-recent tr,
+#block-node-recent td:last-child {
   border: none;
 }
 #block-node-recent .more-link {
diff --git a/core/themes/seven/template.php b/core/themes/seven/template.php
index a8643ab..b72352e 100644
--- a/core/themes/seven/template.php
+++ b/core/themes/seven/template.php
@@ -115,3 +115,44 @@ function seven_css_alter(&$css) {
     $css['core/misc/ui/themes/base/jquery.ui.theme.css']['data'] = drupal_get_path('theme', 'seven') . '/jquery.ui.theme.css';
   }
 }
+
+/**
+ * Overrides theme_button().
+ *
+ * Seven generalizes its button styles; apply a .button class in addition to the
+ * standard `form-submit` class. If the #button_type has been set, forego the
+ * `form-submit` class and add button sub-classes of the form `.button-#button_type`.
+ * So for a #button_type of 'primary', classes will be "button button-primary".
+ */
+function seven_button($variables) {
+  $element = $variables['element'];
+  $element['#attributes']['type'] = 'submit';
+  element_set_attributes($element, array('id', 'name', 'value'));
+
+  $element['#attributes']['class'][] = 'button';
+  if (!empty($element['#button_type'])) {
+    $element['#attributes']['class'][] = 'button-' . $element['#button_type'];
+  }
+  else {
+    $element['#attributes']['class'][] = 'form-submit';
+  }
+  if (!empty($element['#attributes']['disabled'])) {
+    $element['#attributes']['class'][] = 'button-disabled';
+  }
+
+  return '<input' . drupal_attributes($element['#attributes']) . ' />';
+}
+
+/**
+ * Process variables for layout-form-3.tpl.php
+ *
+ * Wrap region contents in a faux-block.
+ */
+function seven_preprocess_layout_form_3(&$vars) {
+  $form_settings = array(
+    '#prefix' => '<div class="accordion">',
+    '#suffix' => '</div>',
+    'content' => $vars['regions']['second'],
+  );
+  $vars['regions']['second'] = $form_settings;
+}
