diff --git a/core/modules/outside_in/css/outside_in.module.css b/core/modules/outside_in/css/outside_in.module.css
index 984b1c0..181b5e8 100644
--- a/core/modules/outside_in/css/outside_in.module.css
+++ b/core/modules/outside_in/css/outside_in.module.css
@@ -4,7 +4,7 @@
  */
 
 /* Position the offcanvas tray container outside the right of the viewport. */
-.ui-dialog.ui-dialog-offcanvas {
+.ui-dialog-offcanvas {
   box-sizing: border-box;
   height: 100%;
   overflow: hidden;
@@ -16,30 +16,14 @@
   right: 0;
 }
 
-/* Create a place to name the tray. */
-.ui-dialog.ui-dialog-offcanvas h1 {
-  padding: 15px 25% 15px 15px; /* LTR */
-  margin-top: 0;
-  margin-bottom: 0;
-  font-size: 120%;
-}
-[dir="rtl"] .ui-dialog.ui-dialog-offcanvas h1 {
-  text-align: right;
-  padding-right: 0;
-  padding-left: 25%;
-}
 
 /* Wrap the form that's inside the offcanvas tray. */
-.ui-dialog.ui-dialog-offcanvas > .ui-dialog-content {
+.ui-dialog-offcanvas .ui-dialog-content {
   padding: 0 15px;
 }
-[dir="rtl"] .ui-dialog.ui-dialog-offcanvas .ui-dialog-content {
+[dir="rtl"] .ui-dialog-offcanvas .ui-dialog-content {
   text-align: right;
 }
-.ui-dialog.ui-dialog-offcanvas > .form-item,
-.ui-dialog.ui-dialog-offcanvas > .form-item .form-item {
-  width: 100%;
-}
 
 /*
  * Position the edit toolbar tab.
@@ -55,28 +39,15 @@
  * @todo Remove when more general form styling is done:
  *    https://www.drupal.org/node/2784437.
  */
-.ui-dialog.ui-dialog-offcanvas td {
-    width: auto;
-}
 .ui-dialog.ui-dialog-offcanvas .menu-enabled {
     width: auto;
 }
-.ui-dialog.ui-dialog-offcanvas table#menu-overview th {
-  display: none;
-}
 .ui-dialog.ui-dialog-offcanvas table#menu-overview tr td:first-child {
   min-width: 110px;
 }
-.ui-dialog.ui-dialog-offcanvas details > .details-wrapper {
-  padding: 5px;
+.ui-dialog-offcanvas .details-wrapper {
   overflow: scroll;
 }
-.ui-dialog.ui-dialog-offcanvas .tabledrag-toggle-weight {
+.ui-dialog-offcanvas .tabledrag-toggle-weight {
   font-size: 80%;
 }
-.ui-dialog.ui-dialog-offcanvas input:focus,
-.ui-dialog.ui-dialog-offcanvas summary:focus {
-  outline: none;
-  box-shadow: 2px 2px #ddd;
-}
-
diff --git a/core/modules/outside_in/css/outside_in.theme.css b/core/modules/outside_in/css/outside_in.theme.css
index 433a987..93045b7 100644
--- a/core/modules/outside_in/css/outside_in.theme.css
+++ b/core/modules/outside_in/css/outside_in.theme.css
@@ -92,18 +92,124 @@ button.toolbar-icon.toolbar-icon-edit.toolbar-item:hover > .toolbar-icon-edit:be
  * @todo Move Off-canvas css into core Off-canvas library:
  *   https://www.drupal.org/node/2784443.
  */
-.ui-dialog.ui-dialog-offcanvas {
-  background: #fff;
-  border-left: 1px solid #ddd; /* LTR */
+.ui-dialog-offcanvas {
+  border: 0 solid #ddd;
+  border-left-width: 1px; /* LTR */
   box-shadow: -2px 2px 1px 1px rgba(0, 0, 0, 0.1); /* LTR */
+  font-size: 1em;
+  font-family: "Source Sans Pro", "Lucida Grande", Verdana, sans-serif;
 }
-[dir="rtl"] .ui-dialog.ui-dialog-offcanvas {
-  border-right: 1px solid #ddd;
+[dir="rtl"] .ui-dialog-offcanvas {
+  border-left-width: 0;
+  border-right-width: 1px;
   box-shadow: 2px 2px 1px 1px rgba(0, 0, 0, 0.1);
 }
 
 /* Style the tray header. */
-.ui-dialog.ui-dialog-offcanvas h1 {
+.ui-dialog-offcanvas .ui-dialog-title {
   font-size: 120%;
-  border-bottom: 1px solid #ddd;
+}
+
+.ui-dialog-offcanvas .ui-dialog-titlebar {
+  background: #2d2d2d;
+  color: #ddd;
+}
+.ui-dialog-offcanvas .ui-dialog-content {
+  background: #565656;
+  color: #fff;
+}
+.ui-dialog-offcanvas details,
+.ui-dialog-offcanvas summary,
+.ui-dialog-offcanvas .details-wrapper {
+  border-width: 0;
+  margin: 0 -15px;
+  padding-left: 15px;
+  padding-right: 15px;
+}
+
+.ui-dialog-offcanvas details,
+.ui-dialog-offcanvas summary {
+  background: #565656;
+  color: #fff;
+}
+.ui-dialog-offcanvas details[open],
+.ui-dialog-offcanvas details[open] summary {
+  background: #424242;
+}
+.ui-dialog-offcanvas details[open] summary {
+  border-bottom: 1px solid #565656;
+}
+
+.ui-dialog-offcanvas summary {
+  text-shadow: none;
+  outline: none;
+  padding-bottom: 1em;
+  padding-top: 1em;
+}
+
+.ui-dialog-offcanvas a {
+  color: #85bef4;
+  border-bottom: none;
+}
+
+.ui-dialog-offcanvas .block-admin-label {
+  border-color: #a8a8a8;
+  border-style: solid;
+  border-width: 1px 0;
+  font-size: 120%;
+  margin: 1em 0;
+  padding: 0.5em 0;
+}
+
+.ui-dialog-offcanvas #menu-overview {
+  margin-top: 0;
+  margin-right: -15px;
+  margin-left: -15px;
+}
+.ui-dialog-offcanvas #menu-overview tr,
+.ui-dialog-offcanvas #menu-overview td,
+.ui-dialog-offcanvas #menu-overview th {
+  border-color: #a8a8a8;
+  border-left-width: 0;
+  border-right-width: 0;
+  border-top-width: 0;
+  background: none;
+}
+
+.ui-dialog-offcanvas .form-actions {
+  text-align: center;
+}
+.ui-dialog-offcanvas .button--primary {
+  background: #2e88d4 none;
+  border: none;
+  color: #fff;
+  font-size: 0.857em;
+  margin: 1em auto;
+  width: 75%;
+}
+.ui-dialog-offcanvas .button--primary:hover {
+  /* @todo Pick a different hover color. */
+  background: #2e88d4 none;
+}
+
+.ui-dialog-offcanvas .dropbutton-widget,
+.ui-dialog-offcanvas .dropbutton-toggle button {
+  background: #7b7b7b none;
+  border: none;
+  border-radius: 1em;
+  color: #fff;
+}
+.ui-dialog-offcanvas .dropbutton-widget:hover {
+  /* @todo Pick a different hover color. */
+  background: #7b7b7b none;
+}
+.ui-dialog-offcanvas .dropbutton a {
+  color: #fff;
+}
+.ui-dialog-offcanvas .dropbutton {
+  border: none;
+}
+.ui-dialog-offcanvas .dropbutton .dropbutton-action:hover,
+.ui-dialog-offcanvas .dropbutton a:hover {
+  background: none;
 }
diff --git a/core/modules/outside_in/outside_in.libraries.yml b/core/modules/outside_in/outside_in.libraries.yml
index 0b704af..e99eef8 100644
--- a/core/modules/outside_in/outside_in.libraries.yml
+++ b/core/modules/outside_in/outside_in.libraries.yml
@@ -5,8 +5,12 @@ drupal.outside_in:
   css:
     component:
       css/outside_in.module.css: {}
-      css/outside_in.theme.css: {}
       css/outside_in.motion.css: {}
+    theme:
+      # @todo Set the group higher than CSS_AGGREGATE_THEME so that it overrides
+      #   both jQuery UI and Classy's dialog.css, remove in
+      #   https://www.drupal.org/node/1945262.
+      css/outside_in.theme.css: { group: 200 }
   dependencies:
     - core/jquery
     - core/drupal
diff --git a/core/modules/outside_in/outside_in.module b/core/modules/outside_in/outside_in.module
index b3e6f07..df8b84a 100644
--- a/core/modules/outside_in/outside_in.module
+++ b/core/modules/outside_in/outside_in.module
@@ -5,6 +5,7 @@
  * Allows configuring blocks and other configuration from the site front-end.
  */
 
+use Drupal\Core\Asset\AttachedAssetsInterface;
 use Drupal\Core\Routing\RouteMatchInterface;
 use Drupal\outside_in\Block\BlockEntityOffCanvasForm;
 use Drupal\outside_in\Form\SystemBrandingOffCanvasForm;
@@ -134,3 +135,16 @@ function outside_in_block_alter(&$definitions) {
     }
   }
 }
+
+/**
+ * Implements hook_css_alter().
+ */
+function outside_in_css_alter(&$css, AttachedAssetsInterface $assets) {
+  // @todo Remove once conditional ordering is introduced in
+  //   https://www.drupal.org/node/1945262.
+  $path = drupal_get_path('module', 'outside_in') . '/css/outside_in.theme.css';
+  if (isset($css[$path])) {
+    // Use 200 to come after CSS_AGGREGATE_THEME.
+    $css[$path]['group'] = 200;
+  }
+}
diff --git a/core/modules/outside_in/src/Ajax/OpenOffCanvasDialogCommand.php b/core/modules/outside_in/src/Ajax/OpenOffCanvasDialogCommand.php
index 73354ed..0c61774 100644
--- a/core/modules/outside_in/src/Ajax/OpenOffCanvasDialogCommand.php
+++ b/core/modules/outside_in/src/Ajax/OpenOffCanvasDialogCommand.php
@@ -37,6 +37,9 @@ public function __construct($title, $content, array $dialog_options = [], $setti
     $this->dialogOptions['resizable'] = 'w';
     $this->dialogOptions['draggable'] = FALSE;
     $this->dialogOptions['drupalAutoButtons'] = FALSE;
+    // @todo drupal.ajax.js does not respect drupalAutoButtons properly, pass an
+    //   empty set of buttons until https://www.drupal.org/node/2793343 is in.
+    $this->dialogOptions['buttons'] = [];
   }
 
   /**
diff --git a/core/modules/outside_in/src/Block/BlockEntityOffCanvasForm.php b/core/modules/outside_in/src/Block/BlockEntityOffCanvasForm.php
index 089feae..ad22961 100644
--- a/core/modules/outside_in/src/Block/BlockEntityOffCanvasForm.php
+++ b/core/modules/outside_in/src/Block/BlockEntityOffCanvasForm.php
@@ -3,6 +3,7 @@
 namespace Drupal\outside_in\Block;
 
 use Drupal\block\BlockForm;
+use Drupal\Component\Render\FormattableMarkup;
 use Drupal\Core\Block\BlockPluginInterface;
 use Drupal\Core\Form\FormStateInterface;
 use Drupal\Core\Plugin\PluginWithFormsInterface;
@@ -32,9 +33,17 @@ public function form(array $form, FormStateInterface $form_state) {
       '#url' => $this->entity->toUrl('edit-form', ['query' => $query]),
       '#weight' => 1000,
     ];
+    $form['admin_label'] = [
+      '#type' => 'container',
+      '#attributes' => [
+        'class' => ['block-admin-label'],
+      ],
+      '#markup' => new FormattableMarkup('@block block', ['@block' => $this->entity->getPlugin()->getPluginDefinition()['admin_label']]),
+      '#weight' => 1500,
+    ];
 
     // Remove the ID and region elements.
-    unset($form['id'], $form['region']);
+    unset($form['id'], $form['region'], $form['settings']['admin_label']);
 
     return $form;
   }
@@ -42,6 +51,15 @@ public function form(array $form, FormStateInterface $form_state) {
   /**
    * {@inheritdoc}
    */
+  protected function actions(array $form, FormStateInterface $form_state) {
+    $actions = parent::actions($form, $form_state);
+    $actions['delete']['#access'] = FALSE;
+    return $actions;
+  }
+
+  /**
+   * {@inheritdoc}
+   */
   protected function buildVisibilityInterface(array $form, FormStateInterface $form_state) {
     // Do not display the visibility.
     return [];
diff --git a/core/modules/outside_in/src/Tests/Ajax/OffCanvasDialogTest.php b/core/modules/outside_in/src/Tests/Ajax/OffCanvasDialogTest.php
index 42c0ecf..3cc3acd 100644
--- a/core/modules/outside_in/src/Tests/Ajax/OffCanvasDialogTest.php
+++ b/core/modules/outside_in/src/Tests/Ajax/OffCanvasDialogTest.php
@@ -45,6 +45,7 @@ public function testDialog() {
           'resizable' => 'w',
           'draggable' => FALSE,
           'drupalAutoButtons' => FALSE,
+          'buttons' => [],
         ],
     ];
 
diff --git a/core/modules/outside_in/tests/src/Unit/Ajax/OpenOffCanvasDialogCommandTest.php b/core/modules/outside_in/tests/src/Unit/Ajax/OpenOffCanvasDialogCommandTest.php
index eac1b0f..76d570a 100644
--- a/core/modules/outside_in/tests/src/Unit/Ajax/OpenOffCanvasDialogCommandTest.php
+++ b/core/modules/outside_in/tests/src/Unit/Ajax/OpenOffCanvasDialogCommandTest.php
@@ -30,6 +30,7 @@ public function testRender() {
         'resizable' => 'w',
         'draggable' => FALSE,
         'drupalAutoButtons' => FALSE,
+        'buttons' => [],
       ],
     ];
     $this->assertEquals($expected, $command->render());
