diff --git a/core/tests/Drupal/KernelTests/Core/Theme/ConfirmClassyCopiesTest.php b/core/tests/Drupal/KernelTests/Core/Theme/ConfirmClassyCopiesTest.php
index 47de84d90c3beda985880965e837b8bebdf04b02..afc3906532a955372e1719d68681a4ba61d38ebf 100644
--- a/core/tests/Drupal/KernelTests/Core/Theme/ConfirmClassyCopiesTest.php
+++ b/core/tests/Drupal/KernelTests/Core/Theme/ConfirmClassyCopiesTest.php
@@ -170,13 +170,67 @@ public function providerTestClassyCopies() {
           'images' => [],
         ],
       ],
-      // Will be populated when Classy libraries are copied to Seven.
       'seven' => [
         'theme-name' => 'seven',
         'file-hashes' => [
-          'css' => [],
-          'js' => [],
-          'images' => [],
+          'css' => [
+            'media-library.css' => 'bb405519d30970c721405452dfb7b38e',
+            'action-links.css' => '6abb88c2b3b6884c1a64fa5ca4853d45',
+            'file.css' => 'b644547e5e8eb6aa23505b307dc69c32',
+            'dropbutton.css' => 'f8e4b0b81ff60206b27f622e85a6a0ee',
+            'book-navigation.css' => 'e8219368d360bd4a10763610ada85a1c',
+            'tableselect.css' => '8e966ac85a0cc60f470717410640c8fe',
+            'ui-dialog.css' => '4a3d036007ba8c8c80f4a21a369c72cc',
+            'user.css' => '0ec6acc22567a7c9c228f04b5a97c711',
+            'item-list.css' => '1d519afe6007f4b01e00f22b0ba8bf33',
+            'image-widget.css' => '2da54829199f64a2c390930c3b0913a3',
+            'field.css' => '8f4718bc926eea7e007ecfd6f410ee8d',
+            'tablesort.css' => 'f6ed3b44832bebffa09fc3b4b6ce27ab',
+            'tabs.css' => 'e58827db5c767c41b67488244c14056c',
+            'forum.css' => '297a40db815570c2195515767c4b3144',
+            'progress.css' => '5147a9b07ede9f456c6a3f3efeb520e1',
+            'collapse-processed.css' => 'a287a092b5af52ee41c9962776df073e',
+            'inline-form.css' => 'cc5cbfd34511d9021a53ec693c110740',
+            'link.css' => '22f42d430fe458080a7739c70a2d2ea5',
+            'textarea.css' => '2bc390c137c5205bbcd7645d6c1c86de',
+            'links.css' => '21fe64349f5702cd5b89104a1d3b9cd3',
+            'form.css' => '27ecf2f2e4627e292f0c48b5e05c4ef5',
+            'exposed-filters.css' => '396a5f76dafec5f78f4e736f69a0874f',
+            'tabledrag.css' => '98d24ff864c7699dfa6da9190c5e70df',
+            'indented.css' => '48e214a106d9fede1e05aa10b4796361',
+            'messages.css' => '21659ecd2f7ee6884805434329e6bea4',
+            'pager.css' => 'd10589366720f9c15b66df434baab4da',
+            'search-results.css' => 'ce3ca8fcd54e72f142ba29da5a3a5c9a',
+            'button.css' => '3abebf58e144fd4150d80facdbe5d10f',
+            'node.css' => '81ea0a3fef211dbc32549ac7f39ec646',
+            'menu.css' => 'ddb533716fc3be2ad76f283c5532ee85',
+            'icons.css' => '85b21f21c0017e6a9fc83d00462904d0',
+            'breadcrumb.css' => '14268f8071dffd40ce7a39862b8fbc56',
+            'media-embed-error.css' => '015171a1f01fff8e2bec4e06d9b451e7',
+            'container-inline.css' => 'ae9caee6071b319ac97bf0bb3e14b542',
+            'more-link.css' => 'b2ebfb826e035334340193b42246b180',
+          ],
+          'js' => [
+            'media_embed_ckeditor.theme.es6.js' => 'decf95c314bf22c642fb630179502e43',
+            'media_embed_ckeditor.theme.js' => '1b17d61e258c4fdaa129acecf773f04e',
+          ],
+          'images' => [
+            'x-office-spreadsheet.png' => 'fc5d4b32f259ea6d0f960b17a0886f63',
+            'application-octet-stream.png' => 'fef73511632890590b5ae0a13c99e4bf',
+            'x-office-presentation.png' => '8ba9f51c97a2b47de2c8c117aafd7dcd',
+            'x-office-document.png' => '48e0c92b5dec1a027f43a5c6fe190f39',
+            'image-x-generic.png' => '9aca2e02c3cdbb391ca721d40fa4c0c6',
+            'text-x-script.png' => 'f9dc156d35298536011ea48226b21682',
+            'text-html.png' => '9d2d3003a786ab392d42744b2d064eec',
+            'video-x-generic.png' => 'a5dc89b884a8a1b666c15bb41fd88ee9',
+            'forum-icons.png' => 'dfa091b192819cc14523ccd653e7b5ff',
+            'text-x-generic.png' => '1b769df473f54d6f78f7aba79ec25e12',
+            'application-pdf.png' => 'bb41f8b679b9d93323b30c87fde14de9',
+            'application-x-executable.png' => 'fef73511632890590b5ae0a13c99e4bf',
+            'package-x-generic.png' => 'bb8581301a2030b48ff3c67374eed88a',
+            'text-plain.png' => '1b769df473f54d6f78f7aba79ec25e12',
+            'audio-x-generic.png' => 'f7d0e6fbcde58594bd1102db95e3ea7b',
+          ],
         ],
       ],
       // Will be populated when Classy libraries are copied to Bartik.
diff --git a/core/tests/Drupal/KernelTests/Core/Theme/ThemeNotUsingClassyLibraryTest.php b/core/tests/Drupal/KernelTests/Core/Theme/ThemeNotUsingClassyLibraryTest.php
index 8721fc007ffb4b5ca02d7d131986553c64a52d95..af6d033eeca598d3ecc0e2ff9eb6b122a0576a1f 100644
--- a/core/tests/Drupal/KernelTests/Core/Theme/ThemeNotUsingClassyLibraryTest.php
+++ b/core/tests/Drupal/KernelTests/Core/Theme/ThemeNotUsingClassyLibraryTest.php
@@ -438,22 +438,7 @@ public function providerTestThemeNotUsingClassyLibraries() {
       ],
       'seven' => [
         'theme-name' => 'seven',
-        'to-skip' => [
-          'base',
-          'book-navigation',
-          'dropbutton',
-          'file',
-          'forum',
-          'image-widget',
-          'indented',
-          'messages',
-          'node',
-          'progress',
-          'search-results',
-          'user',
-          'media_embed_error',
-          'media_embed_ckeditor_theme',
-        ],
+        'to-skip' => [],
       ],
     ];
   }
@@ -498,16 +483,7 @@ public function providerTestThemeAccountsForClassyExtensions() {
       ],
       [
         'theme-name' => 'seven',
-        'to-skip' => [
-          'user/drupal.user',
-          'core/drupal.dialog',
-          'core/drupal.dropbutton',
-          'file/drupal.file',
-          'core/drupal.progress',
-          'media/media_embed_ckeditor_theme',
-          'media_library/view',
-          'media_library/widget',
-        ],
+        'to-skip' => [],
       ],
     ];
   }
