diff --git a/app/javascript/dashboard/App.vue b/app/javascript/dashboard/App.vue
index 05888c5c7..b115f17b5 100644
--- a/app/javascript/dashboard/App.vue
+++ b/app/javascript/dashboard/App.vue
@@ -2,7 +2,7 @@
   
diff --git a/app/javascript/dashboard/assets/scss/_layout.scss b/app/javascript/dashboard/assets/scss/_layout.scss
index 952274321..594a14d95 100644
--- a/app/javascript/dashboard/assets/scss/_layout.scss
+++ b/app/javascript/dashboard/assets/scss/_layout.scss
@@ -9,87 +9,25 @@ body {
 }
 
 .app-wrapper {
-  @include full-height;
-  flex-grow: 0;
-  min-height: 0;
-  width: 100%;
+  @apply h-full flex-grow-0 min-h-0 w-full;
+
+  .button--fixed-top {
+    @apply fixed ltr:right-2 rtl:left-2 top-2 flex flex-row;
+  }
 }
 
 .banner + .app-wrapper {
+  // Reduce the height of the dashboard to make room for the banner.
+  // And causing the top right green-action button to be pushed down when scrolling.
+  @apply h-[calc(100%-48px)];
+
   .button--fixed-top {
-    top: 5.6 * $space-one;
+    @apply top-14;
   }
 
   .off-canvas-content {
     .button--fixed-top {
-      top: $space-small;
+      @apply top-2;
     }
   }
 }
-
-is-closed .app-root {
-  @include flex;
-  flex-direction: column;
-}
-
-.app-content {
-  @include flex;
-  @include full-height;
-  min-height: 0;
-  overflow: hidden;
-}
-
-.view-box {
-  @include full-height;
-  @include space-between-column;
-
-  height: 100vh;
-  margin: 0;
-}
-
-.view-panel {
-  flex-direction: column;
-  margin: 0;
-  overflow-y: auto;
-  padding: $space-normal;
-}
-
-.content-box {
-  overflow: auto;
-  padding: $space-normal;
-}
-
-.back-button {
-  @include flex;
-
-  align-items: center;
-  color: $color-woot;
-  cursor: pointer;
-  font-size: $font-size-default;
-  font-weight: $font-weight-normal;
-  margin-right: $space-normal;
-
-  &::before {
-    font-size: $font-size-large;
-    margin-right: $space-small;
-    vertical-align: text-bottom;
-  }
-}
-
-.button-spinner {
-  float: right;
-}
-
-.no-items-error-message {
-  @include flex;
-  @include full-height;
-
-  align-items: center;
-  flex-direction: column;
-  justify-content: center;
-
-  img {
-    max-width: $space-mega;
-    padding: $space-one;
-  }
-}
diff --git a/app/javascript/dashboard/assets/scss/_rtl.scss b/app/javascript/dashboard/assets/scss/_rtl.scss
index 14897b245..6f16a2af4 100644
--- a/app/javascript/dashboard/assets/scss/_rtl.scss
+++ b/app/javascript/dashboard/assets/scss/_rtl.scss
@@ -1,20 +1,6 @@
 .app-rtl--wrapper {
   direction: rtl;
 
-  .header-section.back-button {
-    direction: initial;
-    margin-left: var(--space-normal);
-    margin-right: var(--space-smaller);
-  }
-
-  // Settings header action button
-  .button--fixed-top {
-    left: $space-small;
-    position: fixed;
-    right: unset;
-    top: $space-small;
-  }
-
   // Woot Tabs
   .tabs-title {
     &:first-child {
diff --git a/app/javascript/dashboard/assets/scss/_utility-helpers.scss b/app/javascript/dashboard/assets/scss/_utility-helpers.scss
index a8025ba66..99f0fe3eb 100644
--- a/app/javascript/dashboard/assets/scss/_utility-helpers.scss
+++ b/app/javascript/dashboard/assets/scss/_utility-helpers.scss
@@ -71,9 +71,3 @@
   align-items: center;
   display: flex;
 }
-
-.button--fixed-top {
-  position: fixed;
-  right: var(--space-small);
-  top: var(--space-small);
-}
diff --git a/app/javascript/dashboard/assets/scss/widgets/_buttons.scss b/app/javascript/dashboard/assets/scss/widgets/_buttons.scss
index ab41dafdf..bcdc6176f 100644
--- a/app/javascript/dashboard/assets/scss/widgets/_buttons.scss
+++ b/app/javascript/dashboard/assets/scss/widgets/_buttons.scss
@@ -1,5 +1,5 @@
 .button {
-  @apply items-center inline-flex h-10 mb-0;
+  @apply items-center inline-flex h-10 mb-0 gap-2;
 
   .button__content {
     @apply w-full;
@@ -14,17 +14,9 @@
     @apply px-2 py-0;
   }
 
-  .icon--emoji + .button__content {
-    @apply pl-2 rtl:pr-2 rtl:pl-0;
-  }
-
-  .icon--font + .button__content {
-    @apply pl-2 rtl:pr-2 rtl:pl-0;
-  }
-
   // @TODDO - Remove after moving all buttons to woot-button
   .icon + .button__content {
-    @apply pl-2 w-auto rtl:pr-2 rtl:pl-0;
+    @apply w-auto;
   }
 
   &.expanded {
@@ -157,18 +149,10 @@
   // Sizes
   &.tiny {
     @apply h-6;
-
-    .icon + .button__content {
-      @apply pl-1 rtl:pr-1 rtl:pl-0;
-    }
   }
 
   &.small {
     @apply h-8 pb-1 pt-1;
-
-    .icon + .button__content {
-      @apply pl-1 rtl:pr-1 rtl:pl-0;
-    }
   }
 
   &.large {
diff --git a/app/javascript/dashboard/components/ui/Banner.vue b/app/javascript/dashboard/components/ui/Banner.vue
index 8ffe410e2..5d680fe48 100644
--- a/app/javascript/dashboard/components/ui/Banner.vue
+++ b/app/javascript/dashboard/components/ui/Banner.vue
@@ -1,5 +1,8 @@
 
-