diff --git a/core/modules/system/src/Tests/Menu/MenuRouterTest.php b/core/modules/system/src/Tests/Menu/MenuRouterTest.php
index cc64d4b2290489716c8d07760d9cb54e80cac0ec..26a0beb848af83b45d03d963a90671f7e1fdbffd 100644
--- a/core/modules/system/src/Tests/Menu/MenuRouterTest.php
+++ b/core/modules/system/src/Tests/Menu/MenuRouterTest.php
@@ -392,7 +392,7 @@ public function testThemeIntegration() {
   protected function doTestThemeCallbackAdministrative() {
     $this->drupalGet('menu-test/theme-callback/use-admin-theme');
     $this->assertText('Active theme: seven. Actual theme: seven.', 'The administrative theme can be correctly set in a theme negotiation.');
-    $this->assertRaw('seven/style.css', "The administrative theme's CSS appears on the page.");
+    $this->assertRaw('seven/css/style.css', "The administrative theme's CSS appears on the page.");
   }
 
   /**
@@ -411,7 +411,7 @@ protected function doTestThemeCallbackMaintenanceMode() {
     $this->drupalLogin($admin_user);
     $this->drupalGet('menu-test/theme-callback/use-admin-theme');
     $this->assertText('Active theme: seven. Actual theme: seven.', 'The theme negotiation system is correctly triggered for an administrator when the site is in maintenance mode.');
-    $this->assertRaw('seven/style.css', "The administrative theme's CSS appears on the page.");
+    $this->assertRaw('seven/css/style.css', "The administrative theme's CSS appears on the page.");
 
     $this->container->get('state')->set('system.maintenance_mode', FALSE);
   }
diff --git a/core/modules/taxonomy/src/Tests/ThemeTest.php b/core/modules/taxonomy/src/Tests/ThemeTest.php
index 218dd9223d167fcda3b453fb3975faa4c929d332..bdf90086619a4c327e29d3cd43027868dd8e3418 100644
--- a/core/modules/taxonomy/src/Tests/ThemeTest.php
+++ b/core/modules/taxonomy/src/Tests/ThemeTest.php
@@ -39,7 +39,7 @@ function testTaxonomyTermThemes() {
     // should use the administrative theme.
     $vocabulary = $this->createVocabulary();
     $this->drupalGet('admin/structure/taxonomy/manage/' . $vocabulary->id() . '/add');
-    $this->assertRaw('seven/style.css', t("The administrative theme's CSS appears on the page for adding a taxonomy term."));
+    $this->assertRaw('seven/css/style.css', t("The administrative theme's CSS appears on the page for adding a taxonomy term."));
 
     // Viewing a taxonomy term should use the default theme.
     $term = $this->createTerm($vocabulary);
@@ -48,6 +48,6 @@ function testTaxonomyTermThemes() {
 
     // Editing a taxonomy term should use the same theme as adding one.
     $this->drupalGet('taxonomy/term/' . $term->id() . '/edit');
-    $this->assertRaw('seven/style.css', t("The administrative theme's CSS appears on the page for editing a taxonomy term."));
+    $this->assertRaw('seven/css/style.css', t("The administrative theme's CSS appears on the page for editing a taxonomy term."));
   }
 }
diff --git a/core/tests/Drupal/Tests/Core/Extension/ThemeHandlerTest.php b/core/tests/Drupal/Tests/Core/Extension/ThemeHandlerTest.php
index 4e6e06b74c5d448eaaaf9fe72e539c7ebd3d7e74..675d04ede3cf02ddd0150338a013ca10e71ae766 100644
--- a/core/tests/Drupal/Tests/Core/Extension/ThemeHandlerTest.php
+++ b/core/tests/Drupal/Tests/Core/Extension/ThemeHandlerTest.php
@@ -156,8 +156,8 @@ public function testRebuildThemeData() {
     // Ensure that the css paths are set with the proper prefix.
     $this->assertEquals(array(
       'screen' => array(
-        'seven.base.css' => DRUPAL_ROOT . '/core/themes/seven/seven.base.css',
-        'style.css' => DRUPAL_ROOT . '/core/themes/seven/style.css',
+        'css/seven.base.css' => DRUPAL_ROOT . '/core/themes/seven/css/seven.base.css',
+        'css/style.css' => DRUPAL_ROOT . '/core/themes/seven/css/style.css',
         'css/layout.css' => DRUPAL_ROOT . '/core/themes/seven/css/layout.css',
         'css/components/buttons.css' => DRUPAL_ROOT . '/core/themes/seven/css/components/buttons.css',
         'css/components/buttons.theme.css' => DRUPAL_ROOT . '/core/themes/seven/css/components/buttons.theme.css',
diff --git a/core/themes/seven/css/dialog.theme.css b/core/themes/seven/css/dialog.theme.css
index 547ca7f59a30619251528347596e4ae95cfd561c..c3d766c01233fbc5897af975d8da294ae4453bbf 100644
--- a/core/themes/seven/css/dialog.theme.css
+++ b/core/themes/seven/css/dialog.theme.css
@@ -34,7 +34,7 @@
   position: absolute;
 }
 .ui-dialog .ui-icon.ui-icon-closethick {
-  background: url('../../../misc/icons/ffffff/ex.svg') 0 0 no-repeat;
+  background: url(../../../misc/icons/ffffff/ex.svg) 0 0 no-repeat;
   margin-top: -12px;
 }
 .ui-dialog .ui-widget-content.ui-dialog-content {
@@ -77,7 +77,7 @@
   top: 48.5%;
   z-index: 1000;
   background-color: #232323;
-  background-image: url("../../../misc/loading-small.gif");
+  background-image: url(../../../misc/loading-small.gif);
   background-position: center center;
   background-repeat: no-repeat;
   border-radius: 7px;
diff --git a/core/themes/seven/install-page.css b/core/themes/seven/css/install-page.css
similarity index 90%
rename from core/themes/seven/install-page.css
rename to core/themes/seven/css/install-page.css
index 444aeee976bcd19af3b5be62d49f658370562b97..bb16549b4a5a8684fba83265ad65863918fd15e7 100644
--- a/core/themes/seven/install-page.css
+++ b/core/themes/seven/css/install-page.css
@@ -8,16 +8,16 @@
 .install-background {
   background-color: #1275b2;
   background-image:
-    url('images/noise-low.png'),
+    url(../images/noise-low.png),
     -webkit-radial-gradient(hsl(203, 80%, 45%), hsl(203, 80%, 32%));
   background-image:
-    url('images/noise-low.png'),
+    url(../images/noise-low.png),
     -moz-radial-gradient(hsl(203, 80%, 45%), hsl(203, 80%, 32%));
   background-image:
-    url('images/noise-low.png'),
+    url(../images/noise-low.png),
     -o-radial-gradient(hsl(203, 80%, 45%), hsl(203, 80%, 32%));
   background-image:
-    url('images/noise-low.png'),
+    url(../images/noise-low.png),
     radial-gradient(hsl(203, 80%, 45%), hsl(203, 80%, 32%));
   background-repeat: repeat;
   background-position: left top, 50% 50%;
diff --git a/core/themes/seven/jquery.ui.theme.css b/core/themes/seven/css/jquery.ui.theme.css
similarity index 96%
rename from core/themes/seven/jquery.ui.theme.css
rename to core/themes/seven/css/jquery.ui.theme.css
index 4edb57aabcfcedebb6f6ebe393b54dd2ee5a6de0..8cfc67e5b8860f3cdc813c218e6098bdc512b72e 100644
--- a/core/themes/seven/jquery.ui.theme.css
+++ b/core/themes/seven/css/jquery.ui.theme.css
@@ -64,26 +64,26 @@
   height: 16px;
   overflow: hidden;
   background-repeat: no-repeat;
-  background-image: url(images/ui-icons-222222-256x240.png);
+  background-image: url(../images/ui-icons-222222-256x240.png);
 }
 .ui-widget-content .ui-icon,
 .ui-widget-header .ui-icon {
-  background-image: url(images/ui-icons-222222-256x240.png);
+  background-image: url(../images/ui-icons-222222-256x240.png);
 }
 .ui-state-default .ui-icon {
-  background-image: url(images/ui-icons-888888-256x240.png);
+  background-image: url(../images/ui-icons-888888-256x240.png);
 }
 .ui-state-hover .ui-icon,
 .ui-state-focus .ui-icon,
 .ui-state-active .ui-icon {
-  background-image: url(images/ui-icons-454545-256x240.png);
+  background-image: url(../images/ui-icons-454545-256x240.png);
 }
 .ui-state-highlight .ui-icon {
-  background-image: url(images/ui-icons-800000-256x240.png);
+  background-image: url(../images/ui-icons-800000-256x240.png);
 }
 .ui-state-error .ui-icon,
 .ui-state-error-text .ui-icon {
-  background-image: url(images/ui-icons-ffffff-256x240.png);
+  background-image: url(../images/ui-icons-ffffff-256x240.png);
 }
 .ui-widget p .ui-icon {
   margin: 2px 3px 0 0;
@@ -363,7 +363,7 @@
   height: 1.4em;
 }
 .ui-progressbar .ui-progressbar-value {
-  background: #0072b9 url(../../misc/progress.gif);
+  background: #0072b9 url(../../../misc/progress.gif);
   height: 1.5em;
 }
 
diff --git a/core/themes/seven/maintenance-page.css b/core/themes/seven/css/maintenance-page.css
similarity index 100%
rename from core/themes/seven/maintenance-page.css
rename to core/themes/seven/css/maintenance-page.css
diff --git a/core/themes/seven/quickedit.css b/core/themes/seven/css/quickedit.css
similarity index 100%
rename from core/themes/seven/quickedit.css
rename to core/themes/seven/css/quickedit.css
diff --git a/core/themes/seven/seven.base.css b/core/themes/seven/css/seven.base.css
similarity index 100%
rename from core/themes/seven/seven.base.css
rename to core/themes/seven/css/seven.base.css
diff --git a/core/themes/seven/style.css b/core/themes/seven/css/style.css
similarity index 98%
rename from core/themes/seven/style.css
rename to core/themes/seven/css/style.css
index 460ef246e35586ad39f5f1b0be412390da745f97..36b12c805b3775da3281387ab3c19faf2c9f3bf3 100644
--- a/core/themes/seven/style.css
+++ b/core/themes/seven/css/style.css
@@ -20,12 +20,12 @@ ul.menu li {
 }
 .item-list ul li.collapsed,
 ul.menu li.collapsed {
-  list-style-image: url(../../misc/menu-collapsed.png);
+  list-style-image: url(../../../misc/menu-collapsed.png);
   list-style-type: disc;
 }
 .item-list ul li.expanded,
 ul.menu li.expanded {
-  list-style-image: url(../../misc/menu-expanded.png);
+  list-style-image: url(../../../misc/menu-expanded.png);
   list-style-type: circle;
 }
 /**
@@ -224,10 +224,10 @@ li.tabs__tab a {
 /* Only add the arrow if there's space */
 @media screen and (min-width:18.75em) { /* 300px */
   .tabs.primary a {
-    background: url(../../misc/icons/0074bd/chevron-right.svg) 99% center no-repeat;
+    background: url(../../../misc/icons/0074bd/chevron-right.svg) 99% center no-repeat;
   }
   [dir="rtl"] .tabs.primary a {
-    background: url(../../misc/icons/0074bd/chevron-left.svg) 1% center no-repeat;
+    background: url(../../../misc/icons/0074bd/chevron-left.svg) 1% center no-repeat;
   }
   .tabs.primary .tabs__tab.active a {
     background-image: none;
@@ -441,13 +441,13 @@ ul.admin-list {
   border: none;
 }
 .admin-list li a {
-  background: url(../../misc/icons/bebebe/chevron-disc-right.svg) no-repeat 1px 16px; /* LTR */
+  background: url(../../../misc/icons/bebebe/chevron-disc-right.svg) no-repeat 1px 16px; /* LTR */
   display: block;
   padding: 14px 15px 14px 25px; /* LTR */
   min-height: 0;
 }
 [dir="rtl"] .admin-list li a {
-  background: url(../../misc/icons/bebebe/chevron-disc-left.svg) no-repeat right 16px;
+  background: url(../../../misc/icons/bebebe/chevron-disc-left.svg) no-repeat right 16px;
   padding-right: 25px;
   padding-left: 15px;
 }
diff --git a/core/themes/seven/vertical-tabs.css b/core/themes/seven/css/vertical-tabs.css
similarity index 100%
rename from core/themes/seven/vertical-tabs.css
rename to core/themes/seven/css/vertical-tabs.css
diff --git a/core/themes/seven/seven.info.yml b/core/themes/seven/seven.info.yml
index 033edf11d6dd306724d0f2876a67b10007784012..9cf238f6c739581e85f92450d58ab0a3c31b055a 100644
--- a/core/themes/seven/seven.info.yml
+++ b/core/themes/seven/seven.info.yml
@@ -8,21 +8,21 @@ version: VERSION
 core: 8.x
 stylesheets:
   screen:
-    - seven.base.css
-    - style.css
+    - css/seven.base.css
+    - css/style.css
     - css/layout.css
     - css/components/buttons.css
     - css/components/buttons.theme.css
     - css/components/dropbutton.component.css
     - css/components/tour.theme.css
 stylesheets-override:
-  - vertical-tabs.css
-  - jquery.ui.theme.css
+  - css/vertical-tabs.css
+  - css/jquery.ui.theme.css
   - css/dialog.theme.css
 stylesheets-remove:
   - jquery.ui.dialog.css
 quickedit_stylesheets:
-  - quickedit.css
+  - css/quickedit.css
 regions:
   content: Content
   help: Help
diff --git a/core/themes/seven/seven.libraries.yml b/core/themes/seven/seven.libraries.yml
index fb22ac1287a4147a06f2c6e049fc9b33627c93f8..cc4efee5eedf087a8274115c4018c9e4999aad8c 100644
--- a/core/themes/seven/seven.libraries.yml
+++ b/core/themes/seven/seven.libraries.yml
@@ -4,7 +4,7 @@ maintenance-page:
     js/mobile.install.js: {}
   css:
     theme:
-      maintenance-page.css: {}
+      css/maintenance-page.css: {}
   dependencies:
     - system/maintenance
 
@@ -14,7 +14,7 @@ install-page:
     js/mobile.install.js: {}
   css:
     theme:
-      install-page.css: {}
+      css/install-page.css: {}
   dependencies:
     - system/maintenance