Index: Gruntfile.js
===================================================================
--- Gruntfile.js	(revision 36115)
+++ Gruntfile.js	(working copy)
@@ -93,7 +93,7 @@
 					}
 				]
 			},
-			'wp-admin-rtl': {
+			'wp-admin-css-compat-rtl': {
 				options: {
 					processContent: function( src ) {
 						return src.replace( /\.css/g, '-rtl.css' );
@@ -102,6 +102,23 @@
 				src: SOURCE_DIR + 'wp-admin/css/wp-admin.css',
 				dest: BUILD_DIR + 'wp-admin/css/wp-admin-rtl.css'
 			},
+			'wp-admin-css-compat-min': {
+				options: {
+					processContent: function( src ) {
+						return src.replace( /\.css/g, '.min.css' );
+					}
+				},
+				files: [
+					{
+						src: SOURCE_DIR + 'wp-admin/css/wp-admin.css',
+						dest: BUILD_DIR + 'wp-admin/css/wp-admin.min.css'
+					},
+					{
+						src:  BUILD_DIR + 'wp-admin/css/wp-admin-rtl.css',
+						dest: BUILD_DIR + 'wp-admin/css/wp-admin-rtl.min.css'
+					}
+				]
+			},
 			version: {
 				options: {
 					processContent: function( src ) {
@@ -154,7 +171,6 @@
 		},
 		cssmin: {
 			options: {
-				'wp-admin': ['wp-admin', 'color-picker', 'customize-controls', 'customize-widgets', 'customize-nav-menus', 'ie', 'install', 'login', 'press-this', 'deprecated-*'],
 				compatibility: 'ie7'
 			},
 			core: {
@@ -163,7 +179,8 @@
 				dest: BUILD_DIR,
 				ext: '.min.css',
 				src: [
-					'wp-admin/css/{<%= cssmin.options["wp-admin"] %>}.css',
+					'wp-admin/css/*.css',
+					'!wp-admin/css/wp-admin*.css',
 					'wp-includes/css/*.css'
 				]
 			},
@@ -173,7 +190,8 @@
 				dest: BUILD_DIR,
 				ext: '.min.css',
 				src: [
-					'wp-admin/css/{<%= cssmin.options["wp-admin"] %>}-rtl.css',
+					'wp-admin/css/*-rtl.css',
+					'!wp-admin/css/wp-admin*.css',
 					'wp-includes/css/*-rtl.css'
 				]
 			},
@@ -647,7 +665,8 @@
 
 	grunt.registerTask( 'copy:all', [
 		'copy:files',
-		'copy:wp-admin-rtl',
+		'copy:wp-admin-css-compat-rtl',
+		'copy:wp-admin-css-compat-min',
 		'copy:version'
 	] );
 
Index: src/wp-admin/css/login.css
===================================================================
--- src/wp-admin/css/login.css	(revision 36115)
+++ src/wp-admin/css/login.css	(working copy)
@@ -1,6 +1,3 @@
-@import url(forms.css);
-@import url(l10n.css);
-
 html,
 body {
 	height: 100%;
Index: src/wp-admin/load-styles.php
===================================================================
--- src/wp-admin/load-styles.php	(revision 36115)
+++ src/wp-admin/load-styles.php	(working copy)
@@ -15,7 +15,11 @@
 require( ABSPATH . WPINC . '/script-loader.php' );
 require( ABSPATH . WPINC . '/version.php' );
 
-$load = preg_replace( '/[^a-z0-9,_-]+/i', '', $_GET['load'] );
+$load = $_GET['load'];
+if ( is_array( $load ) )
+	$load = implode( '', $load );
+
+$load = preg_replace( '/[^a-z0-9,_-]+/i', '', $load );
 $load = array_unique( explode( ',', $load ) );
 
 if ( empty($load) )
@@ -35,6 +39,11 @@
 		continue;
 
 	$style = $wp_styles->registered[$handle];
+
+	if ( ! $style->src ) {
+		continue;
+	}
+
 	$path = ABSPATH . $style->src;
 
 	if ( $rtl && ! empty( $style->extra['rtl'] ) ) {
Index: src/wp-includes/script-loader.php
===================================================================
--- src/wp-includes/script-loader.php	(revision 36115)
+++ src/wp-includes/script-loader.php	(working copy)
@@ -714,8 +714,24 @@
 	$suffix = SCRIPT_DEBUG ? '' : '.min';
 
 	// Admin CSS
-	$styles->add( 'wp-admin',            "/wp-admin/css/wp-admin$suffix.css", array( 'open-sans', 'dashicons' ) );
-	$styles->add( 'login',               "/wp-admin/css/login$suffix.css", array( 'buttons', 'open-sans', 'dashicons' ) );
+	$styles->add( 'common',      "/wp-admin/css/common$suffix.css" );
+	$styles->add( 'forms',       "/wp-admin/css/forms$suffix.css" );
+	$styles->add( 'admin-menu',  "/wp-admin/css/admin-menu$suffix.css" );
+	$styles->add( 'dashboard',   "/wp-admin/css/dashboard$suffix.css" );
+	$styles->add( 'list-tables', "/wp-admin/css/list-tables$suffix.css" );
+	$styles->add( 'edit',        "/wp-admin/css/edit$suffix.css" );
+	$styles->add( 'revisions',   "/wp-admin/css/revisions$suffix.css" );
+	$styles->add( 'media',       "/wp-admin/css/media$suffix.css" );
+	$styles->add( 'themes',      "/wp-admin/css/themes$suffix.css" );
+	$styles->add( 'about',       "/wp-admin/css/about$suffix.css" );
+	$styles->add( 'nav-menus',   "/wp-admin/css/nav-menus$suffix.css" );
+	$styles->add( 'widgets',     "/wp-admin/css/widgets$suffix.css" );
+	$styles->add( 'site-icon',   "/wp-admin/css/site-icon$suffix.css" );
+	$styles->add( 'l10n',        "/wp-admin/css/l10n$suffix.css" );
+
+	$styles->add( 'wp-admin', false, array( 'open-sans', 'dashicons', 'common', 'forms', 'admin-menu', 'dashboard', 'list-tables', 'edit', 'revisions', 'media', 'themes', 'about', 'nav-menus', 'widgets', 'site-icon', 'l10n' ) );
+
+	$styles->add( 'login',               "/wp-admin/css/login$suffix.css", array( 'buttons', 'open-sans', 'dashicons', 'forms', 'l10n' ) );
 	$styles->add( 'install',             "/wp-admin/css/install$suffix.css", array( 'buttons', 'open-sans' ) );
 	$styles->add( 'wp-color-picker',     "/wp-admin/css/color-picker$suffix.css" );
 	$styles->add( 'customize-controls',  "/wp-admin/css/customize-controls$suffix.css", array( 'wp-admin', 'colors', 'ie', 'imgareaselect' ) );
@@ -757,7 +773,9 @@
 	// RTL CSS
 	$rtl_styles = array(
 		// wp-admin
-		'wp-admin', 'install', 'wp-color-picker', 'customize-controls', 'customize-widgets', 'customize-nav-menus', 'ie', 'login', 'press-this',
+		'common', 'forms', 'admin-menu', 'dashboard', 'list-tables', 'edit', 'revisions', 'media', 'themes', 'about', 'nav-menus',
+		'widgets', 'site-icon', 'l10n', 'install', 'wp-color-picker', 'customize-controls', 'customize-widgets', 'customize-nav-menus',
+		'ie', 'login', 'press-this',
 		// wp-includes
 		'buttons', 'admin-bar', 'wp-auth-check', 'editor-buttons', 'media-views', 'wp-pointer',
 		'wp-jquery-ui-dialog',
@@ -1096,6 +1114,7 @@
 		return;
 	}
 
+	script_concat_settings();
 	$wp_styles->do_concat = $concatenate_scripts;
 	$wp_styles->do_footer_items();
 
@@ -1130,10 +1149,14 @@
 	if ( $zip && defined('ENFORCE_GZIP') && ENFORCE_GZIP )
 		$zip = 'gzip';
 
-	if ( !empty($wp_styles->concat) ) {
+	if ( $concat = trim( $wp_styles->concat, ', ' ) ) {
 		$dir = $wp_styles->text_direction;
 		$ver = $wp_styles->default_version;
-		$href = $wp_styles->base_url . "/wp-admin/load-styles.php?c={$zip}&dir={$dir}&load=" . trim($wp_styles->concat, ', ') . '&ver=' . $ver;
+
+		$concat = str_split( $concat, 128 );
+		$concat = 'load%5B%5D=' . implode( '&load%5B%5D=', $concat );
+
+		$href = $wp_styles->base_url . "/wp-admin/load-styles.php?c={$zip}&dir={$dir}&" . $concat . '&ver=' . $ver;
 		echo "<link rel='stylesheet' href='" . esc_attr($href) . "' type='text/css' media='all' />\n";
 
 		if ( !empty($wp_styles->print_code) ) {
Index: src/wp-login.php
===================================================================
--- src/wp-login.php	(revision 36115)
+++ src/wp-login.php	(working copy)
@@ -87,6 +87,7 @@
 	 * @since 3.1.0
 	 */
 	do_action( 'login_enqueue_scripts' );
+
 	/**
 	 * Fires in the login page header after scripts are enqueued.
 	 *