diff --git a/core/themes/seven/css/classy/components/action-links.css b/core/themes/seven/css/classy/components/action-links.css
new file mode 100644
index 0000000000000000000000000000000000000000..274d798e18e7ea39766ef871dd511b22c3a3803c
--- /dev/null
+++ b/core/themes/seven/css/classy/components/action-links.css
@@ -0,0 +1,43 @@
+/**
+ * @file
+ * Styles for link buttons and action links.
+ */
+
+.action-links {
+  margin: 1em 0;
+  padding: 0;
+  list-style: none;
+}
+[dir="rtl"] .action-links {
+  /* This is required to win over specificity 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-right: 0;
+  margin-left: 0.3em;
+}
+.button-action {
+  display: inline-block;
+  padding: 0.2em 0.5em 0.3em;
+  text-decoration: none;
+  line-height: 160%;
+}
+.button-action:before {
+  margin-left: -0.1em; /* LTR */
+  padding-right: 0.2em; /* LTR */
+  content: "+";
+  font-weight: 900;
+}
+[dir="rtl"] .button-action:before {
+  margin-right: -0.1em;
+  margin-left: 0;
+  padding-right: 0;
+  padding-left: 0.2em;
+}
diff --git a/core/themes/seven/css/classy/components/book-navigation.css b/core/themes/seven/css/classy/components/book-navigation.css
new file mode 100644
index 0000000000000000000000000000000000000000..08728e27b531cf85c374cc542b2aad34643b967f
--- /dev/null
+++ b/core/themes/seven/css/classy/components/book-navigation.css
@@ -0,0 +1,40 @@
+/**
+ * @file
+ * Styling for the Book module.
+ */
+
+.book-navigation .menu {
+  padding-top: 1em;
+  padding-bottom: 0;
+}
+.book-navigation .book-pager {
+  overflow: auto;
+  margin: 0;
+  padding: 0.5em 0;
+}
+.book-pager__item {
+  display: inline-block;
+  list-style-type: none;
+  vertical-align: top;
+}
+.book-pager__item--previous {
+  width: 45%;
+  text-align: left; /* LTR */
+}
+[dir="rtl"] .book-pager__item--previous {
+  float: right;
+  text-align: right;
+}
+.book-pager__item--center {
+  width: 8%;
+  text-align: center;
+}
+.book-pager__item--next {
+  float: right; /* LTR */
+  width: 45%;
+  text-align: right; /* LTR */
+}
+[dir="rtl"] .book-pager__item--next {
+  float: left;
+  text-align: left;
+}
diff --git a/core/themes/seven/css/classy/components/breadcrumb.css b/core/themes/seven/css/classy/components/breadcrumb.css
new file mode 100644
index 0000000000000000000000000000000000000000..1e6a7fac71a177eefc9da2312f8739e84ef16b89
--- /dev/null
+++ b/core/themes/seven/css/classy/components/breadcrumb.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 specificity of [dir="rtl"] ol */
+  margin-right: 0;
+}
+.breadcrumb li {
+  display: inline;
+  margin: 0;
+  padding: 0;
+  list-style-type: none;
+}
+/* IE8 does not support :not() and :last-child. */
+.breadcrumb li:before {
+  content: " \BB ";
+}
+.breadcrumb li:first-child:before {
+  content: none;
+}
diff --git a/core/themes/seven/css/classy/components/button.css b/core/themes/seven/css/classy/components/button.css
new file mode 100644
index 0000000000000000000000000000000000000000..5eb4f1ac13ca0b853aca842ff796b636f7edfdc6
--- /dev/null
+++ b/core/themes/seven/css/classy/components/button.css
@@ -0,0 +1,15 @@
+/**
+ * @file
+ * Visual styles for buttons.
+ */
+
+.button,
+.image-button {
+  margin-right: 1em;
+  margin-left: 1em;
+}
+.button:first-child,
+.image-button:first-child {
+  margin-right: 0;
+  margin-left: 0;
+}
diff --git a/core/themes/seven/css/classy/components/collapse-processed.css b/core/themes/seven/css/classy/components/collapse-processed.css
new file mode 100644
index 0000000000000000000000000000000000000000..c8c786882c6f8c21180238644fce76fda26e38cd
--- /dev/null
+++ b/core/themes/seven/css/classy/components/collapse-processed.css
@@ -0,0 +1,32 @@
+/**
+ * @file
+ * Visual styles for collapsible fieldsets.
+ */
+
+.collapse-processed > summary {
+  padding-right: 0.5em;
+  padding-left: 0.5em;
+}
+.collapse-processed > summary:before {
+  float: left; /* LTR */
+  width: 1em;
+  height: 1em;
+  content: "";
+  background: url(../../../../../misc/menu-expanded.png) 0 100% no-repeat; /* LTR */
+}
+[dir="rtl"] .collapse-processed > summary:before {
+  float: right;
+  background-position: 100% 100%;
+}
+.collapse-processed:not([open]) > summary:before {
+  -ms-transform: rotate(-90deg);
+  -webkit-transform: rotate(-90deg);
+  transform: rotate(-90deg);
+  background-position: 25% 35%; /* LTR */
+}
+[dir="rtl"] .collapse-processed:not([open]) > summary:before {
+  -ms-transform: rotate(90deg);
+  -webkit-transform: rotate(90deg);
+  transform: rotate(90deg);
+  background-position: 75% 35%;
+}
diff --git a/core/themes/seven/css/classy/components/container-inline.css b/core/themes/seven/css/classy/components/container-inline.css
new file mode 100644
index 0000000000000000000000000000000000000000..64b78f683bf159533eb9d5661a209767782e7cc3
--- /dev/null
+++ b/core/themes/seven/css/classy/components/container-inline.css
@@ -0,0 +1,22 @@
+/**
+ * @file
+ * Inline items.
+ */
+
+.container-inline label:after,
+.container-inline .label:after {
+  content: ":";
+}
+.form-type-radios .container-inline label:after,
+.form-type-checkboxes .container-inline label:after {
+  content: "";
+}
+.form-type-radios .container-inline .form-type-radio,
+.form-type-checkboxes .container-inline .form-type-checkbox {
+  margin: 0 1em;
+}
+.container-inline .form-actions,
+.container-inline.form-actions {
+  margin-top: 0;
+  margin-bottom: 0;
+}
diff --git a/core/themes/seven/css/classy/components/dropbutton.css b/core/themes/seven/css/classy/components/dropbutton.css
new file mode 100644
index 0000000000000000000000000000000000000000..5e971ba622dc2e4734d2a6c4beeef7029e9d790f
--- /dev/null
+++ b/core/themes/seven/css/classy/components/dropbutton.css
@@ -0,0 +1,33 @@
+/**
+ * @file
+ * General styles for dropbuttons.
+ */
+
+.js .dropbutton-widget {
+  border: 1px solid #ccc;
+  background-color: white;
+}
+.js .dropbutton-widget:hover {
+  border-color: #b8b8b8;
+}
+.dropbutton .dropbutton-action > * {
+  padding: 0.1em 0.5em;
+  white-space: nowrap;
+}
+.dropbutton .secondary-action {
+  border-top: 1px solid #e8e8e8;
+}
+.dropbutton-multiple .dropbutton {
+  border-right: 1px solid #e8e8e8; /* LTR */
+}
+[dir="rtl"] .dropbutton-multiple .dropbutton {
+  border-right: 0 none;
+  border-left: 1px solid #e8e8e8;
+}
+.dropbutton-multiple .dropbutton .dropbutton-action > * {
+  margin-right: 0.25em; /* LTR */
+}
+[dir="rtl"] .dropbutton-multiple .dropbutton .dropbutton-action > * {
+  margin-right: 0;
+  margin-left: 0.25em;
+}
diff --git a/core/themes/seven/css/classy/components/exposed-filters.css b/core/themes/seven/css/classy/components/exposed-filters.css
new file mode 100644
index 0000000000000000000000000000000000000000..b686902ef111f07def492f6e39636f4449fdf130
--- /dev/null
+++ b/core/themes/seven/css/classy/components/exposed-filters.css
@@ -0,0 +1,46 @@
+/**
+ * @file
+ * Visual styles for exposed filters.
+ */
+
+.exposed-filters .filters {
+  float: left; /* LTR */
+  margin-right: 1em; /* LTR */
+}
+[dir="rtl"] .exposed-filters .filters {
+  float: right;
+  margin-right: 0;
+  margin-left: 1em;
+}
+.exposed-filters .form-item {
+  margin: 0 0 0.1em 0;
+  padding: 0;
+}
+.exposed-filters .form-item label {
+  float: left; /* LTR */
+  width: 10em;
+  font-weight: normal;
+}
+[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-weight: bold;
+  font-style: normal;
+}
+.exposed-filters .additional-filters {
+  float: left; /* LTR */
+  margin-right: 1em; /* LTR */
+}
+[dir="rtl"] .exposed-filters .additional-filters {
+  float: right;
+  margin-right: 0;
+  margin-left: 1em;
+}
diff --git a/core/themes/seven/css/classy/components/field.css b/core/themes/seven/css/classy/components/field.css
new file mode 100644
index 0000000000000000000000000000000000000000..ff7e9ab1fc765b99f3ca09d6e8b9a6db7867229c
--- /dev/null
+++ b/core/themes/seven/css/classy/components/field.css
@@ -0,0 +1,25 @@
+/**
+ * @file
+ * Visual styles for fields.
+ */
+
+.field__label {
+  font-weight: bold;
+}
+.field--label-inline .field__label,
+.field--label-inline .field__items {
+  float: left; /* LTR */
+}
+.field--label-inline .field__label,
+.field--label-inline > .field__item,
+.field--label-inline .field__items {
+  padding-right: 0.5em;
+}
+[dir="rtl"] .field--label-inline .field__label,
+[dir="rtl"] .field--label-inline .field__items {
+  padding-right: 0;
+  padding-left: 0.5em;
+}
+.field--label-inline .field__label::after {
+  content: ":";
+}
diff --git a/core/themes/seven/css/classy/components/file.css b/core/themes/seven/css/classy/components/file.css
new file mode 100644
index 0000000000000000000000000000000000000000..8637242a546a504e47999984174f0fd6ba20f186
--- /dev/null
+++ b/core/themes/seven/css/classy/components/file.css
@@ -0,0 +1,62 @@
+/**
+ * @file
+ * Default style for file module.
+ */
+
+/* File icons. */
+
+.file {
+  display: inline-block;
+  min-height: 16px;
+  padding-left: 20px; /* LTR */
+  background-repeat: no-repeat;
+  background-position: left center; /* LTR */
+}
+[dir="rtl"] .file {
+  padding-right: 20px;
+  padding-left: inherit;
+  background-position: right center;
+}
+.file--general,
+.file--application-octet-stream {
+  background-image: url(../../../images/classy/icons/application-octet-stream.png);
+}
+.file--package-x-generic {
+  background-image: url(../../../images/classy/icons/package-x-generic.png);
+}
+.file--x-office-spreadsheet {
+  background-image: url(../../../images/classy/icons/x-office-spreadsheet.png);
+}
+.file--x-office-document {
+  background-image: url(../../../images/classy/icons/x-office-document.png);
+}
+.file--x-office-presentation {
+  background-image: url(../../../images/classy/icons/x-office-presentation.png);
+}
+.file--text-x-script {
+  background-image: url(../../../images/classy/icons/text-x-script.png);
+}
+.file--text-html {
+  background-image: url(../../../images/classy/icons/text-html.png);
+}
+.file--text-plain {
+  background-image: url(../../../images/classy/icons/text-plain.png);
+}
+.file--application-pdf {
+  background-image: url(../../../images/classy/icons/application-pdf.png);
+}
+.file--application-x-executable {
+  background-image: url(../../../images/classy/icons/application-x-executable.png);
+}
+.file--audio {
+  background-image: url(../../../images/classy/icons/audio-x-generic.png);
+}
+.file--video {
+  background-image: url(../../../images/classy/icons/video-x-generic.png);
+}
+.file--text {
+  background-image: url(../../../images/classy/icons/text-x-generic.png);
+}
+.file--image {
+  background-image: url(../../../images/classy/icons/image-x-generic.png);
+}
diff --git a/core/themes/seven/css/classy/components/form.css b/core/themes/seven/css/classy/components/form.css
new file mode 100644
index 0000000000000000000000000000000000000000..7f8aa4b35fc5f3d2575d97194e76ec4a2cdf46b8
--- /dev/null
+++ b/core/themes/seven/css/classy/components/form.css
@@ -0,0 +1,104 @@
+/**
+ * @file
+ * Visual styles for form components.
+ */
+
+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: 0.5em; /* LTR */
+}
+[dir="rtl"] form .field-multiple-table .field-multiple-drag .tabledrag-handle {
+  padding-right: 0;
+  padding-left: 0.5em;
+}
+form .field-add-more-submit {
+  margin: 0.5em 0 0;
+}
+
+/**
+ * Markup generated by Form API.
+ */
+.form-item,
+.form-actions {
+  margin-top: 1em;
+  margin-bottom: 1em;
+}
+tr.odd .form-item,
+tr.even .form-item {
+  margin-top: 0;
+  margin-bottom: 0;
+}
+.form-composite > .fieldset-wrapper > .description,
+.form-item .description {
+  font-size: 0.85em;
+}
+label.option {
+  display: inline;
+  font-weight: normal;
+}
+.form-composite > legend,
+.label {
+  display: inline;
+  margin: 0;
+  padding: 0;
+  font-size: inherit;
+  font-weight: bold;
+}
+.form-checkboxes .form-item,
+.form-radios .form-item {
+  margin-top: 0.4em;
+  margin-bottom: 0.4em;
+}
+.form-type-radio .description,
+.form-type-checkbox .description {
+  margin-left: 2.4em; /* LTR */
+}
+[dir="rtl"] .form-type-radio .description,
+[dir="rtl"] .form-type-checkbox .description {
+  margin-right: 2.4em;
+  margin-left: 0;
+}
+.marker {
+  color: #e00;
+}
+.form-required:after {
+  display: inline-block;
+  width: 6px;
+  height: 6px;
+  margin: 0 0.3em;
+  content: "";
+  vertical-align: super;
+  /* Use a background image to prevent screen readers from announcing the text. */
+  background-image: url(../../../../../misc/icons/ee0000/required.svg);
+  background-repeat: no-repeat;
+  background-size: 6px 6px;
+}
+abbr.tabledrag-changed,
+abbr.ajax-changed {
+  border-bottom: none;
+}
+.form-item input.error,
+.form-item textarea.error,
+.form-item select.error {
+  border: 2px solid red;
+}
+
+/* Inline error messages. */
+.form-item--error-message:before {
+  display: inline-block;
+  width: 14px;
+  height: 14px;
+  content: "";
+  vertical-align: sub;
+  background: url(../../../../../misc/icons/e32700/error.svg) no-repeat;
+  background-size: contain;
+}
diff --git a/core/themes/seven/css/classy/components/forum.css b/core/themes/seven/css/classy/components/forum.css
new file mode 100644
index 0000000000000000000000000000000000000000..c35e3f4411e6b986dd7050ab722bd648ea401d7a
--- /dev/null
+++ b/core/themes/seven/css/classy/components/forum.css
@@ -0,0 +1,46 @@
+/**
+ * @file
+ * Styling for the Forum module.
+ */
+
+.forum__description {
+  margin: 0.5em;
+  font-size: 0.9em;
+}
+.forum__icon {
+  float: left; /* LTR */
+  width: 24px;
+  height: 24px;
+  margin: 0 9px 0 0; /* LTR */
+  background-image: url(../../../images/classy/icons/forum-icons.png);
+  background-repeat: no-repeat;
+}
+[dir="rtl"] .forum__icon {
+  float: right;
+  margin: 0 0 0 9px;
+}
+.forum__title {
+  overflow: hidden;
+}
+.forum .indented {
+  margin-left: 20px; /* LTR */
+}
+[dir="rtl"] .forum .indented {
+  margin-right: 20px;
+  margin-left: 0;
+}
+.forum__topic-status--new {
+  background-position: -24px 0;
+}
+.forum__topic-status--hot {
+  background-position: -48px 0;
+}
+.forum__topic-status--hot-new {
+  background-position: -72px 0;
+}
+.forum__topic-status--sticky {
+  background-position: -96px 0;
+}
+.forum__topic-status--closed {
+  background-position: -120px 0;
+}
diff --git a/core/themes/seven/css/classy/components/icons.css b/core/themes/seven/css/classy/components/icons.css
new file mode 100644
index 0000000000000000000000000000000000000000..ab0245f4c56d19a3a051bf791bf7061d4f28d543
--- /dev/null
+++ b/core/themes/seven/css/classy/components/icons.css
@@ -0,0 +1,21 @@
+/**
+ * @file
+ * Visual styles for icons.
+ */
+
+.icon-help {
+  padding: 1px 0 1px 20px; /* LTR */
+  background: url(../../../../../misc/help.png) 0 50% no-repeat; /* LTR */
+}
+[dir="rtl"] .icon-help {
+  padding: 1px 20px 1px 0;
+  background-position: 100% 50%;
+}
+.feed-icon {
+  display: block;
+  overflow: hidden;
+  width: 16px;
+  height: 16px;
+  text-indent: -9999px;
+  background: url(../../../../../misc/feed.svg) no-repeat;
+}
diff --git a/core/themes/seven/css/classy/components/image-widget.css b/core/themes/seven/css/classy/components/image-widget.css
new file mode 100644
index 0000000000000000000000000000000000000000..56777c41ea43d0fdd279c1ce5f1f024b949a3e58
--- /dev/null
+++ b/core/themes/seven/css/classy/components/image-widget.css
@@ -0,0 +1,33 @@
+/**
+ * @file
+ * Image upload widget.
+ *
+ * This CSS file is not used in this theme (Classy). It was intended to be used,
+ * but due to a bug, Drupal 8 shipped with it not being used. To not break
+ * backwards compatibility, we continue to not load it in Classy. Every
+ * subtheme of Classy is encouraged to use it, by attaching the
+ * classy/image-widget asset library in their image-widget.html.twig file.
+ *
+ * @see core/themes/seven/templates/content-edit/image-widget.html.twig.
+ *
+ * @todo In Drupal 9, let core/themes/classy/templates/content-edit/image-widget.html.twig
+ * attach the classy/image-widget asset library.
+ */
+
+.image-preview {
+  float: left; /* LTR */
+  padding: 0 10px 10px 0; /* LTR */
+}
+[dir="rtl"] .image-preview {
+  float: right;
+  padding: 0 0 10px 10px;
+}
+.image-widget-data {
+  float: left; /* LTR */
+}
+[dir="rtl"] .image-widget-data {
+  float: right;
+}
+.image-widget-data .text-field {
+  width: auto;
+}
diff --git a/core/themes/seven/css/classy/components/indented.css b/core/themes/seven/css/classy/components/indented.css
new file mode 100644
index 0000000000000000000000000000000000000000..6925a06363656bf1711354630f3d60ecec90ffe6
--- /dev/null
+++ b/core/themes/seven/css/classy/components/indented.css
@@ -0,0 +1,16 @@
+
+/**
+ * @file
+ * Basic styling for comment module.
+ */
+
+/**
+ * Indent threaded comments.
+ */
+.indented {
+  margin-left: 25px; /* LTR */
+}
+[dir="rtl"] .indented {
+  margin-right: 25px;
+  margin-left: 0;
+}
diff --git a/core/themes/seven/css/classy/components/inline-form.css b/core/themes/seven/css/classy/components/inline-form.css
new file mode 100644
index 0000000000000000000000000000000000000000..b5201a78c9db0c2a8f09c700f3374badbca79d31
--- /dev/null
+++ b/core/themes/seven/css/classy/components/inline-form.css
@@ -0,0 +1,33 @@
+/**
+ * @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;
+}
+/* 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 */
+  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/themes/seven/css/classy/components/item-list.css b/core/themes/seven/css/classy/components/item-list.css
new file mode 100644
index 0000000000000000000000000000000000000000..a8ce5d28a53ddd7de538b7f83983dcbaa359b817
--- /dev/null
+++ b/core/themes/seven/css/classy/components/item-list.css
@@ -0,0 +1,32 @@
+/**
+ * @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 li {
+  margin: 0 0 0.25em 1.5em; /* LTR */
+  padding: 0;
+}
+[dir="rtl"] .item-list li {
+  margin: 0 1.5em 0.25em 0;
+}
+
+/**
+ * Comma separated lists.
+ */
+.item-list--comma-list {
+  display: inline;
+}
+.item-list--comma-list .item-list__comma-list,
+.item-list__comma-list li,
+[dir="rtl"] .item-list--comma-list .item-list__comma-list,
+[dir="rtl"] .item-list__comma-list li {
+  margin: 0;
+}
diff --git a/core/themes/seven/css/classy/components/link.css b/core/themes/seven/css/classy/components/link.css
new file mode 100644
index 0000000000000000000000000000000000000000..fa83f2bb2c371b95ff87270ef93e4c72b86815ac
--- /dev/null
+++ b/core/themes/seven/css/classy/components/link.css
@@ -0,0 +1,16 @@
+/**
+ * @file
+ * Style another element as a link.
+ */
+
+button.link {
+  margin: 0;
+  padding: 0;
+  cursor: pointer;
+  border: 0;
+  background: transparent;
+  font-size: 1em;
+}
+label button.link {
+  font-weight: bold;
+}
diff --git a/core/themes/seven/css/classy/components/links.css b/core/themes/seven/css/classy/components/links.css
new file mode 100644
index 0000000000000000000000000000000000000000..e4832539337a9b555f293e47ca2f0d8dc1358d5d
--- /dev/null
+++ b/core/themes/seven/css/classy/components/links.css
@@ -0,0 +1,23 @@
+/**
+ * @file
+ * Visual styles for links.
+ */
+
+ul.inline,
+ul.links.inline {
+  display: inline;
+  padding-left: 0; /* LTR */
+}
+[dir="rtl"] ul.inline,
+[dir="rtl"] ul.links.inline {
+  padding-right: 0;
+  padding-left: 15px;
+}
+ul.inline li {
+  display: inline;
+  padding: 0 0.5em;
+  list-style-type: none;
+}
+ul.links a.is-active {
+  color: #000;
+}
diff --git a/core/themes/seven/css/classy/components/media-embed-error.css b/core/themes/seven/css/classy/components/media-embed-error.css
new file mode 100644
index 0000000000000000000000000000000000000000..edb3ab24e60e7e347e65197965c503a4b6cd4b2d
--- /dev/null
+++ b/core/themes/seven/css/classy/components/media-embed-error.css
@@ -0,0 +1,20 @@
+/**
+ * @file
+ * Media Embed filter: default styling for media embed errors.
+ */
+
+/**
+ * The caption filter's styling overrides ours, so add a more specific selector
+ * to account for that.
+ */
+.media-embed-error,
+.caption > .media-embed-error {
+  max-width: 200px;
+  padding: 100px 20px 20px;
+  text-align: center;
+  background-color: #ebebeb;
+  background-image: url(../../../../../modules/media/images/icons/no-thumbnail.png);
+  background-repeat: no-repeat;
+  background-position: center top;
+  background-size: 100px 100px;
+}
diff --git a/core/themes/seven/css/classy/components/menu.css b/core/themes/seven/css/classy/components/menu.css
new file mode 100644
index 0000000000000000000000000000000000000000..80d3e14d86b88e80152494b24d66bc710aa3b6bb
--- /dev/null
+++ b/core/themes/seven/css/classy/components/menu.css
@@ -0,0 +1,34 @@
+/**
+ * @file
+ * Visual styles for menu.
+ */
+
+ul.menu {
+  margin-left: 1em; /* LTR */
+  padding: 0;
+  list-style: none outside;
+  text-align: left; /* LTR */
+}
+[dir="rtl"] ul.menu {
+  margin-right: 1em;
+  margin-left: 0;
+  text-align: right;
+}
+.menu-item--expanded {
+  list-style-type: circle;
+  list-style-image: url(../../../../../misc/menu-expanded.png);
+}
+.menu-item--collapsed {
+  list-style-type: disc;
+  list-style-image: url(../../../../../misc/menu-collapsed.png); /* LTR */
+}
+[dir="rtl"] .menu-item--collapsed {
+  list-style-image: url(../../../../../misc/menu-collapsed-rtl.png);
+}
+.menu-item {
+  margin: 0;
+  padding-top: 0.2em;
+}
+ul.menu a.is-active {
+  color: #000;
+}
diff --git a/core/themes/seven/css/classy/components/messages.css b/core/themes/seven/css/classy/components/messages.css
new file mode 100644
index 0000000000000000000000000000000000000000..47459468d2a1da073632fff8758e04899a9bb4ff
--- /dev/null
+++ b/core/themes/seven/css/classy/components/messages.css
@@ -0,0 +1,72 @@
+/**
+ * @file
+ * Styles for system messages.
+ */
+
+.messages {
+  padding: 15px 20px 15px 35px; /* LTR */
+  word-wrap: break-word;
+  border: 1px solid;
+  border-width: 1px 1px 1px 0;  /* LTR */
+  border-radius: 2px;
+  background: no-repeat 10px 17px;  /* LTR */
+  overflow-wrap: break-word;
+}
+[dir="rtl"] .messages {
+  padding-right: 35px;
+  padding-left: 20px;
+  text-align: right;
+  border-width: 1px 0 1px 1px;
+  background-position: right 10px top 17px;
+}
+.messages + .messages {
+  margin-top: 1.538em;
+}
+.messages__list {
+  margin: 0;
+  padding: 0;
+  list-style: none;
+}
+.messages__item + .messages__item {
+  margin-top: 0.769em;
+}
+/* See .color-success in Seven's colors.css */
+.messages--status {
+  color: #325e1c;
+  border-color: #c9e1bd #c9e1bd #c9e1bd transparent;  /* LTR */
+  background-color: #f3faef;
+  background-image: url(../../../../../misc/icons/73b355/check.svg);
+  box-shadow: -8px 0 0 #77b259; /* LTR */
+}
+[dir="rtl"] .messages--status {
+  margin-left: 0;
+  border-color: #c9e1bd transparent #c9e1bd #c9e1bd;
+  box-shadow: 8px 0 0 #77b259;
+}
+/* See .color-warning in Seven's colors.css */
+.messages--warning {
+  color: #734c00;
+  border-color: #f4daa6 #f4daa6 #f4daa6 transparent;  /* LTR */
+  background-color: #fdf8ed;
+  background-image: url(../../../../../misc/icons/e29700/warning.svg);
+  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 {
+  color: #a51b00;
+  border-color: #f9c9bf #f9c9bf #f9c9bf transparent;  /* LTR */
+  background-color: #fcf4f2;
+  background-image: url(../../../../../misc/icons/e32700/error.svg);
+  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/themes/seven/css/classy/components/more-link.css b/core/themes/seven/css/classy/components/more-link.css
new file mode 100644
index 0000000000000000000000000000000000000000..c604061317d013d634660816cca3fd606091ed40
--- /dev/null
+++ b/core/themes/seven/css/classy/components/more-link.css
@@ -0,0 +1,12 @@
+/**
+ * @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/themes/seven/css/classy/components/node.css b/core/themes/seven/css/classy/components/node.css
new file mode 100644
index 0000000000000000000000000000000000000000..6b7cd5257d6d167426d11e2b6adb5eda3fecbfdf
--- /dev/null
+++ b/core/themes/seven/css/classy/components/node.css
@@ -0,0 +1,8 @@
+/**
+ * @file
+ * Visual styles for nodes.
+ */
+
+.node--unpublished {
+  background-color: #fff4f4;
+}
diff --git a/core/themes/seven/css/classy/components/pager.css b/core/themes/seven/css/classy/components/pager.css
new file mode 100644
index 0000000000000000000000000000000000000000..a9471fc037cab28544a3c89cf7040f26434cf1a5
--- /dev/null
+++ b/core/themes/seven/css/classy/components/pager.css
@@ -0,0 +1,16 @@
+/**
+ * @file
+ * Visual styles for pager.
+ */
+
+.pager__items {
+  clear: both;
+  text-align: center;
+}
+.pager__item {
+  display: inline;
+  padding: 0.5em;
+}
+.pager__item.is-active {
+  font-weight: bold;
+}
diff --git a/core/themes/seven/css/classy/components/progress.css b/core/themes/seven/css/classy/components/progress.css
new file mode 100644
index 0000000000000000000000000000000000000000..47da889350040c07f3137184192d19a66d0c6334
--- /dev/null
+++ b/core/themes/seven/css/classy/components/progress.css
@@ -0,0 +1,69 @@
+/**
+ * @file
+ * Visual styles for progress bar.
+ *
+ * @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 {
+  height: 16px;
+  margin-top: -1px;
+  margin-left: -1px; /* LTR */
+  padding: 0 1px;
+  -webkit-transition: width 0.5s ease-out;
+  transition: width 0.5s ease-out;
+  -webkit-animation: animate-stripes 3s linear infinite;
+  -moz-animation: animate-stripes 3s linear infinite;
+  border: 1px #07629a solid;
+  border-radius: 10em;
+  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:
+    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;
+}
+[dir="rtl"] .progress__bar {
+  margin-right: -1px;
+  margin-left: 0;
+  -webkit-animation-direction: reverse;
+  -moz-animation-direction: reverse;
+  animation-direction: reverse;
+}
+
+@media screen and (prefers-reduced-motion: reduce) {
+  .progress__bar {
+    -webkit-transition: none;
+    transition: none;
+    -webkit-animation: none;
+    -moz-animation: none;
+  }
+}
+
+/**
+ * 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; }
+}
diff --git a/core/themes/seven/css/classy/components/search-results.css b/core/themes/seven/css/classy/components/search-results.css
new file mode 100644
index 0000000000000000000000000000000000000000..343ea8b5fb1b22d6e3684832eeded759ab058ca1
--- /dev/null
+++ b/core/themes/seven/css/classy/components/search-results.css
@@ -0,0 +1,8 @@
+/**
+ * @file
+ * Stylesheet for results generated by the Search module.
+ */
+
+.search-results {
+  list-style: none;
+}
diff --git a/core/themes/seven/css/classy/components/tabledrag.css b/core/themes/seven/css/classy/components/tabledrag.css
new file mode 100644
index 0000000000000000000000000000000000000000..a197b24979cff8f741691b1d25e2d2ca6063174a
--- /dev/null
+++ b/core/themes/seven/css/classy/components/tabledrag.css
@@ -0,0 +1,14 @@
+/**
+ * @file
+ * Visual styles for table drag.
+ */
+
+tr.drag {
+  background-color: #fffff0;
+}
+tr.drag-previous {
+  background-color: #ffd;
+}
+body div.tabledrag-changed-warning {
+  margin-bottom: 0.5em;
+}
diff --git a/core/themes/seven/css/classy/components/tableselect.css b/core/themes/seven/css/classy/components/tableselect.css
new file mode 100644
index 0000000000000000000000000000000000000000..fcfb2a5aa4aec34886cfe3c193e1cbcb20cb08fb
--- /dev/null
+++ b/core/themes/seven/css/classy/components/tableselect.css
@@ -0,0 +1,19 @@
+/**
+ * @file
+ * Table select behavior.
+ *
+ * @see tableselect.js
+ */
+
+tr.selected td {
+  background: #ffc;
+}
+td.checkbox,
+th.checkbox {
+  text-align: center;
+}
+[dir="rtl"] td.checkbox,
+[dir="rtl"] th.checkbox {
+  /* This is required to win over specificity of [dir="rtl"] td */
+  text-align: center;
+}
diff --git a/core/themes/seven/css/classy/components/tablesort.css b/core/themes/seven/css/classy/components/tablesort.css
new file mode 100644
index 0000000000000000000000000000000000000000..44e5349404d0356ab1b601951ff0d141b85ac4a4
--- /dev/null
+++ b/core/themes/seven/css/classy/components/tablesort.css
@@ -0,0 +1,11 @@
+/**
+ * @file
+ * Table sort indicator.
+ */
+
+th.is-active img {
+  display: inline;
+}
+td.is-active {
+  background-color: #ddd;
+}
diff --git a/core/themes/seven/css/classy/components/tabs.css b/core/themes/seven/css/classy/components/tabs.css
new file mode 100644
index 0000000000000000000000000000000000000000..16fb1223f08abe7f7366148eb089531b917b1996
--- /dev/null
+++ b/core/themes/seven/css/classy/components/tabs.css
@@ -0,0 +1,33 @@
+/**
+ * @file
+ * Visual styles for tabs.
+ */
+
+div.tabs {
+  margin: 1em 0;
+}
+ul.tabs {
+  margin: 0 0 0.5em;
+  padding: 0;
+  list-style: none;
+}
+.tabs > li {
+  display: inline-block;
+  margin-right: 0.3em; /* LTR */
+}
+[dir="rtl"] .tabs > li {
+  margin-right: 0;
+  margin-left: 0.3em;
+}
+.tabs a {
+  display: block;
+  padding: 0.2em 1em;
+  text-decoration: none;
+}
+.tabs a.is-active {
+  background-color: #eee;
+}
+.tabs a:focus,
+.tabs a:hover {
+  background-color: #f5f5f5;
+}
diff --git a/core/themes/seven/css/classy/components/textarea.css b/core/themes/seven/css/classy/components/textarea.css
new file mode 100644
index 0000000000000000000000000000000000000000..2661bae9c4a3f2f9ea0aff1df132962ae656241b
--- /dev/null
+++ b/core/themes/seven/css/classy/components/textarea.css
@@ -0,0 +1,11 @@
+/**
+ * @file
+ * Visual styles for a resizable textarea.
+ */
+
+.form-textarea-wrapper textarea {
+  display: block;
+  box-sizing: border-box;
+  width: 100%;
+  margin: 0;
+}
diff --git a/core/themes/seven/css/classy/components/ui-dialog.css b/core/themes/seven/css/classy/components/ui-dialog.css
new file mode 100644
index 0000000000000000000000000000000000000000..476c21ffdb771ed189d7a6e7f76cfe170dbe340b
--- /dev/null
+++ b/core/themes/seven/css/classy/components/ui-dialog.css
@@ -0,0 +1,15 @@
+/**
+ * @file
+ * Styles for Classy's modal windows.
+ */
+
+.ui-dialog--narrow {
+  max-width: 500px;
+}
+
+@media screen and (max-width: 600px) {
+  .ui-dialog--narrow {
+    min-width: 95%;
+    max-width: 95%;
+  }
+}
diff --git a/core/themes/seven/css/classy/components/user.css b/core/themes/seven/css/classy/components/user.css
new file mode 100644
index 0000000000000000000000000000000000000000..8baa8f83a381151ff8aa089b5c495b7c754ae5ac
--- /dev/null
+++ b/core/themes/seven/css/classy/components/user.css
@@ -0,0 +1,66 @@
+/**
+ * @file
+ * Theme styling for user module.
+ */
+
+/* Visual styling for the Password strength indicator */
+.password-strength__meter {
+  margin-top: 0.5em;
+  background-color: #ebeae4;
+}
+.password-strength__indicator {
+  -webkit-transition: width 0.5s ease-out;
+  transition: width 0.5s ease-out;
+  background-color: #77b259;
+}
+.password-strength__indicator.is-weak {
+  background-color: #e62600;
+}
+.password-strength__indicator.is-fair {
+  background-color: #e09600;
+}
+.password-strength__indicator.is-good {
+  background-color: #0074bd;
+}
+.password-strength__indicator.is-strong {
+  background-color: #77b259;
+}
+
+.password-confirm,
+.password-field,
+.password-strength,
+.password-confirm-match {
+  width: 55%;
+}
+
+.password-suggestions {
+  max-width: 34.7em;
+  margin: 0.7em 0;
+  padding: 0.2em 0.5em;
+  border: 1px solid #b4b4b4;
+}
+.password-suggestions ul {
+  margin-bottom: 0;
+}
+
+.confirm-parent,
+.password-parent {
+  clear: left; /* LTR */
+  overflow: hidden;
+  max-width: 33em;
+  margin: 0;
+}
+[dir="rtl"] .confirm-parent,
+[dir="rtl"] .password-parent {
+  clear: right;
+}
+
+/* Styling for the status indicator of the passwords match test.  */
+.password-confirm .ok {
+  color: #325e1c;
+  font-weight: bold;
+}
+.password-confirm .error {
+  color: #a51b00;
+  font-weight: bold;
+}
diff --git a/core/themes/seven/css/classy/layout/media-library.css b/core/themes/seven/css/classy/layout/media-library.css
new file mode 100644
index 0000000000000000000000000000000000000000..84dee10daa5407063fa77cae7cdbae9ca37ea2e5
--- /dev/null
+++ b/core/themes/seven/css/classy/layout/media-library.css
@@ -0,0 +1,28 @@
+/**
+ * @file
+ * Contains minimal layout styling for the media library.
+ */
+
+.media-library-wrapper {
+  display: flex;
+}
+
+.media-library-menu {
+  flex-basis: 20%;
+  flex-shrink: 0;
+}
+
+.media-library-content {
+  flex-grow: 1;
+}
+
+.media-library-views-form {
+  display: flex;
+  flex-wrap: wrap;
+}
+
+.media-library-views-form .media-library-item {
+  justify-content: space-between;
+  max-width: 23%;
+  margin: 1%;
+}
diff --git a/core/themes/seven/images/classy/README.txt b/core/themes/seven/images/classy/README.txt
new file mode 100644
index 0000000000000000000000000000000000000000..9df44f55ec0a5d8b73c19d54049faf18e73ab931
--- /dev/null
+++ b/core/themes/seven/images/classy/README.txt
@@ -0,0 +1,12 @@
+WHAT IS THIS DIRECTORY FOR?
+--------------------------------
+This directory is for image files previously inherited from the Classy theme.
+
+WHY ARE CLASSY IMAGE FILES BEING COPIED HERE?
+-------------------------------------------
+Classy will be deprecated during the Drupal 9 lifecycle. To prepare for Classy's
+removal, image files that would otherwise be inherited from Classy are copied
+here.
+
+Image files that differ from the Classy versions should not be placed in this
+directory or any subdirectory.
diff --git a/core/themes/seven/images/classy/icons/application-octet-stream.png b/core/themes/seven/images/classy/icons/application-octet-stream.png
new file mode 100644
index 0000000000000000000000000000000000000000..d5453217dc5cc30e805d3d0da8fa91e5a0684b86
--- /dev/null
+++ b/core/themes/seven/images/classy/icons/application-octet-stream.png
@@ -0,0 +1,3 @@
+‰PNG
+
+���
IHDR���������µú7ê���tEXtSoftware�Adobe ImageReadyqÉe<���_IDAT(SÍͱ	€@DÑ©Õ,À`û42Ìäî@ýâÁîZ€óÓ#„ŒÔd2!¤4J¯>dt�æ`§
,=Þ›âÀÚ{g8°…ØC	ÔPG(<ûh\¡æÁwÝ)E˜o}˜^¬����IEND®B`‚
\ No newline at end of file
diff --git a/core/themes/seven/images/classy/icons/application-pdf.png b/core/themes/seven/images/classy/icons/application-pdf.png
new file mode 100644
index 0000000000000000000000000000000000000000..36107d6e804015e13d122c53cb035d33632678d2
--- /dev/null
+++ b/core/themes/seven/images/classy/icons/application-pdf.png
@@ -0,0 +1,5 @@
+‰PNG
+
+���
IHDR���������óÿa��!IDATxڍӱŠÂ0Çñ{AqsÜ]ÜÄM9p¾I—ê#¸ú‚ nN.
+..Å¡à"š–¶¤ic~—渢Ö\ú‡/%| )ý� ²,ú–å{‹sO�c”ÒRI’<"_Z Û¶KÉÉþ=ï²O-à8ÎkðÕ®ë–z…hÏóÞFf3ÁÀÄq\*:@
„뵐7þœï#è÷AšMÐÛÍp΋2y8šNá·Ûz=pÆÌ�[­ Av8 A„òÝÃѨÚ%’Z
A§ƒh<FºÙ(ŒÔëՁl¿W›ùù¬Öén÷‹v»r‘š…ˆ'@°å2ÔW¸_¯F :Ÿƒ_.
+ð[-UºÝ€ögBü›Ü£*öü�()5hô����IEND®B`‚
\ No newline at end of file
diff --git a/core/themes/seven/images/classy/icons/application-x-executable.png b/core/themes/seven/images/classy/icons/application-x-executable.png
new file mode 100644
index 0000000000000000000000000000000000000000..d5453217dc5cc30e805d3d0da8fa91e5a0684b86
--- /dev/null
+++ b/core/themes/seven/images/classy/icons/application-x-executable.png
@@ -0,0 +1,3 @@
+‰PNG
+
+���
IHDR���������µú7ê���tEXtSoftware�Adobe ImageReadyqÉe<���_IDAT(SÍͱ	€@DÑ©Õ,À`û42Ìäî@ýâÁîZ€óÓ#„ŒÔd2!¤4J¯>dt�æ`§
,=Þ›âÀÚ{g8°…ØC	ÔPG(<ûh\¡æÁwÝ)E˜o}˜^¬����IEND®B`‚
\ No newline at end of file
diff --git a/core/themes/seven/images/classy/icons/audio-x-generic.png b/core/themes/seven/images/classy/icons/audio-x-generic.png
new file mode 100644
index 0000000000000000000000000000000000000000..28d7f50862b5dbb153c0809e9119fd879d499788
--- /dev/null
+++ b/core/themes/seven/images/classy/icons/audio-x-generic.png
@@ -0,0 +1,3 @@
+‰PNG
+
+���
IHDR���������óÿa��IDAT8Ocøÿÿ?×××ÿ'W1H-L²?þüÿýûwüãÇdCòq�·nÝÂÀ �“ҁ8	§<ÀÀ0ðwœ¼~ý£¨Zì¼{÷Œï=½öÿèÍÍÿלîû?y_ÖÿòõŽÿ³W6àëׯ`>_è¿ß,6LÐ�Pˆƒ0Hq×îèÿËN7ÿ?psÅÿ‡¯ogÀŸ?À¤ÆF#h�Àc£¿aÐ�^$IØ�ôâõVÿ#ˆüŸv8‡°Ásyÿg¬ÔúëÕ)¸þþúÿý×çÿÿþýÅo�(3ýû÷/©Ái�)¦�ð›œÛ‰����IEND®B`‚
\ No newline at end of file
diff --git a/core/themes/seven/images/classy/icons/forum-icons.png b/core/themes/seven/images/classy/icons/forum-icons.png
new file mode 100644
index 0000000000000000000000000000000000000000..e291de672522d40458ed4b6fc15f58372c778afa
--- /dev/null
+++ b/core/themes/seven/images/classy/icons/forum-icons.png
@@ -0,0 +1,10 @@
+‰PNG
+
+���
IHDR���������"{„?��PLTE���ÿÿÿŸŸŸÃÃÃwww³³³‡‡‡ŸŸŸ¯¯¯“““ŸŸŸ³³³§§§“““»»»¯¯¯»»»ŸŸŸ‡‡‡¯¯¯‡‡‡›››‹‹‹¯¯¯‡‡‡———¯¯¯³³³ÿÿÿ‡‡‡ûûûÿÿÿ»»»§§§¯¯¯ŸŸŸ£££›››···‡‡‡““““““‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡ûûûŸŸŸ‡‡‡‹‹‹ûûû¯¯¯‡‡‡§§§³³³···»»»ûûû‡‡‡»»»‡‡‡¯¯¯›››“““———‡‡‡‡‡‡‹‹‹ûûû›››÷÷÷£££§§§···»»»———‡‡‡“““ÿÿÿ§§§›››‡‡‡‹‹‹¯¯¯‡‡‡›››———“““‡‡‡“““———§§§‡‡‡———‹‹‹›››¯¯¯···»»»ÿÿÿ‡‡‡“““ÿÿÿ‡‡‡«««ßß߯¯¯³³³···‡‡‡‹‹‹ïïï“““³³³»»»‡‡‡§§§ûûûŸŸŸŸŸŸ£££««««««‡‡‡···§§§»»»›››£££§§§ûûû§§§ÛÛÛ¯¯¯›››‹‹‹ŸŸŸ‡‡‡«««———³³³···»»»ÃÃÃÇÇÇËËËÓÓÓ××ד““çççóóó÷÷÷ûûûÿÿÿ¿¿¿ÏÏÏïï£ßßßãããëëëtP[þ���ŒtRNS�	
+
+    %***+,..001479=HKMX\ddhiimsvxxxxxxyy{}ƒƒŠ••›¥®¯±±³³µ·¼¼½ÀÂÂÂÃÆÇÏÐÑÑÑÒÕÖÖÖ×ÛÛàáááäääçèéëëëììíîðôõöøøúûûüüüýýþþþ甐��IDATx^µ‘…·E‡JiS
+-êÒâîî”/RÜŠhq·W¤P|dÕ]bï¯äÎÝÉî&›äÀãð圼ó¾ùíoîæ*
·mÛ¨tþÜw?8Åÿ”ŸeëÝOøÕ±ïü¶­]ïÞÿeÚúˆyùÛÿEÞYÔ?ÛsÜß8~@㘞õõÍÇtý8§A~ãÉÛÀüòž‹?sÂ$“$¡õÉùs¼c¥=zí9sòv+OççmKPŒl&˜Îw{ÎøÔO³<Ï3Iê}tjã³ÊÇÌ "ðp훼ÛÊgM>¬ó0ÌçyÈF•?³êéÜ{â;~–£mnxcKۏ
+‡„f9áwà=¸uyÞ¶Úy&(Äaa ¤ÎgÝe‡f3¤ìÖ)`0h^v§²ÃZ·ä™ ÌrÀ5HÅ$?.`ÔqÝc€W^(gê!ç>3íÇDÓ4®…ÙÇè;xËòbIvŽ¤Œ ™÷ó<ƒxòâTÜ»ùШ=KŠô‡Mèk°,ùqÓæŸFÝ€¼ôÝü!±#Œú90&Võ‡$„‡Ó€PÙ=Êy$hO“â>|~QíqDnšQd&ýÚcV¾W“—-˜‡ª¼ÄÂ¥”zçUÞqªç-¾E!ô(ëVlü|0büvìº=ê8Òèx0¤}ð¿@Óx$>˜G/LÛù±"ŸW¬Ϋ~æaEæøö(Êî4ƒE|sŸ¢<~rCé& =7ݧlùs@!)<É¿-½Ô“|=»ÅŠ8²’sn¢§†a¨u¯r¦Ql©	Ls§ôò AŸ$£Ê…ƒÚ7ùh—ôÀt{4Ž0OŸ™‚]àÁj\ÂêE9òÎÝÕ´…íÝ0Ï;äµ
Êúß­9yôÝüë²a0OHƒØÛxÇæ€Y÷�½—ÁØ4î§÷íÒ›ÜgüñšgÍ懕gÜìxÙ#(ó„9yÆ£HösA–áé¤9ùÉÈŒ�΍q
+”ÞôB£Ñ«à/àƒU§öãÆkàöï‡ðíååp(½)CìšôH.}
+ÜP-XUO[ì×OŒ,fÿÈë­@x5ÈLUúH@)þ©{ê‘nzèÅ/TUÕÕ"‰õKf½®'þÙBcý<
+Ãqµñ¼ö€ôÝ~ZêÒËŸß É·9遟u]<ýÊ%þ>m¤Enši¡/ò‹{TI?Œ<'*ÐÉKÎÞ£®Yâ{¯ÔTÎ\‡Dº:åË®ïö-éUØ ñ}"²u‡Ëß„ƒ{–ùÓ¿bý4(Hd2—f¾ÞöIíKua*ý[°AÉ«u—£®ÿ\¿k©¿ì}±d•©/ݲį¥¿Ë	W½Ü÷î=8¬V£¾wÕR¿†þµqÊ
>ÿí‡{×ñÏI¿FþEà2gz‚¿L����IEND®B`‚
\ No newline at end of file
diff --git a/core/themes/seven/images/classy/icons/image-x-generic.png b/core/themes/seven/images/classy/icons/image-x-generic.png
new file mode 100644
index 0000000000000000000000000000000000000000..c1b814f7cb6f4a21e165e88db557ffe4692babad
--- /dev/null
+++ b/core/themes/seven/images/classy/icons/image-x-generic.png
@@ -0,0 +1,6 @@
+‰PNG
+
+���
IHDR���������óÿa��HIDATxÚ•’=KÃP†³ù'ü.ÒÁZ*Šø… q·N¢Ð!ƒJDGEÅYAœÄIT¨‰`Sð³4I¡QLnmòš{†ÐZ’聇÷ð&÷K"� $IÂÈú�Dƒ€1Û¶›p§^2*àS>ëo‚¼HϹÀõ™|Þ/Ãe:‡ö·ë!êW–®b‡
+¼ï
+`ÿȏâא$\P#A°ÛÏcõÄjÖšЄQR0ŸiÁÜŒ€¢’¤Ü’xž-p­Iâü¸F¡‡r!#Юk)¨ª-À×TñW¨šiTËi0cvqœ’:“ºx~Ú+7Œwe„²r1€ÒI/ý¯Wƒñ‚§Ã$ö» íˆ(ìuâñ ›º—£e¬ '·ãv#ü¶mWÄÝfnV©ƒºžˆ\fÛ¢ˆ0Æè;G@ï„
+þA ø|	Ê@F����IEND®B`‚
\ No newline at end of file
diff --git a/core/themes/seven/images/classy/icons/package-x-generic.png b/core/themes/seven/images/classy/icons/package-x-generic.png
new file mode 100644
index 0000000000000000000000000000000000000000..21fc382cba23efb9d7cfaefb6a98b86324d531e3
--- /dev/null
+++ b/core/themes/seven/images/classy/icons/package-x-generic.png
@@ -0,0 +1,4 @@
+‰PNG
+
+���
IHDR���������µú7ê���tEXtSoftware�Adobe ImageReadyqÉe<���¦IDAT(S1Â0ï­|€PÜPì‡D”4ðTôH©qPȲ>ƒ„c‚ðh•“<Yہ(
+6**qO’0 'Ž_‡”u&�
QìgËCW™p&[\¼é3áB{û;-NŸBK*6T6µ¥ÐŁéŒBÄÙK‚Q#Q™Ñ˜	µáÙà_s=oH÷>-¿".;óCø£á¶Ô0`"©a2†\øNÜ{Ó†ˆiËûø–����IEND®B`‚
\ No newline at end of file
diff --git a/core/themes/seven/images/classy/icons/text-html.png b/core/themes/seven/images/classy/icons/text-html.png
new file mode 100644
index 0000000000000000000000000000000000000000..9c7c7932c25ad93adc9c9e6962d984d1703cd17f
--- /dev/null
+++ b/core/themes/seven/images/classy/icons/text-html.png
@@ -0,0 +1,7 @@
+‰PNG
+
+���
IHDR���������óÿa���ÐIDATxڍ“Ï
+‚@‡}©Þ¦S‡®=@Ÿ¢7:GÞ ‚þ	…wÁÛ²
+æäo@ØÆvǁfç÷)‚1qÓ–ès?‚º®ÉZ; ª*W²ð
+PY–I0F°??3¯ ÏsIt±^AQD±Ä+(Ë2„.0Æ0×óí_¯ðÅÛ„¦“9Ý/O€3Üé‚dwD€Ï¦i€;^7/®W…î°~ƒtÂ"Ÿ\ÙW xB]€BPöº@)]€Ÿ©mÛØñÆâ
+¾c0¡©¶›����IEND®B`‚
\ No newline at end of file
diff --git a/core/themes/seven/images/classy/icons/text-plain.png b/core/themes/seven/images/classy/icons/text-plain.png
new file mode 100644
index 0000000000000000000000000000000000000000..06804849b8331ed8be3d1ae089311ae58ea79c83
--- /dev/null
+++ b/core/themes/seven/images/classy/icons/text-plain.png
@@ -0,0 +1,4 @@
+‰PNG
+
+���
IHDR���������µú7ê���tEXtSoftware�Adobe ImageReadyqÉe<���~IDAT(S•ŽÁ	€0E3«8€‡lâîâÉ‹ 
+¢Ôôkm¬éÅ<hhóø)@EÅÄäfä#ì^)hÀÝùà"jqI„Qˆu¿¾…&0…®„Aز	‹ädæJè6t%œ”°¢¿1r*A×?Áª?ØTÈãf;˜‘ªºœÞÁ����IEND®B`‚
\ No newline at end of file
diff --git a/core/themes/seven/images/classy/icons/text-x-generic.png b/core/themes/seven/images/classy/icons/text-x-generic.png
new file mode 100644
index 0000000000000000000000000000000000000000..06804849b8331ed8be3d1ae089311ae58ea79c83
--- /dev/null
+++ b/core/themes/seven/images/classy/icons/text-x-generic.png
@@ -0,0 +1,4 @@
+‰PNG
+
+���
IHDR���������µú7ê���tEXtSoftware�Adobe ImageReadyqÉe<���~IDAT(S•ŽÁ	€0E3«8€‡lâîâÉ‹ 
+¢Ôôkm¬éÅ<hhóø)@EÅÄäfä#ì^)hÀÝùà"jqI„Qˆu¿¾…&0…®„Aز	‹ädæJè6t%œ”°¢¿1r*A×?Áª?ØTÈãf;˜‘ªºœÞÁ����IEND®B`‚
\ No newline at end of file
diff --git a/core/themes/seven/images/classy/icons/text-x-script.png b/core/themes/seven/images/classy/icons/text-x-script.png
new file mode 100644
index 0000000000000000000000000000000000000000..f9ecca813882ad9d8f3509464e2d8ac017910b81
--- /dev/null
+++ b/core/themes/seven/images/classy/icons/text-x-script.png
@@ -0,0 +1,5 @@
+‰PNG
+
+���
IHDR���������óÿa���ÛIDATxڝ“Á
+‚@Eû©þ¦U‹¶}@?ªˆÀE!D †’ YRM¸Ì—wàÁ¤
¯zpxsaîa‘Æqú‚EÇpïMP×5•e9 ª*S2·
+0Q
èEÞÏŽ©U$I.š”VRŠB?Ò›1‡eVÁñÓd<£ÍÊ£<ÏûÈ‚¢(hçîµä§È&²�_üœd`#>Ë‚¦ièšÞ´ÀßfÆ–<륫K*{ ò–|åÀÿp	"΢ _è¿FÏø™Ú¶¥ûEawì‚_àސ>2„¬¯Z����IEND®B`‚
\ No newline at end of file
diff --git a/core/themes/seven/images/classy/icons/video-x-generic.png b/core/themes/seven/images/classy/icons/video-x-generic.png
new file mode 100644
index 0000000000000000000000000000000000000000..a2b71f95d9e1a5bf86d90a1272bf4f9ae44fcb71
--- /dev/null
+++ b/core/themes/seven/images/classy/icons/video-x-generic.png
@@ -0,0 +1,5 @@
+‰PNG
+
+���
IHDR���������µú7ê���tEXtSoftware�Adobe ImageReadyqÉe<���xIDAT(Ï•11ýV>À(vßIEOî
+`®ˆAv”2]4šØ	‚F‹BA10[²åÜc®	ÐK§©pKø<³}cÌ=7S¡bšáQ0°,<ËB=SÁ¬ù½ \¬
+ÿÍ „yÆg7aAîπǴ"Îj����IEND®B`‚
\ No newline at end of file
diff --git a/core/themes/seven/images/classy/icons/x-office-document.png b/core/themes/seven/images/classy/icons/x-office-document.png
new file mode 100644
index 0000000000000000000000000000000000000000..40db538fcb71e1f46147a717cdf7134c4e74a239
--- /dev/null
+++ b/core/themes/seven/images/classy/icons/x-office-document.png
@@ -0,0 +1,5 @@
+‰PNG
+
+���
IHDR���������óÿa���‹IDATxÚÕ“A
+!E=k/Ðå,ºð:£÷܉ÔÔTR‚c3³šl’ÇßÄ âŽµÿàÕ¡Ýq÷#È9cJI��\òœ
+(f{zèð;kçqFÀIS÷^À2dSsnB ÉÑ	bŒ•��®5(¥T‚Z«¾Á:ë¼ÉÝÐ3µÖŽ ¹@Á|�ó¾~-à����IEND®B`‚
\ No newline at end of file
diff --git a/core/themes/seven/images/classy/icons/x-office-presentation.png b/core/themes/seven/images/classy/icons/x-office-presentation.png
new file mode 100644
index 0000000000000000000000000000000000000000..fb119e5ba91dd5141e07aad5229754cd06401c99
--- /dev/null
+++ b/core/themes/seven/images/classy/icons/x-office-presentation.png
@@ -0,0 +1,5 @@
+‰PNG
+
+���
IHDR���������óÿa���|IDATxÚå“Á
+€ †}Ö^ stðo1=ärÁ`1¦£Žýðá÷
"ÞÄÑÁÞ	÷=µV�E)EJVS@9¶ è¡F^ÏÎòF SRRÈ°Ì䜞&÷¦‚Ù+øF~ ø~‰zš®}®GBó3µÖFÐ[àE
+. 4çÏ;«����IEND®B`‚
\ No newline at end of file
diff --git a/core/themes/seven/images/classy/icons/x-office-spreadsheet.png b/core/themes/seven/images/classy/icons/x-office-spreadsheet.png
new file mode 100644
index 0000000000000000000000000000000000000000..9af7b61ea11fb8bd71c0b5c6506a2101d5c1f714
--- /dev/null
+++ b/core/themes/seven/images/classy/icons/x-office-spreadsheet.png
@@ -0,0 +1,4 @@
+‰PNG
+
+���
IHDR���������óÿa���~IDATxÚå“Á	À E=u¼Ñ:@îÑeȳ¨`M“B E"ÒC{臇Ìã_4�pa­…6ļwäœ!ÆؐR’’UPæ}jÀÐ"Ÿ²<H¢*ðÞ7È°L8çzŒ	B4ò]Î/5(¥|Ü�óËü™j­=è.E
+N† ò8ÍÏ����IEND®B`‚
\ No newline at end of file
diff --git a/core/themes/seven/js/classy/README.txt b/core/themes/seven/js/classy/README.txt
new file mode 100644
index 0000000000000000000000000000000000000000..efa01cfd103552923d092d7a8866ca13d056368b
--- /dev/null
+++ b/core/themes/seven/js/classy/README.txt
@@ -0,0 +1,12 @@
+WHAT IS THIS DIRECTORY FOR?
+--------------------------------
+This directory is for JS files previously inherited from the Classy theme.
+
+WHY ARE CLASSY JS FILES BEING COPIED HERE?
+-------------------------------------------
+Classy will be deprecated during the Drupal 9 lifecycle. To prepare for Classy's
+removal, JS files that would otherwise be inherited from Classy are copied
+here.
+
+JS files that differ from the Classy versions should not be placed in this
+directory or any subdirectory.
diff --git a/core/themes/seven/js/classy/media_embed_ckeditor.theme.es6.js b/core/themes/seven/js/classy/media_embed_ckeditor.theme.es6.js
new file mode 100644
index 0000000000000000000000000000000000000000..10193f7ba2dc87da778d9398801bd9af22e13b3a
--- /dev/null
+++ b/core/themes/seven/js/classy/media_embed_ckeditor.theme.es6.js
@@ -0,0 +1,22 @@
+/**
+ * @file
+ * Classy theme overrides for the Media Embed CKEditor plugin.
+ */
+
+(Drupal => {
+  /**
+   * Themes the error displayed when the media embed preview fails.
+   *
+   * @param {string} error
+   *   The error message to display
+   *
+   * @return {string}
+   *   A string representing a DOM fragment.
+   *
+   * @see media-embed-error.html.twig
+   */
+  Drupal.theme.mediaEmbedPreviewError = () =>
+    `<div class="media-embed-error media-embed-error--preview-error">${Drupal.t(
+      'An error occurred while trying to preview the media. Please save your work and reload this page.',
+    )}</div>`;
+})(Drupal);
diff --git a/core/themes/seven/js/classy/media_embed_ckeditor.theme.js b/core/themes/seven/js/classy/media_embed_ckeditor.theme.js
new file mode 100644
index 0000000000000000000000000000000000000000..6614288cb4e4e4d15eec8e5e3224497c083962e4
--- /dev/null
+++ b/core/themes/seven/js/classy/media_embed_ckeditor.theme.js
@@ -0,0 +1,12 @@
+/**
+* DO NOT EDIT THIS FILE.
+* See the following change record for more information,
+* https://www.drupal.org/node/2815083
+* @preserve
+**/
+
+(function (Drupal) {
+  Drupal.theme.mediaEmbedPreviewError = function () {
+    return '<div class="media-embed-error media-embed-error--preview-error">' + Drupal.t('An error occurred while trying to preview the media. Please save your work and reload this page.') + '</div>';
+  };
+})(Drupal);
\ No newline at end of file
diff --git a/core/themes/seven/seven.info.yml b/core/themes/seven/seven.info.yml
index 1873ca6148be58dd39a616232907f73bf0b42330..545585a8ec4f7b7c258f96082a94e77674ca91cf 100644
--- a/core/themes/seven/seven.info.yml
+++ b/core/themes/seven/seven.info.yml
@@ -27,6 +27,7 @@ libraries-override:
         /core/themes/stable/css/system/components/system-status-counter.css: css/components/system-status-counter.css
         /core/themes/stable/css/system/components/system-status-report-counters.css: css/components/system-status-report-counters.css
         /core/themes/stable/css/system/components/system-status-report-general-info.css: css/components/system-status-report-general-info.css
+
   core/drupal.vertical-tabs:
     css:
       component:
@@ -44,25 +45,74 @@ libraries-override:
   classy/base:
     css:
       component:
+        css/components/action-links.css: css/classy/components/action-links.css
+        css/components/breadcrumb.css: css/classy/components/breadcrumb.css
+        css/components/button.css: css/classy/components/button.css
+        css/components/collapse-processed.css: css/classy/components/collapse-processed.css
+        css/components/container-inline.css: css/classy/components/container-inline.css
         css/components/details.css: false
+        css/components/exposed-filters.css: css/classy/components/exposed-filters.css
+        css/components/field.css: css/classy/components/field.css
+        css/components/form.css: css/classy/components/form.css
+        css/components/icons.css: css/classy/components/icons.css
+        css/components/inline-form.css: css/classy/components/inline-form.css
+        css/components/item-list.css: css/classy/components/item-list.css
+        css/components/link.css: css/classy/components/link.css
+        css/components/links.css: css/classy/components/links.css
+        css/components/menu.css: css/classy/components/menu.css
+        css/components/more-link.css: css/classy/components/more-link.css
+        css/components/pager.css: css/classy/components/pager.css
+        css/components/tabledrag.css: css/classy/components/tabledrag.css
+        css/components/tableselect.css: css/classy/components/tableselect.css
+        css/components/tablesort.css: css/classy/components/tablesort.css
+        css/components/tabs.css: css/classy/components/tabs.css
+        css/components/textarea.css: css/classy/components/textarea.css
+        css/components/ui-dialog.css: css/classy/components/ui-dialog.css
+
   classy/media_library:
     css:
       layout:
         css/layout/media-library.css: false
 
+  classy/book-navigation: seven/classy.book-navigation
+  classy/dropbutton: seven/classy.dropbutton
+  classy/file: seven/classy.file
+  classy/forum: seven/classy.forum
+  classy/image-widget: seven/classy.image-widget
+  classy/indented: seven/classy.indented
+  classy/media_embed_ckeditor_theme: seven/classy.media_embed_ckeditor_theme
+  classy/media_embed_error: seven/classy.media_embed_error
+  classy/messages: seven/classy.messages
+  classy/node: seven/classy.node
+  classy/progress: seven/classy.progress
+  classy/search-results: seven/classy.search-results
+  classy/user: seven/classy.user
+
 libraries-extend:
   core/ckeditor:
     - seven/ckeditor-dialog
+  core/drupal.dialog:
+    - seven/seven.drupal.dialog
+  core/drupal.dropbutton:
+    - seven/classy.dropbutton
+  core/drupal.progress:
+    - seven/classy.progress
   core/drupal.vertical-tabs:
     - seven/vertical-tabs
   core/jquery.ui:
     - seven/seven.jquery.ui
+  file/drupal.file:
+    - seven/classy.file
+  media/media_embed_ckeditor_theme:
+    - seven/classy.media_embed_ckeditor_theme
   media_library/view:
     - seven/media_library
   media_library/widget:
     - seven/media_library
   tour/tour-styling:
     - seven/tour-styling
+  user/drupal.user:
+    - seven/classy.user
 quickedit_stylesheets:
   - css/components/quickedit.css
 regions:
@@ -77,3 +127,6 @@ regions:
   sidebar_first: 'First sidebar'
 regions_hidden:
   - sidebar_first
+
+ckeditor_stylesheets:
+  - css/classy/components/media-embed-error.css
diff --git a/core/themes/seven/seven.libraries.yml b/core/themes/seven/seven.libraries.yml
index 8db54e12dffb62b045da9a3ed911cd2682fc2633..7faf0a0a2757e89a8e21f5ff3a726f735c7277b3 100644
--- a/core/themes/seven/seven.libraries.yml
+++ b/core/themes/seven/seven.libraries.yml
@@ -140,3 +140,80 @@ layout_builder_content_translation_admin:
   css:
     component:
       css/components/layout-builder-content-translation.css: {}
+
+classy.book-navigation:
+  version: VERSION
+  css:
+    component:
+      css/classy/components/book-navigation.css: {}
+
+classy.dropbutton:
+  version: VERSION
+  css:
+    component:
+      css/classy/components/dropbutton.css: { weight: -10 }
+
+classy.file:
+  version: VERSION
+  css:
+    component:
+      css/classy/components/file.css: { weight: -10 }
+
+classy.forum:
+  version: VERSION
+  css:
+    component:
+      css/classy/components/forum.css: { weight: -10 }
+
+classy.image-widget:
+  version: VERSION
+  css:
+    component:
+      css/classy/components/image-widget.css: {}
+
+classy.indented:
+  version: VERSION
+  css:
+    component:
+      css/classy/components/indented.css: {}
+
+classy.media_embed_ckeditor_theme:
+  version: VERSION
+  js:
+    js/classy/media_embed_ckeditor.theme.js: {}
+
+classy.media_embed_error:
+  version: VERSION
+  css:
+    component:
+      css/classy/components/media-embed-error.css: {}
+
+classy.messages:
+  version: VERSION
+  css:
+    component:
+      css/classy/components/messages.css: { weight: -10 }
+
+classy.node:
+  version: VERSION
+  css:
+    component:
+      css/classy/components/node.css: { weight: -10 }
+
+classy.progress:
+  version: VERSION
+  css:
+    component:
+      css/classy/components/progress.css: { weight: -10 }
+
+classy.search-results:
+  version: VERSION
+  css:
+    component:
+      css/classy/components/search-results.css: {}
+
+classy.user:
+  version: VERSION
+  css:
+    component:
+      css/classy/components/user.css: { weight: -10 }