diff --git a/core/modules/ckeditor/css/ckeditor.admin.css b/core/modules/ckeditor/css/ckeditor.admin.css
index d318737..9bcd052 100644
--- a/core/modules/ckeditor/css/ckeditor.admin.css
+++ b/core/modules/ckeditor/css/ckeditor.admin.css
@@ -34,6 +34,12 @@
   margin: 0;
   padding: 0;
 }
+/* This is required to win over specificity of [dir="rtl"] ul */
+[dir="rtl"] .ckeditor-toolbar ul,
+[dir="rtl"] .ckeditor-toolbar-disabled ul {
+  margin-right: 0;
+}
+
 .ckeditor-row {
   padding: 2px 0 3px;
   border-radius: 3px;
@@ -121,13 +127,19 @@
   box-sizing: border-box;
 }
 .ckeditor-toolbar-disabled .ckeditor-toolbar-available {
-  float: left;
+  float: left; /* LTR */
   width: 80%;
 }
-.ckeditor-toolbar-disabled .ckeditor-toolbar-dividers {
+[dir="rtl"] .ckeditor-toolbar-disabled .ckeditor-toolbar-available {
   float: right;
+}
+.ckeditor-toolbar-disabled .ckeditor-toolbar-dividers {
+  float: right; /* LTR */
   width: 20%;
 }
+[dir="rtl"] .ckeditor-toolbar-disabled .ckeditor-toolbar-dividers {
+  float: left;
+}
 .ckeditor-toolbar-disabled .ckeditor-buttons li a,
 .ckeditor-toolbar .ckeditor-buttons,
 .ckeditor-add-new-group button {
diff --git a/core/modules/field_ui/css/field_ui.admin.css b/core/modules/field_ui/css/field_ui.admin.css
index 0cf7a68..08f6c2d 100644
--- a/core/modules/field_ui/css/field_ui.admin.css
+++ b/core/modules/field_ui/css/field_ui.admin.css
@@ -16,19 +16,31 @@
   line-height: 1em;
 }
 .field-ui-overview .field-plugin-summary {
-  float: left;
+  float: left; /* LTR */
   font-size: .9em;
 }
+[dir="rtl"] .field-ui-overview .field-plugin-summary {
+  float: right;
+}
 .field-ui-overview .field-plugin-summary-cell .warning {
   display: block;
-  float: left;
+  float: left; /* LTR */
   margin-right: .5em;
 }
-.field-ui-overview .field-plugin-settings-edit-wrapper {
+[dir="rtl"] .field-ui-overview .field-plugin-summary-cell .warning {
   float: right;
 }
+.field-ui-overview .field-plugin-settings-edit-wrapper {
+  float: right; /* LTR */
+}
+[dir="rtl"] .field-ui-overview .field-plugin-settings-edit-wrapper {
+  float: left;
+}
 .field-ui-overview .field-plugin-settings-edit {
-  float: right;
+  float: right; /* LTR */
+}
+[dir="rtl"] .field-ui-overview .field-plugin-settings-edit {
+  float: left;
 }
 .field-ui-overview .field-plugin-settings-editing td {
   vertical-align: top;
diff --git a/core/modules/system/css/system.admin.css b/core/modules/system/css/system.admin.css
index a3ccd20..6bfd6f8 100644
--- a/core/modules/system/css/system.admin.css
+++ b/core/modules/system/css/system.admin.css
@@ -182,13 +182,22 @@ small .admin-link:after {
   float: right;
 }
 .module-link-help {
-  background: url(../../../misc/icons/787878/questionmark-disc.svg) 0 50% no-repeat;
+  background: url(../../../misc/icons/787878/questionmark-disc.svg) 0 50% no-repeat; /* LTR */
+}
+[dir="rtl"] .module-link-help {
+  background-position: top 50% right 0;
 }
 .module-link-permissions {
-  background: url(../../../misc/icons/787878/key.svg) 0 50% no-repeat;
+  background: url(../../../misc/icons/787878/key.svg) 0 50% no-repeat; /* LTR */
+}
+[dir="rtl"] .module-link-permissions {
+  background-position: top 50% right 0;
 }
 .module-link-configure {
-  background: url(../../../misc/icons/787878/cog.svg) 0 50% no-repeat;
+  background: url(../../../misc/icons/787878/cog.svg) 0 50% no-repeat; /* LTR */
+}
+[dir="rtl"] .module-link-configure {
+  background-position: top 50% right 0;
 }
 
 /* Status report. */
diff --git a/core/modules/views_ui/css/views_ui.admin.theme.css b/core/modules/views_ui/css/views_ui.admin.theme.css
index 190345b..4ab55c4 100644
--- a/core/modules/views_ui/css/views_ui.admin.theme.css
+++ b/core/modules/views_ui/css/views_ui.admin.theme.css
@@ -352,7 +352,6 @@ td.group-title {
   padding-left: 0; /* LTR */
 }
 [dir="rtl"] .views-displays .tabs li.tabs__tab:hover {
-  padding-left: 15px;
   padding-right: 0;
 }
 .views-displays .tabs.secondary a {
diff --git a/core/themes/bartik/css/components/primary-menu.css b/core/themes/bartik/css/components/primary-menu.css
index 8b68e85..0451b8a 100644
--- a/core/themes/bartik/css/components/primary-menu.css
+++ b/core/themes/bartik/css/components/primary-menu.css
@@ -11,6 +11,8 @@
 }
 [dir="rtl"] .region-primary-menu .menu {
   text-align: right;
+  margin-left: 5px; /* This is required to win over specificity of [dir="rtl"] ul.menu */
+  margin-right: 5px; /* This is required to win over specificity of [dir="rtl"] ul.menu */
 }
 .region-primary-menu .menu-item {
   float: none;
@@ -115,6 +117,10 @@ body:not(:target) .region-primary-menu .menu-toggle-target-show:target ~ .menu .
     padding: 0;
     text-align: center;
   }
+  /* This is required to win over specificity of the global [dir="rtl"] .region-primary-menu .menu */
+  [dir="rtl"] .region-primary-menu .menu {
+    text-align: center;
+  }
   .region-primary-menu .menu-item,
   body:not(:target) .region-primary-menu .menu-item {
     float: left; /* LTR */
@@ -145,6 +151,10 @@ body:not(:target) .region-primary-menu .menu-toggle-target-show:target ~ .menu .
     margin-bottom: 5px;
     padding: 0.9em 5px;
   }
+  /* This is required to win over specificity of the global [dir="rtl"] .region-primary-menu .menu a */
+  [dir="rtl"] .region-primary-menu .menu a {
+    padding: 0.9em 5px;
+  }
   body:not(:target) .region-primary-menu .menu-toggle {
     display: none;
   }
diff --git a/core/themes/bartik/css/components/secondary-menu.css b/core/themes/bartik/css/components/secondary-menu.css
index 0bf73ff..c3164db 100644
--- a/core/themes/bartik/css/components/secondary-menu.css
+++ b/core/themes/bartik/css/components/secondary-menu.css
@@ -8,6 +8,8 @@
 }
 [dir="rtl"] .region-secondary-menu .menu {
   text-align: left;
+  margin-right: 10px; /* required to win over specificity of [dir="rtl"] ul.menu */
+  margin-left: 10px;
 }
 .region-secondary-menu .menu-item {
   margin: 0;
diff --git a/core/themes/classy/css/components/inline-form.css b/core/themes/classy/css/components/inline-form.css
index 01a1100..b5201a7 100644
--- a/core/themes/classy/css/components/inline-form.css
+++ b/core/themes/classy/css/components/inline-form.css
@@ -12,6 +12,10 @@
   margin-right: 0;
   margin-left: 0.5em;
 }
+/* This is required to win over specificity of [dir="rtl"] .form--inline .form-item */
+[dir="rtl"] .views-filterable-options-controls .form-item {
+  margin-right: 2%;
+}
 .form--inline .form-item-separator {
   margin-top: 2.3em;
   margin-right: 1em; /* LTR */
diff --git a/core/themes/seven/css/base/elements.css b/core/themes/seven/css/base/elements.css
index f3167ed..76fcc4c 100644
--- a/core/themes/seven/css/base/elements.css
+++ b/core/themes/seven/css/base/elements.css
@@ -137,6 +137,10 @@ ul {
   margin-left: 0;
   margin-right: 1.5em;
 }
+/* This is required to win over specificity of [dir="rtl"] ul */
+[dir="rtl"] .messages__list {
+  margin-right: 0;
+}
 ol {
   list-style-type: decimal;
   margin: 0.25em 0 0.25em 2em; /* LTR */
diff --git a/core/themes/seven/css/components/dialog.css b/core/themes/seven/css/components/dialog.css
index d104c82..99aaa53 100644
--- a/core/themes/seven/css/components/dialog.css
+++ b/core/themes/seven/css/components/dialog.css
@@ -19,7 +19,11 @@
   background: #6b6b6b;
   border-top-left-radius: 5px;
   border-top-right-radius: 5px;
-  padding: 15px 49px 15px 15px;
+  padding: 15px 49px 15px 15px; /* LTR */
+}
+[dir="rtl"] .ui-dialog .ui-dialog-titlebar {
+  padding-left: 49px;
+  padding-right: 15px;
 }
 .ui-dialog .ui-dialog-title {
   font-size: 1.231em;
@@ -103,4 +107,3 @@
 .ui-dialog .ajax-progress-throbber .message {
   display: none;
 }
-
diff --git a/core/themes/seven/css/components/dropbutton.component.css b/core/themes/seven/css/components/dropbutton.component.css
index 6f08502..e78c7ca 100644
--- a/core/themes/seven/css/components/dropbutton.component.css
+++ b/core/themes/seven/css/components/dropbutton.component.css
@@ -18,10 +18,11 @@
   -webkit-font-smoothing: antialiased;
   text-align: left; /* LTR */
 }
-[dir="rtl"] .js .dropbutton .dropbutton-action > input,
-[dir="rtl"] .js .dropbutton .dropbutton-action > a,
-[dir="rtl"] .js .dropbutton .dropbutton-action > button {
+[dir="rtl"].js .dropbutton .dropbutton-action > input,
+[dir="rtl"].js .dropbutton .dropbutton-action > a,
+[dir="rtl"].js .dropbutton .dropbutton-action > button {
   text-align: right;
+  margin-left: 0; /* This is required to win over specificty of [dir="rtl"] .dropbutton-multiple .dropbutton .dropbutton-action > * */
 }
 .js .dropbutton-action.last {
   border-radius: 0 0 0 1em; /* LTR */
diff --git a/core/themes/seven/css/components/menus-and-lists.css b/core/themes/seven/css/components/menus-and-lists.css
index d96fe55..3507e09 100644
--- a/core/themes/seven/css/components/menus-and-lists.css
+++ b/core/themes/seven/css/components/menus-and-lists.css
@@ -34,6 +34,7 @@ ul.inline li {
 [dir="rtl"] ul.links li,
 [dir="rtl"] ul.inline li {
   padding-left: 1em;
+  padding-right: 0;
 }
 ul.inline li {
   display: inline;
diff --git a/core/themes/seven/css/components/tables.css b/core/themes/seven/css/components/tables.css
index afc9301..3bdf7cc 100644
--- a/core/themes/seven/css/components/tables.css
+++ b/core/themes/seven/css/components/tables.css
@@ -108,6 +108,10 @@ th.is-active > a:focus:after {
 td .item-list ul {
   margin: 0;
 }
+/* This is required to win over specificity of [dir="rtl"] .item-list ul */
+[dir="rtl"] td .item-list ul {
+  margin: 0;
+}
 td.is-active {
   background: none;
 }
diff --git a/core/themes/seven/css/components/tabs.css b/core/themes/seven/css/components/tabs.css
index 23c4a48..5d896a0 100644
--- a/core/themes/seven/css/components/tabs.css
+++ b/core/themes/seven/css/components/tabs.css
@@ -257,6 +257,12 @@ li.tabs__tab a {
   margin-left: 0;
   margin-right: -1px;
 }
+/* This is required to win over specificity of [dir="rtl"] .tabs.secondary .tabs__tab */
+[dir="rtl"] .views-displays .tabs.secondary li,
+[dir="rtl"] .views-displays .tabs.secondary li.is-active {
+  padding-left: 0;
+  padding-right: 0;
+}
 .tabs.secondary .tabs__tab + .tabs__tab {
   border-top: 1px solid #d9d8d4;
 }
@@ -270,6 +276,11 @@ li.tabs__tab a {
   border-right: 2px solid #004f80;
   padding-right: 15px;
 }
+/* This is required to win over specificity of [dir="rtl"] .tabs.secondary .tabs__tab.is-active */
+[dir="rtl"] .views-displays .tabs.secondary li.is-active {
+  border: 0 none;
+  padding-right: 0;
+}
 .tabs.secondary .tabs__tab:hover,
 .tabs.secondary .tabs__tab:focus {
   color: #008ee6;
@@ -282,11 +293,26 @@ li.tabs__tab a {
   border-right: 2px solid #008ee6;
   padding-right: 15px;
 }
+/* This is required to win over specificity of [dir="rtl"] .tabs.secondary .tabs__tab:hover */
+[dir="rtl"] .views-displays .tabs li.tabs__tab:hover {
+  border: 0 none;
+  padding-right: 0;
+}
 .tabs.secondary a {
   background-color: transparent;
   padding: 7px 13px 5px;
   text-decoration: none;
 }
+/* This is required to win over specificity of [dir="rtl"] li.tabs__tab a */
+[dir="rtl"] .tabs.secondary a {
+  padding-left: 13px;
+  padding-right: 13px;
+}
+/* This is required to win over specificty of [dir="rtl"] .tabs.secondary a */
+[dir="rtl"] .views-displays .tabs.secondary a {
+  padding-left: 7px;
+  padding-right: 7px;
+}
 .tabs.secondary .is-active a {
   color: #004f80;
 }
diff --git a/core/themes/seven/css/components/views-ui.css b/core/themes/seven/css/components/views-ui.css
index 8c4afda..bfd4575 100644
--- a/core/themes/seven/css/components/views-ui.css
+++ b/core/themes/seven/css/components/views-ui.css
@@ -43,6 +43,13 @@ details.fieldset-no-legend {
 [dir="rtl"] .views-admin a.button,
 [dir="rtl"] .views-ui-dialog a.button {
   margin-left: 0;
+  margin-right: 1em;
+}
+[dir="rtl"] .views-admin input.form-submit:first-child,
+[dir="rtl"] .views-ui-dialog input.form-submit:first-child,
+[dir="rtl"] .views-admin a.button:first-child,
+[dir="rtl"] .views-ui-dialog a.button:first-child {
+  margin-right: 0;
 }
 
 .form-radios > .form-item {
diff --git a/core/themes/seven/css/theme/maintenance-page.css b/core/themes/seven/css/theme/maintenance-page.css
index 6784343..3725ac6 100644
--- a/core/themes/seven/css/theme/maintenance-page.css
+++ b/core/themes/seven/css/theme/maintenance-page.css
@@ -165,6 +165,9 @@
     padding: 15px;
     margin: 0.25em 0;
   }
+  [dir="rtl"] ul {
+    margin-right: 0; /* Overrides default [dir="rtl"] ul margin */
+  }
   .layout-sidebar-first {
     float: left; /* LTR */
     width: 35%;
