diff --git a/core/modules/system/css/components/action-links.css b/core/modules/system/css/components/action-links.css
new file mode 100644
index 0000000..82bdb25
--- /dev/null
+++ b/core/modules/system/css/components/action-links.css
@@ -0,0 +1,43 @@
+/**
+ * @file
+ * Styles for link buttons and action links.
+ */
+
+.action-links {
+  list-style: none;
+  padding: 0;
+  margin: 1em 0;
+}
+[dir="rtl"] .action-links {
+  /* This is required to win over specifity of [dir="rtl"] ul */
+  margin-right: 0;
+}
+.action-links li {
+  display: inline-block;
+  margin: 0 0.3em;
+}
+.action-links li:first-child {
+  margin-left: 0; /* LTR */
+}
+[dir="rtl"] .action-links li:first-child {
+  margin-left: 0.3em;
+  margin-right: 0;
+}
+.button-action {
+  display: inline-block;
+  line-height: 160%;
+  padding: 0.2em 0.5em 0.3em;
+  text-decoration: none;
+}
+.button-action:before {
+  content: '+';
+  font-weight: 900;
+  margin-left: -0.1em; /* LTR */
+  padding-right: 0.2em; /* LTR */
+}
+[dir="rtl"] .button-action:before {
+  margin-left: 0;
+  margin-right: -0.1em;
+  padding-left: 0.2em;
+  padding-right: 0;
+}
diff --git a/core/modules/system/css/components/admin-panel.css b/core/modules/system/css/components/admin-panel.css
new file mode 100644
index 0000000..c9d38e8b
--- /dev/null
+++ b/core/modules/system/css/components/admin-panel.css
@@ -0,0 +1,13 @@
+/**
+ * @file
+ * Visual styles for admin panel.
+ */
+
+.admin-panel {
+  margin: 0;
+  padding: 5px 5px 15px 5px;
+}
+.admin-panel .description {
+  margin: 0 0 3px;
+  padding: 2px 0 3px 0;
+}
\ No newline at end of file
diff --git a/core/modules/system/css/components/animated-throbber.css b/core/modules/system/css/components/animated-throbber.css
new file mode 100644
index 0000000..06a6983
--- /dev/null
+++ b/core/modules/system/css/components/animated-throbber.css
@@ -0,0 +1,22 @@
+/**
+ * @file
+ * Visual styles for animated throbber.
+ *
+ * @see autocomple.js
+ */
+
+.js input.form-autocomplete {
+  background-image: url(../../../misc/throbber-inactive.png);
+  background-position: 100% center; /* LTR */
+  background-repeat: no-repeat;
+}
+.js[dir="rtl"] input.form-autocomplete {
+  background-position: 0% center;
+}
+.js input.form-autocomplete.ui-autocomplete-loading {
+  background-image: url(../../../misc/throbber-active.gif);
+  background-position: 100% center; /* LTR */
+}
+.js[dir="rtl"] input.form-autocomplete.ui-autocomplete-loading {
+  background-position: 0% center;
+}
diff --git a/core/modules/system/css/components/appearance-page.css b/core/modules/system/css/components/appearance-page.css
new file mode 100644
index 0000000..081335f
--- /dev/null
+++ b/core/modules/system/css/components/appearance-page.css
@@ -0,0 +1,45 @@
+/**
+ * @file
+ * Styles for appearance page.
+ */
+
+.theme-info__header {
+  margin-bottom: 0;
+  font-weight: normal;
+}
+.theme-default .theme-info__header {
+  font-weight: bold;
+}
+.theme-info__description {
+  margin-top: 0;
+}
+.system-themes-list {
+  margin-bottom: 20px;
+}
+.system-themes-list-uninstalled {
+  border-top: 1px solid #cdcdcd;
+  padding-top: 20px;
+}
+.system-themes-list__header {
+  margin: 0;
+}
+.theme-selector {
+  padding-top: 20px;
+}
+.theme-selector .screenshot,
+.theme-selector .no-screenshot {
+  border: 1px solid #e0e0d8;
+  padding: 2px;
+  vertical-align: bottom;
+  max-width: 100%;
+  height: auto;
+  text-align: center;
+}
+.theme-default .screenshot {
+  border: 1px solid #aaa;
+}
+.system-themes-list-uninstalled .screenshot,
+.system-themes-list-uninstalled .no-screenshot {
+  max-width: 194px;
+  height: auto;
+}
diff --git a/core/modules/system/css/components/breadcrumbs.css b/core/modules/system/css/components/breadcrumbs.css
new file mode 100644
index 0000000..9f5d409
--- /dev/null
+++ b/core/modules/system/css/components/breadcrumbs.css
@@ -0,0 +1,29 @@
+/**
+ * @file
+ * Styles for breadcrumbs.
+ */
+
+.breadcrumb {
+  padding-bottom: 0.5em;
+}
+.breadcrumb ol {
+  margin: 0;
+  padding: 0;
+}
+[dir="rtl"] .breadcrumb ol {
+  /* This is required to win over specifity of [dir="rtl"] ol */
+  margin-right: 0;
+}
+.breadcrumb li {
+  display: inline;
+  list-style-type: none;
+  margin: 0;
+  padding: 0;
+}
+/* IE8 does not support :not() and :last-child. */
+.breadcrumb li:before {
+  content: ' \BB ';
+}
+.breadcrumb li:first-child:before {
+  content: none;
+}
diff --git a/core/modules/system/css/components/button.css b/core/modules/system/css/components/button.css
new file mode 100644
index 0000000..a7600b4
--- /dev/null
+++ b/core/modules/system/css/components/button.css
@@ -0,0 +1,15 @@
+/**
+ * @file
+ * Visual styles for buttons.
+ */
+button.link {
+  background: transparent;
+  border: 0;
+  cursor: pointer;
+  margin: 0;
+  padding: 0;
+  font-size: 1em;
+}
+label button.link {
+  font-weight: bold;
+}
diff --git a/core/modules/system/css/components/compact-links.css b/core/modules/system/css/components/compact-links.css
new file mode 100644
index 0000000..dd7689a
--- /dev/null
+++ b/core/modules/system/css/components/compact-links.css
@@ -0,0 +1,9 @@
+/**
+ * @file
+ * Visual styles for system compact link.
+ * To toggle the display of description text.
+ */
+
+.compact-link {
+  margin: 0 0 0.5em 0;
+}
diff --git a/core/modules/system/css/components/container-inline.css b/core/modules/system/css/components/container-inline.css
new file mode 100644
index 0000000..937d5a1
--- /dev/null
+++ b/core/modules/system/css/components/container-inline.css
@@ -0,0 +1,33 @@
+/**
+ * @file
+ * Styles for inlien items. Rows 7-14 from system.module.css.
+ * Rows 16-33 from system.theme.css
+ */
+
+.container-inline div,
+.container-inline label {
+  display: inline;
+}
+/* Details contents always need to be rendered as block. */
+.container-inline .details-wrapper {
+  display: block;
+}
+
+/**
+ * Inline items.
+ */
+.container-inline label:after,
+.container-inline .label:after {
+  content: ':';
+}
+.form-type-radios .container-inline label:after {
+  content: '';
+}
+.form-type-radios .container-inline .form-type-radio {
+  margin: 0 1em;
+}
+.container-inline .form-actions,
+.container-inline.form-actions {
+  margin-top: 0;
+  margin-bottom: 0;
+}
diff --git a/core/modules/system/css/components/exposed-filters.css b/core/modules/system/css/components/exposed-filters.css
new file mode 100644
index 0000000..3ba81a6
--- /dev/null
+++ b/core/modules/system/css/components/exposed-filters.css
@@ -0,0 +1,45 @@
+/**
+ * @file
+ * Visual styles for exposed filters.
+ */
+.exposed-filters .filters {
+  float: left; /* LTR */
+  margin-right: 1em; /* LTR */
+}
+[dir="rtl"] .exposed-filters .filters {
+  float: right;
+  margin-left: 1em;
+  margin-right: 0;
+}
+.exposed-filters .form-item {
+  margin: 0 0 0.1em 0;
+  padding: 0;
+}
+.exposed-filters .form-item label {
+  float: left; /* LTR */
+  font-weight: normal;
+  width: 10em;
+}
+[dir="rtl"] .exposed-filters .form-item label {
+  float: right;
+}
+.exposed-filters .form-select {
+  width: 14em;
+}
+/* Current filters */
+.exposed-filters .current-filters {
+  margin-bottom: 1em;
+}
+.exposed-filters .current-filters .placeholder {
+  font-style: normal;
+  font-weight: bold;
+}
+.exposed-filters .additional-filters {
+  float: left; /* LTR */
+  margin-right: 1em; /* LTR */
+}
+[dir="rtl"] .exposed-filters .additional-filters {
+  float: right;
+  margin-left: 1em;
+  margin-right: 0;
+}
diff --git a/core/modules/system/css/components/field.css b/core/modules/system/css/components/field.css
new file mode 100644
index 0000000..89a16aa
--- /dev/null
+++ b/core/modules/system/css/components/field.css
@@ -0,0 +1,22 @@
+/**
+ * @file
+ * Visual styles for fields.
+ */
+
+.field .field-label {
+  font-weight: bold;
+}
+.field-label-inline .field-label,
+.field-label-inline .field-items {
+  float:left; /*LTR*/
+  margin-right: 0.5em; /*LTR*/
+}
+[dir="rtl"] .field-label-inline .field-label,
+[dir="rtl"] .field-label-inline .field-items {
+  float: right;
+  margin-left: 0.5em;
+  margin-right: 0;
+}
+.field-label-inline .field-label::after {
+  content: ':';
+}
diff --git a/core/modules/system/css/components/fieldgroup.css b/core/modules/system/css/components/fieldgroup.css
new file mode 100644
index 0000000..e779909
--- /dev/null
+++ b/core/modules/system/css/components/fieldgroup.css
@@ -0,0 +1,9 @@
+/**
+ * @file
+ * Fieldgroup border reset.
+ */
+
+.fieldgroup {
+  border-width: 0;
+  padding: 0;
+}
diff --git a/core/modules/system/css/components/form.css b/core/modules/system/css/components/form.css
new file mode 100644
index 0000000..df9a45d
--- /dev/null
+++ b/core/modules/system/css/components/form.css
@@ -0,0 +1,24 @@
+/**
+ * @file
+ * Visual styles for form.
+ */
+
+form .field-multiple-table {
+  margin: 0;
+}
+form .field-multiple-table .field-multiple-drag {
+  width: 30px;
+  padding-right: 0; /*LTR*/
+}
+[dir="rtl"] form .field-multiple-table .field-multiple-drag {
+  padding-left: 0;
+}
+form .field-multiple-table .field-multiple-drag .tabledrag-handle {
+  padding-right: .5em; /*LTR*/
+}
+[dir="rtl"] form .field-multiple-table .field-multiple-drag .tabledrag-handle {
+  padding-left: .5em;
+}
+form .field-add-more-submit {
+  margin: .5em 0 0;
+}
diff --git a/core/modules/system/css/components/inline-admin-links.css b/core/modules/system/css/components/inline-admin-links.css
new file mode 100644
index 0000000..7753de4
--- /dev/null
+++ b/core/modules/system/css/components/inline-admin-links.css
@@ -0,0 +1,10 @@
+/**
+ * @file
+ * Visual styles for inline admin links.
+ */
+small .admin-link:before {
+  content: ' [';
+}
+small .admin-link:after {
+  content: ']';
+}
diff --git a/core/modules/system/css/components/inline-form.css b/core/modules/system/css/components/inline-form.css
new file mode 100644
index 0000000..01a1100
--- /dev/null
+++ b/core/modules/system/css/components/inline-form.css
@@ -0,0 +1,29 @@
+/**
+ * @file
+ * Visual styles for inline forms.
+ */
+
+.form--inline .form-item {
+  float: left; /* LTR */
+  margin-right: 0.5em; /* LTR */
+}
+[dir="rtl"] .form--inline .form-item {
+  float: right;
+  margin-right: 0;
+  margin-left: 0.5em;
+}
+.form--inline .form-item-separator {
+  margin-top: 2.3em;
+  margin-right: 1em; /* LTR */
+  margin-left: 0.5em; /* LTR */
+}
+[dir="rtl"] .form--inline .form-item-separator {
+  margin-right: 0.5em;
+  margin-left: 1em;
+}
+.form--inline .form-actions {
+  clear: left; /* LTR */
+}
+[dir="rtl"] .form--inline .form-actions {
+  clear: right;
+}
diff --git a/core/modules/system/css/components/item-list.css b/core/modules/system/css/components/item-list.css
new file mode 100644
index 0000000..49f8172
--- /dev/null
+++ b/core/modules/system/css/components/item-list.css
@@ -0,0 +1,19 @@
+/**
+ * @file
+ * Visual styles for item list.
+ */
+
+.item-list .title {
+  font-weight: bold;
+}
+.item-list ul {
+  margin: 0 0 0.75em 0;
+  padding: 0;
+}
+.item-list ul li {
+  margin: 0 0 0.25em 1.5em; /* LTR */
+  padding: 0;
+}
+[dir="rtl"] .item-list ul li {
+  margin: 0 1.5em 0.25em 0;
+}
diff --git a/core/modules/system/css/components/links.css b/core/modules/system/css/components/links.css
new file mode 100644
index 0000000..62bdf11
--- /dev/null
+++ b/core/modules/system/css/components/links.css
@@ -0,0 +1,18 @@
+/**
+ * @file
+ * Visual styles for links.
+ */
+
+ul.inline,
+ul.links.inline {
+  display: inline;
+  padding-left: 0;
+}
+ul.inline li {
+  display: inline;
+  list-style-type: none;
+  padding: 0 0.5em;
+}
+ul.links a.active {
+  color: #000;
+}
diff --git a/core/modules/system/css/components/menu.css b/core/modules/system/css/components/menu.css
new file mode 100644
index 0000000..3eee545
--- /dev/null
+++ b/core/modules/system/css/components/menu.css
@@ -0,0 +1,34 @@
+/**
+ * @file
+ * Visual styles for menu.
+ */
+
+ul.menu {
+  list-style: none outside;
+  margin-left: 1em; /* LTR */
+  padding: 0;
+  text-align: left; /* LTR */
+}
+[dir="rtl"] ul.menu {
+  margin-left: 0;
+  margin-right: 1em;
+  text-align: right;
+}
+.menu .expanded {
+  list-style-image: url(../../../misc/menu-expanded.png);
+  list-style-type: circle;
+}
+.menu .collapsed {
+  list-style-image: url(../../../misc/menu-collapsed.png); /* LTR */
+  list-style-type: disc;
+}
+[dir="rtl"] .menu .collapsed {
+  list-style-image: url(../../../misc/menu-collapsed-rtl.png);
+}
+ul.menu li {
+  padding-top: 0.2em;
+  margin: 0;
+}
+ul.menu a.active {
+  color: #000;
+}
diff --git a/core/modules/system/css/components/messages.css b/core/modules/system/css/components/messages.css
new file mode 100644
index 0000000..b820c28
--- /dev/null
+++ b/core/modules/system/css/components/messages.css
@@ -0,0 +1,72 @@
+/**
+ * @file
+ * Styles for system messages.
+ */
+
+.messages {
+  background: no-repeat 10px 17px;  /* LTR */
+  border: 1px solid;
+  border-width: 1px 1px 1px 0;  /* LTR */
+  border-radius: 2px;
+  padding: 15px 20px 15px 35px; /* LTR */
+  word-wrap: break-word;
+  overflow-wrap: break-word;
+}
+[dir="rtl"] .messages {
+  border-width: 1px 0 1px 1px;
+  background-position: right 10px top 17px;
+  padding-left: 20px;
+  padding-right: 35px;
+  text-align: right;
+}
+.messages + .messages {
+  margin-top: 1.538em;
+}
+.messages__list {
+  list-style: none;
+  padding: 0;
+  margin: 0;
+}
+.messages__item + .messages__item {
+  margin-top: 0.769em;
+}
+/* See .color-success in Seven's colors.css */
+.messages--status {
+  color: #325e1c;
+  background-color: #f3faef;
+  border-color: #c9e1bd #c9e1bd #c9e1bd transparent;  /* LTR */
+  background-image: url(../../../misc/icons/73b355/check.svg);
+  box-shadow: -8px 0 0 #77b259; /* LTR */
+}
+[dir="rtl"] .messages--status {
+  border-color: #c9e1bd transparent #c9e1bd #c9e1bd;
+  box-shadow: 8px 0 0 #77b259;
+  margin-left: 0;
+}
+/* See .color-warning in Seven's colors.css */
+.messages--warning {
+  background-color: #fdf8ed;
+  background-image: url(../../../misc/icons/e29700/warning.svg);
+  border-color: #f4daa6 #f4daa6 #f4daa6 transparent;  /* LTR */
+  color: #734c00;
+  box-shadow: -8px 0 0 #e09600; /* LTR */
+}
+[dir="rtl"] .messages--warning {
+  border-color: #f4daa6 transparent #f4daa6 #f4daa6;
+  box-shadow: 8px 0 0 #e09600;
+}
+/* See .color-error in Seven's colors.css */
+.messages--error {
+  background-color: #fcf4f2;
+  color: #a51b00;
+  background-image: url(../../../misc/icons/ea2800/error.svg);
+  border-color: #f9c9bf #f9c9bf #f9c9bf transparent;  /* LTR */
+  box-shadow: -8px 0 0 #e62600; /* LTR */
+}
+[dir="rtl"] .messages--error {
+  border-color: #f9c9bf transparent #f9c9bf #f9c9bf;
+  box-shadow: 8px 0 0 #e62600;
+}
+.messages--error p.error {
+  color: #a51b00;
+}
diff --git a/core/modules/system/css/components/module-page-styles.css b/core/modules/system/css/components/module-page-styles.css
new file mode 100644
index 0000000..0faa352
--- /dev/null
+++ b/core/modules/system/css/components/module-page-styles.css
@@ -0,0 +1,115 @@
+/**
+ * @file
+ * Visual styles for module page.
+ */
+
+.system-modules thead > tr {
+  border: 0;
+}
+.system-modules div.incompatible {
+  font-weight: bold;
+}
+.system-modules td.checkbox {
+  min-width: 25px;
+  width: 4%;
+}
+.system-modules td.module {
+  width: 25%;
+}
+.system-modules td {
+  vertical-align: top;
+}
+.system-modules label,
+.system-modules-uninstall label {
+  color: #1d1d1d;
+  font-size: 1.15em;
+}
+.system-modules details {
+  color: #5c5c5b;
+  line-height: 20px;
+  overflow: hidden; /* truncates descriptions if too long */
+  text-overflow: ellipsis;
+  white-space: nowrap;
+}
+.system-modules details[open] {
+  height: auto;
+  overflow: visible;
+  white-space: normal;
+}
+.system-modules details[open] summary .text {
+  -webkit-hyphens: auto;
+  -moz-hyphens: auto;
+  -ms-hyphens: auto;
+  hyphens: auto;
+  text-transform: none;
+}
+.system-modules td details a {
+  color: #5C5C5B;
+  border: 0px;
+}
+.system-modules td details {
+  border: 0;
+  margin: 0;
+  height: 20px;
+}
+.system-modules td details summary {
+  padding: 0;
+  text-transform: none;
+  font-weight: normal;
+  cursor: default;
+}
+.system-modules td {
+  padding-left: 0;
+}
+
+@media screen and (max-width: 40em) {
+  .system-modules td.name {
+    width: 20%;
+  }
+  .system-modules td.description {
+    width: 40%;
+  }
+}
+.system-modules .requirements {
+  padding: 5px 0;
+  max-width: 490px;
+}
+.system-modules .links {
+  overflow: hidden; /* prevents collapse */
+}
+.system-modules .checkbox {
+  margin: 0 5px;
+}
+.system-modules .checkbox .form-item {
+  margin-bottom: 0;
+}
+.admin-requirements,
+.admin-required {
+  font-size: 0.9em;
+  color: #666;
+}
+.admin-enabled {
+  color: #080;
+}
+.admin-missing {
+  color: #f00;
+}
+.module-link {
+  display: block;
+  padding: 2px 20px;
+  white-space: nowrap;
+  margin-top: 2px;
+  float: left; /* LTR */
+}
+[dir="rtl"] .module-link {
+  float: right;
+}
+.module-link-help {
+  background: url(../../../misc/icons/787878/questionmark-disc.svg) 0 50% no-repeat;
+}
+.module-link-permissions {
+  background: url(../../../misc/icons/787878/key.svg) 0 50% no-repeat;
+}
+.module-link-configure {
+  background: url(../../../misc/icons/787878/cog.svg) 0 50% no-repeat;
+}
diff --git a/core/modules/system/css/components/more-help.css b/core/modules/system/css/components/more-help.css
new file mode 100644
index 0000000..5496804
--- /dev/null
+++ b/core/modules/system/css/components/more-help.css
@@ -0,0 +1,19 @@
+/**
+ * @file
+ * More help link style.
+ */
+
+.more-help-link {
+  text-align: right; /* LTR */
+}
+[dir="rtl"] .more-help-link {
+  text-align: left;
+}
+.more-help-link a {
+  background: url(../../../misc/help.png) 0 50% no-repeat; /* LTR */
+  padding: 1px 0 1px 20px; /* LTR */
+}
+[dir="rtl"] .more-help-link a {
+  background-position: 100% 50%;
+  padding: 1px 20px 1px 0;
+}
diff --git a/core/modules/system/css/components/more-link.css b/core/modules/system/css/components/more-link.css
new file mode 100644
index 0000000..03ab6e1
--- /dev/null
+++ b/core/modules/system/css/components/more-link.css
@@ -0,0 +1,13 @@
+/**
+ * @file
+ * Markup generated by #type 'more_link'.
+ */
+
+.more-link {
+  display: block;
+  text-align: right; /* LTR */
+}
+[dir="rtl"] .more-link {
+  text-align: left;
+}
+
diff --git a/core/modules/system/css/components/node-unpublished.css b/core/modules/system/css/components/node-unpublished.css
new file mode 100644
index 0000000..2142cdb
--- /dev/null
+++ b/core/modules/system/css/components/node-unpublished.css
@@ -0,0 +1,8 @@
+/**
+ * @file
+ * Visual styles for node-unpublished
+ */
+
+.node--unpublished {
+  background-color: #fff4f4;
+}
diff --git a/core/modules/system/css/components/pager.css b/core/modules/system/css/components/pager.css
new file mode 100644
index 0000000..5441db4
--- /dev/null
+++ b/core/modules/system/css/components/pager.css
@@ -0,0 +1,18 @@
+/**
+ * @file
+ * Visual styles for pager.
+ */
+
+.pager__items {
+  clear: both;
+  text-align: center;
+}
+.pager__item {
+  background-image: none;
+  display: inline;
+  list-style-type: none;
+  padding: 0.5em;
+}
+.pager__item.is-active {
+  font-weight: bold;
+}
diff --git a/core/modules/system/css/components/progress.css b/core/modules/system/css/components/progress.css
new file mode 100644
index 0000000..881d965
--- /dev/null
+++ b/core/modules/system/css/components/progress.css
@@ -0,0 +1,115 @@
+/**
+ * @file
+ * Visual styles for progress bar.
+ *
+ * from system.theme.css
+ * @see progress.js
+ */
+
+.progress__track {
+  border-color: #b3b3b3;
+  border-radius: 10em;
+  background-color: #f2f1eb;
+  background-image: -webkit-linear-gradient(#e7e7df, #f0f0f0);
+  background-image:         linear-gradient(#e7e7df, #f0f0f0);
+  box-shadow: inset 0 1px 3px hsla(0, 0%, 0%, 0.16);
+}
+.progress__bar {
+  border: 1px #07629a solid;
+  background: #057ec9;
+  background-image:
+    -webkit-linear-gradient( top, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.15) ),
+    -webkit-linear-gradient( left top,
+      #0094f0 0%,
+      #0094f0 25%,
+      #007ecc 25%,
+      #007ecc 50%,
+      #0094f0 50%,
+      #0094f0 75%,
+      #0094f0 100% );
+  background-image:
+    -webkit-linear-gradient(top, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.15)), -webkit-linear-gradient(left top, #0094f0 0%, #0094f0 25%, #007ecc 25%, #007ecc 50%, #0094f0 50%, #0094f0 75%, #0094f0 100%);
+  background-image:
+    linear-gradient( to bottom, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.15) ),
+    linear-gradient( to right bottom,
+      #0094f0 0%,
+      #0094f0 25%,
+      #007ecc 25%,
+      #007ecc 50%,
+      #0094f0 50%,
+      #0094f0 75%,
+      #0094f0 100% );
+  background-size: 40px 40px;
+  margin-top: -1px;
+  margin-left: -1px;
+  padding: 0 1px;
+  height: 16px;
+  border-radius: 10em;
+  -webkit-animation: animate-stripes 3s linear infinite;
+  -moz-animation: animate-stripes 3s linear infinite;
+  -webkit-transition: width 0.5s ease-out;
+  transition: width 0.5s ease-out;
+}
+
+/**
+ * Progress bar animations.
+ */
+@-webkit-keyframes animate-stripes {
+  0% {background-position: 0 0, 0 0;} 100% {background-position: 0 0, -80px 0;}
+}
+@-ms-keyframes animate-stripes {
+  0% {background-position: 0 0, 0 0;} 100% {background-position: 0 0, -80px 0;}
+}
+@keyframes animate-stripes {
+  0% {background-position: 0 0, 0 0;} 100% {background-position: 0 0, -80px 0;}
+}
+
+/**
+ * Progress behavior.
+ *
+ * from system.module.css
+ * @see progress.js
+ */
+.progress {
+  position: relative;
+}
+.progress__track {
+  background-color: #fff;
+  border: 1px solid;
+  margin-top: 5px;
+  max-width: 100%;
+  min-width: 100px;
+  height: 16px;
+}
+.progress__bar {
+  background-color: #000;
+  height: 1.5em;
+  min-width: 3%;
+  max-width: 100%;
+}
+.progress__description,
+.progress__percentage {
+  color: #555;
+  overflow: hidden;
+  font-size: .875em;
+  margin-top: 0.2em;
+}
+.progress__description {
+  float: left; /* LTR */
+}
+[dir="rtl"] .progress__description {
+  float: right;
+}
+.progress__percentage {
+  float: right; /* LTR */
+}
+[dir="rtl"] .progress__percentage {
+  float: left;
+}
+.progress--small .progress__track {
+  height: 7px;
+}
+.progress--small .progress__bar {
+  height: 7px;
+  background-size: 20px 20px;
+}
diff --git a/core/modules/system/css/components/status-report.css b/core/modules/system/css/components/status-report.css
new file mode 100644
index 0000000..dca0735
--- /dev/null
+++ b/core/modules/system/css/components/status-report.css
@@ -0,0 +1,35 @@
+/**
+ * @file
+ * Visual styles for status report page.
+ */
+
+.system-status-report td {
+  padding: 6px;
+  vertical-align: top;
+}
+.system-status-report td:nth-child(-n+2) {
+  background-color: rgba(0, 0, 0, 0.04);
+}
+.system-status-report .status-icon {
+  width: 16px;
+  padding-right: 0; /* LTR */
+}
+[dir="rtl"] .system-status-report .status-icon {
+  padding-left: 0;
+  padding-right: 6px;
+}
+.system-status-report .status-icon div {
+  background-repeat: no-repeat;
+  height: 16px;
+  width: 16px;
+  margin-top: 2px;
+}
+.system-status-report .status-icon--error div {
+  background-image: url(../../../misc/icons/ea2800/error.svg);
+}
+.system-status-report .status-icon--warning div {
+  background-image: url(../../../misc/icons/e29700/warning.svg);
+}
+.system-status-report .status-title {
+  width: 25%;
+}
diff --git a/core/modules/system/css/components/table-select.css b/core/modules/system/css/components/table-select.css
new file mode 100644
index 0000000..882707a
--- /dev/null
+++ b/core/modules/system/css/components/table-select.css
@@ -0,0 +1,14 @@
+/**
+ * @file
+ * TableSelect behavior.
+ *
+ * @see tableselect.js
+ */
+
+tr.selected td {
+  background: #ffc;
+}
+td.checkbox,
+th.checkbox {
+  text-align: center;
+}
diff --git a/core/modules/system/css/components/tabledrag.css b/core/modules/system/css/components/tabledrag.css
new file mode 100644
index 0000000..1e41fbe
--- /dev/null
+++ b/core/modules/system/css/components/tabledrag.css
@@ -0,0 +1,117 @@
+/**
+ * @file
+ * Visual styles for table drag
+ */
+
+/**
+ * TableDrag behavior.
+ *
+ * @see tabledrag.js
+ */
+
+body.drag {
+  cursor: move;
+}
+tr.region-title {
+  font-weight: bold;
+}
+tr.region-message {
+  color: #999;
+}
+tr.region-populated {
+  display: none;
+}
+tr.add-new .tabledrag-changed {
+  display: none;
+}
+.draggable a.tabledrag-handle {
+  cursor: move;
+  float: left; /* LTR */
+  height: 1.7em;
+  margin-left: -1em; /* LTR */
+  overflow: hidden;
+  text-decoration: none;
+}
+[dir="rtl"] .draggable a.tabledrag-handle {
+  float: right;
+  margin-right: -1em;
+  margin-left: 0;
+}
+a.tabledrag-handle:hover {
+  text-decoration: none;
+}
+a.tabledrag-handle .handle {
+  background: url(../../../misc/icons/787878/move.svg) no-repeat 6px 7px;
+  height: 14px;
+  margin: -0.4em 0.5em 0;
+  padding: 0.42em 0.5em;
+  width: 14px;
+}
+a.tabledrag-handle:hover .handle,
+a.tabledrag-handle:focus .handle {
+  background-image: url(../../../misc/icons/000000/move.svg);
+}
+.touch .draggable td {
+  padding: 0 10px;
+}
+.touch .draggable .menu-item__link {
+  display: inline-block;
+  padding: 10px 0;
+}
+.touch a.tabledrag-handle {
+  height: 44px;
+  width: 40px;
+}
+.touch a.tabledrag-handle .handle {
+  background-position: 40% 19px;
+  height: 21px;
+}
+.touch .draggable.drag a.tabledrag-handle .handle {
+  background-position: 50% -32px;
+}
+div.indentation {
+  float: left; /* LTR */
+  height: 1.7em;
+  margin: -0.4em 0.2em -0.4em -0.4em; /* LTR */
+  padding: 0.42em 0 0.42em 0.6em; /* LTR */
+  width: 20px;
+}
+[dir="rtl"] div.indentation {
+  float: right;
+  margin: -0.4em -0.4em -0.4em 0.2em;
+  padding: 0.42em 0.6em 0.42em 0;
+}
+div.tree-child {
+  background: url(../../../misc/tree.png) no-repeat 11px center; /* LTR */
+}
+div.tree-child-last {
+  background: url(../../../misc/tree-bottom.png) no-repeat 11px center; /* LTR */
+}
+[dir="rtl"] div.tree-child,
+[dir="rtl"] div.tree-child-last {
+  background-position: -65px center;
+}
+div.tree-child-horizontal {
+  background: url(../../../misc/tree.png) no-repeat -11px center;
+}
+.tabledrag-toggle-weight-wrapper {
+  text-align: right; /* LTR */
+}
+[dir="rtl"] .tabledrag-toggle-weight-wrapper {
+  text-align: left;
+}
+
+/**
+ * TableDrag behavior.
+ *
+ * @see tabledrag.js
+ */
+tr.drag {
+  background-color: #fffff0;
+}
+tr.drag-previous {
+  background-color: #ffd;
+}
+body div.tabledrag-changed-warning {
+  margin-bottom: 0.5em;
+}
diff --git a/core/modules/system/css/components/tableheader.css b/core/modules/system/css/components/tableheader.css
new file mode 100644
index 0000000..a759565
--- /dev/null
+++ b/core/modules/system/css/components/tableheader.css
@@ -0,0 +1,13 @@
+/**
+ * @file
+ * TableHeader behavior.
+ *
+ * @see tableheader.js
+ */
+
+table.sticky-header {
+  background-color: #fff;
+  margin-top: 0;
+  z-index: 500;
+  top: 0;
+}
diff --git a/core/modules/system/css/components/tablesort.css b/core/modules/system/css/components/tablesort.css
new file mode 100644
index 0000000..edbf5ce
--- /dev/null
+++ b/core/modules/system/css/components/tablesort.css
@@ -0,0 +1,11 @@
+/**
+ * @file
+ * Markup generated by tablesort-indicator.html.twig.
+ */
+
+th.active img {
+  display: inline;
+}
+td.active {
+  background-color: #ddd;
+}
diff --git a/core/modules/system/css/components/tabs.css b/core/modules/system/css/components/tabs.css
new file mode 100644
index 0000000..23ebb76
--- /dev/null
+++ b/core/modules/system/css/components/tabs.css
@@ -0,0 +1,33 @@
+/**
+ * @file
+ * Visual styles for tabs.
+ */
+
+div.tabs {
+  margin: 1em 0;
+}
+ul.tabs {
+  list-style: none;
+  margin: 0 0 0.5em;
+  padding: 0;
+}
+.tabs > li {
+  display: inline-block;
+  margin-right: 0.3em; /* LTR */
+}
+[dir="rtl"] .tabs > li {
+  margin-left: 0.3em;
+  margin-right: 0;
+}
+.tabs a {
+  display: block;
+  padding: 0.2em 1em;
+  text-decoration: none;
+}
+.tabs a.active {
+  background-color: #eee;
+}
+.tabs a:focus,
+.tabs a:hover {
+  background-color: #f5f5f5;
+}
diff --git a/core/modules/system/css/components/textarea.css b/core/modules/system/css/components/textarea.css
new file mode 100644
index 0000000..b6b6d9f
--- /dev/null
+++ b/core/modules/system/css/components/textarea.css
@@ -0,0 +1,27 @@
+/**
+ * @file
+ * Visual styles for resizeable textarea.
+ */
+
+.form-textarea-wrapper textarea {
+  display: block;
+  margin: 0;
+  width: 100%;
+  box-sizing: border-box;
+}
+.resize-none {
+  resize: none;
+}
+.resize-vertical {
+  resize: vertical;
+  min-height: 2em;
+}
+.resize-horizontal {
+  resize: horizontal;
+  max-width: 100%;
+}
+.resize-both {
+  resize: both;
+  max-width: 100%;
+  min-height: 2em;
+}
diff --git a/core/modules/system/css/components/throbber.css b/core/modules/system/css/components/throbber.css
new file mode 100644
index 0000000..063e8ce
--- /dev/null
+++ b/core/modules/system/css/components/throbber.css
@@ -0,0 +1,46 @@
+/**
+ * @file
+ * Visual styles for throbbers.
+ */
+
+.ajax-progress {
+  display: inline-block;
+  padding: 1px 5px 2px 5px;
+}
+[dir="rtl"] .ajax-progress {
+  float: right;
+}
+.ajax-progress-throbber .throbber {
+  background: transparent url(../../../misc/throbber-active.gif) no-repeat 0px center;
+  display: inline;
+  padding: 1px 5px 2px;
+}
+.ajax-progress-throbber .message {
+  display: inline;
+  padding: 1px 5px 2px;
+}
+tr .ajax-progress-throbber .throbber {
+  margin: 0 2px;
+}
+.ajax-progress-bar {
+  width: 16em;
+}
+
+/* Full screen  throbber */
+.ajax-progress-fullscreen {
+  /* Can't do center:50% middle: 50%, so approximate it for a typical window size. */
+  left: 49%;
+  position: fixed;
+  top: 48.5%;
+  z-index: 1000;
+  background-color: #232323;
+  background-image: url("../../../misc/loading-small.gif");
+  background-position: center center;
+  background-repeat: no-repeat;
+  border-radius: 7px;
+  height: 24px;
+  opacity: 0.9;
+  padding: 4px;
+  width: 24px;
+}
+
diff --git a/core/modules/system/css/components/vertical-toolbar.css b/core/modules/system/css/components/vertical-toolbar.css
new file mode 100644
index 0000000..5fc9004
--- /dev/null
+++ b/core/modules/system/css/components/vertical-toolbar.css
@@ -0,0 +1,112 @@
+/**
+ * @file
+ * Visual styles for vertical toolbar.
+ */
+
+/**
+ * Theme display without vertical toolbar.
+ */
+@media screen and (min-width: 45em) {
+  body:not(.toolbar-vertical) .system-themes-list-installed .screenshot,
+  body:not(.toolbar-vertical) .system-themes-list-installed .no-screenshot {
+    float: left; /* LTR */
+    margin: 0 20px 0 0; /* LTR */
+    width: 294px;
+  }
+  [dir="rtl"] body:not(.toolbar-vertical) .system-themes-list-installed .screenshot,
+  [dir="rtl"] body:not(.toolbar-vertical) .system-themes-list-installed .no-screenshot {
+    float: right;
+    margin: 0 0 0 20px;
+  }
+  body:not(.toolbar-vertical) .system-themes-list-installed .system-themes-list__header {
+    margin-top: 0;
+  }
+  body:not(.toolbar-vertical) .system-themes-list-uninstalled .theme-selector {
+    box-sizing: border-box;
+    width: 31.25%;
+    float: left; /* LTR */
+    padding: 20px 20px 20px 0; /* LTR */
+  }
+  [dir="rtl"] body:not(.toolbar-vertical) .system-themes-list-uninstalled .theme-selector {
+    float: right;
+    padding: 20px 0 20px 20px;
+  }
+  body:not(.toolbar-vertical) .system-themes-list-uninstalled .theme-info {
+    min-height: 170px;
+  }
+}
+
+/**
+ * Theme display with vertical toolbar.
+ */
+@media screen and (min-width: 60em) {
+  .toolbar-vertical .system-themes-list-installed .screenshot,
+  .toolbar-vertical .system-themes-list-installed .no-screenshot {
+    float: left; /* LTR */
+    margin: 0 20px 0 0; /* LTR */
+    width: 294px;
+  }
+  [dir="rtl"] .toolbar-vertical .system-themes-list-installed .screenshot,
+  [dir="rtl"] .toolbar-vertical .system-themes-list-installed .no-screenshot {
+    float: right;
+    margin: 0 0 0 20px;
+  }
+  .toolbar-vertical .system-themes-list-installed .theme-info__header {
+    margin-top: 0;
+  }
+  .toolbar-vertical .system-themes-list-uninstalled .theme-selector {
+    box-sizing: border-box;
+    width: 31.25%;
+    float: left; /* LTR */
+    padding: 20px 20px 20px 0; /* LTR */
+  }
+  [dir="rtl"] .toolbar-vertical .system-themes-list-uninstalled .theme-selector {
+    float: right;
+    padding: 20px 0 20px 20px;
+  }
+  .toolbar-vertical .system-themes-list-uninstalled .theme-info {
+    min-height: 170px;
+  }
+}
+.system-themes-list-installed .theme-info {
+  max-width: 940px;
+}
+
+.theme-selector .incompatible {
+  margin-top: 10px;
+  font-weight: bold;
+}
+.theme-selector .operations {
+  margin: 10px 0 0 0;
+  padding: 0;
+}
+.theme-selector .operations li {
+  float: left; /* LTR */
+  margin: 0;
+  padding: 0 0.7em;
+  list-style-type: none;
+  border-right: 1px solid #cdcdcd;  /* LTR */
+}
+[dir="rtl"] .theme-selector .operations li {
+  float: right;
+  border-left: 1px solid #cdcdcd;
+  border-right: none;
+}
+.theme-selector .operations li:last-child {
+  padding: 0 0 0 0.7em; /* LTR */
+  border-right: none; /* LTR */
+}
+[dir="rtl"] .theme-selector .operations li:last-child {
+  padding: 0 0.7em 0 0;
+  border-left: none;
+}
+.theme-selector .operations li:first-child {
+  padding: 0 0.7em 0 0; /* LTR */
+}
+[dir="rtl"] .theme-selector .operations li:first-child {
+  padding: 0 0 0 0.7em;
+}
+.system-themes-admin-form {
+  clear: left;
+}
+
diff --git a/core/modules/system/css/layout.css b/core/modules/system/css/layout.css
new file mode 100644
index 0000000..801042b
--- /dev/null
+++ b/core/modules/system/css/layout.css
@@ -0,0 +1,42 @@
+/**
+ * @file
+ * Reusable layout styles.
+ */
+
+.layout-container {
+  margin: 0 1.5em;
+}
+.layout-container:after {
+  content: "";
+  display: table;
+  clear: both;
+}
+
+@media screen and (min-width: 38em) {
+  .layout-container {
+    margin: 0 2.5em;
+  }
+  .layout-column {
+    float: left;  /* LTR */
+    box-sizing: border-box;
+  }
+  [dir="rtl"] .layout-column {
+    float: right;
+  }
+  .layout-column + .layout-column {
+    padding-left: 10px; /* LTR */
+  }
+  [dir="rtl"] .layout-column + .layout-column {
+    padding-right: 10px;
+    padding-left: 0;
+  }
+  .layout-column.half {
+    width: 50%;
+  }
+  .layout-column.quarter {
+    width: 25%;
+  }
+  .layout-column.three-quarter {
+    width: 75%;
+  }
+}
diff --git a/core/modules/system/css/system.admin.css b/core/modules/system/css/system.admin.css
deleted file mode 100644
index 1dd5da9..0000000
--- a/core/modules/system/css/system.admin.css
+++ /dev/null
@@ -1,370 +0,0 @@
-/**
- * @file
- * Styles for administration pages.
- */
-
-/**
- * Reusable layout styles.
- */
-.layout-container {
-  margin: 0 1.5em;
-}
-.layout-container:after {
-  content: "";
-  display: table;
-  clear: both;
-}
-
-@media screen and (min-width: 38em) {
-  .layout-container {
-    margin: 0 2.5em;
-  }
-  .layout-column {
-    float: left;  /* LTR */
-    box-sizing: border-box;
-  }
-  [dir="rtl"] .layout-column {
-    float: right;
-  }
-  .layout-column + .layout-column {
-    padding-left: 10px; /* LTR */
-  }
-  [dir="rtl"] .layout-column + .layout-column {
-    padding-right: 10px;
-    padding-left: 0;
-  }
-  .layout-column.half {
-    width: 50%;
-  }
-  .layout-column.quarter {
-    width: 25%;
-  }
-  .layout-column.three-quarter {
-    width: 75%;
-  }
-}
-
-/**
- * Panel.
- * Used to visually group items together.
- */
-.panel {
-  padding: 5px 5px 15px;
-}
-.panel__description {
-  margin: 0 0 3px;
-  padding: 2px 0 3px 0;
-}
-
-/**
- * System compact link: to toggle the display of description text.
- */
-.compact-link {
-  margin: 0 0 0.5em 0;
-}
-
-/**
- * Quick inline admin links.
- */
-small .admin-link:before {
-  content: ' [';
-}
-small .admin-link:after {
-  content: ']';
-}
-
-/**
- * Modules page.
- */
-.system-modules thead > tr {
-  border: 0;
-}
-.system-modules div.incompatible {
-  font-weight: bold;
-}
-.system-modules td.checkbox {
-  min-width: 25px;
-  width: 4%;
-}
-.system-modules td.module {
-  width: 25%;
-}
-.system-modules td {
-  vertical-align: top;
-}
-.system-modules label,
-.system-modules-uninstall label {
-  color: #1d1d1d;
-  font-size: 1.15em;
-}
-.system-modules details {
-  color: #5c5c5b;
-  line-height: 20px;
-  overflow: hidden; /* truncates descriptions if too long */
-  text-overflow: ellipsis;
-  white-space: nowrap;
-}
-.system-modules details[open] {
-  height: auto;
-  overflow: visible;
-  white-space: normal;
-}
-.system-modules details[open] summary .text {
-  -webkit-hyphens: auto;
-  -moz-hyphens: auto;
-  -ms-hyphens: auto;
-  hyphens: auto;
-  text-transform: none;
-}
-.system-modules td details a {
-  color: #5C5C5B;
-  border: 0px;
-}
-.system-modules td details {
-  border: 0;
-  margin: 0;
-  height: 20px;
-}
-.system-modules td details summary {
-  padding: 0;
-  text-transform: none;
-  font-weight: normal;
-  cursor: default;
-}
-.system-modules td {
-  padding-left: 0;
-}
-
-@media screen and (max-width: 40em) {
-  .system-modules td.name {
-    width: 20%;
-  }
-  .system-modules td.description {
-    width: 40%;
-  }
-}
-.system-modules .requirements {
-  padding: 5px 0;
-  max-width: 490px;
-}
-.system-modules .links {
-  overflow: hidden; /* prevents collapse */
-}
-.system-modules .checkbox {
-  margin: 0 5px;
-}
-.system-modules .checkbox .form-item {
-  margin-bottom: 0;
-}
-.admin-requirements,
-.admin-required {
-  font-size: 0.9em;
-  color: #666;
-}
-.admin-enabled {
-  color: #080;
-}
-.admin-missing {
-  color: #f00;
-}
-.module-link {
-  display: block;
-  padding: 2px 20px;
-  white-space: nowrap;
-  margin-top: 2px;
-  float: left; /* LTR */
-}
-[dir="rtl"] .module-link {
-  float: right;
-}
-.module-link-help {
-  background: url(../../../misc/icons/787878/questionmark-disc.svg) 0 50% no-repeat;
-}
-.module-link-permissions {
-  background: url(../../../misc/icons/787878/key.svg) 0 50% no-repeat;
-}
-.module-link-configure {
-  background: url(../../../misc/icons/787878/cog.svg) 0 50% no-repeat;
-}
-
-/* Status report. */
-.system-status-report td {
-  vertical-align: top;
-}
-.system-status-report__status-icon {
-  width: 16px;
-  padding-right: 0; /* LTR */
-}
-[dir="rtl"] .system-status-report__status-icon {
-  padding-left: 0;
-  padding-right: 6px;
-}
-.system-status-report__status-icon:before {
-  content: "";
-  background-repeat: no-repeat;
-  height: 16px;
-  width: 16px;
-  margin-top: 2px;
-  display: block;
-}
-.system-status-report__status-icon--error:before {
-  background-image: url(../../../misc/icons/ea2800/error.svg);
-}
-.system-status-report__status-icon--warning:before {
-  background-image: url(../../../misc/icons/e29700/warning.svg);
-}
-.system-status-report__status-title {
-  width: 25%;
-}
-
-/**
- * Appearance page.
- */
-.theme-info__header {
-  margin-bottom: 0;
-  font-weight: normal;
-}
-.theme-default .theme-info__header {
-  font-weight: bold;
-}
-.theme-info__description {
-  margin-top: 0;
-}
-.system-themes-list {
-  margin-bottom: 20px;
-}
-.system-themes-list-uninstalled {
-  border-top: 1px solid #cdcdcd;
-  padding-top: 20px;
-}
-.system-themes-list__header {
-  margin: 0;
-}
-
-.theme-selector {
-  padding-top: 20px;
-}
-.theme-selector .screenshot,
-.theme-selector .no-screenshot {
-  border: 1px solid #e0e0d8;
-  padding: 2px;
-  vertical-align: bottom;
-  max-width: 100%;
-  height: auto;
-  text-align: center;
-}
-.theme-default .screenshot {
-  border: 1px solid #aaa;
-}
-.system-themes-list-uninstalled .screenshot,
-.system-themes-list-uninstalled .no-screenshot {
-  max-width: 194px;
-  height: auto;
-}
-
-/**
- * Theme display without vertical toolbar.
- */
-@media screen and (min-width: 45em) {
-  body:not(.toolbar-vertical) .system-themes-list-installed .screenshot,
-  body:not(.toolbar-vertical) .system-themes-list-installed .no-screenshot {
-    float: left; /* LTR */
-    margin: 0 20px 0 0; /* LTR */
-    width: 294px;
-  }
-  [dir="rtl"] body:not(.toolbar-vertical) .system-themes-list-installed .screenshot,
-  [dir="rtl"] body:not(.toolbar-vertical) .system-themes-list-installed .no-screenshot {
-    float: right;
-    margin: 0 0 0 20px;
-  }
-  body:not(.toolbar-vertical) .system-themes-list-installed .system-themes-list__header {
-    margin-top: 0;
-  }
-  body:not(.toolbar-vertical) .system-themes-list-uninstalled .theme-selector {
-    box-sizing: border-box;
-    width: 31.25%;
-    float: left; /* LTR */
-    padding: 20px 20px 20px 0; /* LTR */
-  }
-  [dir="rtl"] body:not(.toolbar-vertical) .system-themes-list-uninstalled .theme-selector {
-    float: right;
-    padding: 20px 0 20px 20px;
-  }
-  body:not(.toolbar-vertical) .system-themes-list-uninstalled .theme-info {
-    min-height: 170px;
-  }
-}
-
-/**
- * Theme display with vertical toolbar.
- */
-@media screen and (min-width: 60em) {
-  .toolbar-vertical .system-themes-list-installed .screenshot,
-  .toolbar-vertical .system-themes-list-installed .no-screenshot {
-    float: left; /* LTR */
-    margin: 0 20px 0 0; /* LTR */
-    width: 294px;
-  }
-  [dir="rtl"] .toolbar-vertical .system-themes-list-installed .screenshot,
-  [dir="rtl"] .toolbar-vertical .system-themes-list-installed .no-screenshot {
-    float: right;
-    margin: 0 0 0 20px;
-  }
-  .toolbar-vertical .system-themes-list-installed .theme-info__header {
-    margin-top: 0;
-  }
-  .toolbar-vertical .system-themes-list-uninstalled .theme-selector {
-    box-sizing: border-box;
-    width: 31.25%;
-    float: left; /* LTR */
-    padding: 20px 20px 20px 0; /* LTR */
-  }
-  [dir="rtl"] .toolbar-vertical .system-themes-list-uninstalled .theme-selector {
-    float: right;
-    padding: 20px 0 20px 20px;
-  }
-  .toolbar-vertical .system-themes-list-uninstalled .theme-info {
-    min-height: 170px;
-  }
-}
-.system-themes-list-installed .theme-info {
-  max-width: 940px;
-}
-
-.theme-selector .incompatible {
-  margin-top: 10px;
-  font-weight: bold;
-}
-.theme-selector .operations {
-  margin: 10px 0 0 0;
-  padding: 0;
-}
-.theme-selector .operations li {
-  float: left; /* LTR */
-  margin: 0;
-  padding: 0 0.7em;
-  list-style-type: none;
-  border-right: 1px solid #cdcdcd;  /* LTR */
-}
-[dir="rtl"] .theme-selector .operations li {
-  float: right;
-  border-left: 1px solid #cdcdcd;
-  border-right: none;
-}
-.theme-selector .operations li:last-child {
-  padding: 0 0 0 0.7em; /* LTR */
-  border-right: none; /* LTR */
-}
-[dir="rtl"] .theme-selector .operations li:last-child {
-  padding: 0 0.7em 0 0;
-  border-left: none;
-}
-.theme-selector .operations li:first-child {
-  padding: 0 0.7em 0 0; /* LTR */
-}
-[dir="rtl"] .theme-selector .operations li:first-child {
-  padding: 0 0 0 0.7em;
-}
-.system-themes-admin-form {
-  clear: left;
-}
diff --git a/core/modules/system/css/system.module.css b/core/modules/system/css/system.module.css
index 0359e4b..f6f442c 100644
--- a/core/modules/system/css/system.module.css
+++ b/core/modules/system/css/system.module.css
@@ -4,37 +4,6 @@
  */
 
 /**
- * Autocomplete.
- *
- * @see autocomplete.js
- */
-
-/* Animated throbber */
-.js input.form-autocomplete {
-  background-image: url(../../../misc/throbber-inactive.png);
-  background-position: 100% center; /* LTR */
-  background-repeat: no-repeat;
-}
-.js[dir="rtl"] input.form-autocomplete {
-  background-position: 0% center;
-}
-.js input.form-autocomplete.ui-autocomplete-loading {
-  background-image: url(../../../misc/throbber-active.gif);
-  background-position: 100% center; /* LTR */
-}
-.js[dir="rtl"] input.form-autocomplete.ui-autocomplete-loading {
-  background-position: 0% center;
-}
-
-/**
- * Unboxed fieldsets for grouping form elements.
- */
-.fieldgroup {
-  border-width: 0;
-  padding: 0;
-}
-
-/**
  * Collapsible details.
  *
  * @see collapse.js
diff --git a/core/modules/system/css/system.theme.css b/core/modules/system/css/system.theme.css
index f7af1e4..ede82b9 100644
--- a/core/modules/system/css/system.theme.css
+++ b/core/modules/system/css/system.theme.css
@@ -383,34 +383,6 @@ ul.links a.active {
 }
 
 /**
- * Markup generated by breadcrumb.html.twig.
- */
-.breadcrumb {
-  padding-bottom: 0.5em;
-}
-.breadcrumb ol {
-  margin: 0;
-  padding: 0;
-}
-[dir="rtl"] .breadcrumb ol {
-  /* This is required to win over specifity of [dir="rtl"] ol */
-  margin-right: 0;
-}
-.breadcrumb li {
-  display: inline;
-  list-style-type: none;
-  margin: 0;
-  padding: 0;
-}
-/* IE8 does not support :not() and :last-child. */
-.breadcrumb li:before {
-  content: ' \BB ';
-}
-.breadcrumb li:first-child:before {
-  content: none;
-}
-
-/**
  * Markup generated by menu-local-tasks.html.twig.
  */
 div.tabs {
@@ -442,47 +414,6 @@ ul.tabs {
   background-color: #f5f5f5;
 }
 
-/**
- * Styles for link buttons and action links.
- */
-.action-links {
-  list-style: none;
-  padding: 0;
-  margin: 1em 0;
-}
-[dir="rtl"] .action-links {
-  /* This is required to win over specifity of [dir="rtl"] ul */
-  margin-right: 0;
-}
-.action-links li {
-  display: inline-block;
-  margin: 0 0.3em;
-}
-.action-links li:first-child {
-  margin-left: 0; /* LTR */
-}
-[dir="rtl"] .action-links li:first-child {
-  margin-left: 0.3em;
-  margin-right: 0;
-}
-.button-action {
-  display: inline-block;
-  line-height: 160%;
-  padding: 0.2em 0.5em 0.3em;
-  text-decoration: none;
-}
-.button-action:before {
-  content: '+';
-  font-weight: 900;
-  margin-left: -0.1em; /* LTR */
-  padding-right: 0.2em; /* LTR */
-}
-[dir="rtl"] .button-action:before {
-  margin-left: 0;
-  margin-right: -0.1em;
-  padding-left: 0.2em;
-  padding-right: 0;
-}
 
 /**
  * Styles for system messages.
diff --git a/core/modules/system/system.libraries.yml b/core/modules/system/system.libraries.yml
index 34c90dd..ea7e010 100644
--- a/core/modules/system/system.libraries.yml
+++ b/core/modules/system/system.libraries.yml
@@ -6,6 +6,33 @@ base:
       css/system.module.css: { every_page: true, weight: -10, }
     theme:
       css/system.theme.css: { every_page: true, weight: -10 }
+      css/components/action-links.css: {}
+      css/components/admin-panel.css: {}
+      css/components/animated-throbber.css: {}
+      css/components/breadcrumbs.css: {}
+      css/components/button.css: {}
+      css/components/container-inline.css: {}
+      css/components/exposed-filters.css: {}
+      css/components/field.css: {}
+      css/components/fieldgroup.css: {}
+      css/components/form.css: {}
+      css/components/inline-form.css: {}
+      css/components/item-list.css: {}
+      css/components/links.css: {}
+      css/components/menu.css: {}
+      css/components/messages.css: {}
+      css/components/more-help.css: {}
+      css/components/more-link.css: {}
+      css/components/node-unpublished.css: {}
+      css/components/pager.css: {}
+      css/components/progress.css: {}
+      css/components/table-select.css: {}
+      css/components/tabledrag.css: {}
+      css/components/tableheader.css: {}
+      css/components/tablesort.css: {}
+      css/components/tabs.css: {}
+      css/components/textarea.css: {}
+      css/components/throbber.css: {}
   dependencies:
     - core/normalize
 
@@ -13,7 +40,15 @@ admin:
   version: VERSION
   css:
     theme:
-      css/system.admin.css: { weight: -10 }
+      css/layout.css: {}
+      css/components/admin-panel.css: {}
+      css/components/compact-links.css: {}
+      css/components/inline-admin-links.css: {}
+      css/components/module-page-styles.css: {}
+      css/components/status-report.css: {}
+      css/components/appearance-page.css: {}
+      css/components/vertical-toolbar.css: {}
+
   dependencies:
     - system/base
 
