Index: src/js/_enqueues/admin/postbox.js
===================================================================
--- src/js/_enqueues/admin/postbox.js	(revision 47923)
+++ src/js/_enqueues/admin/postbox.js	(working copy)
@@ -236,14 +236,18 @@
 						.end();
 				},
 				opacity: 0.65,
+				start: function() {
+					$( 'body' ).addClass( 'is-dragging-metaboxes' );
+				},
 				stop: function() {
 					var $el = $( this );
 
+					$( 'body' ).removeClass( 'is-dragging-metaboxes' );
+
 					if ( $el.find( '#dashboard_browser_nag' ).is( ':visible' ) && 'dashboard_browser_nag' != this.firstChild.id ) {
 						$el.sortable('cancel');
 						return;
 					}
-
 					postboxes.save_order(page);
 				},
 				receive: function(e,ui) {
@@ -346,9 +350,10 @@
 		 * @return {void}
 		 */
 		_mark_area : function() {
-			var visible = $('div.postbox:visible').length, side = $('#post-body #side-sortables');
+			var visible = $('div.postbox:visible').length,
+				isDashboard = $( '#dashboard-widgets' ).length;
 
-			$( '#dashboard-widgets .meta-box-sortables:visible' ).each( function() {
+			$( '#dashboard-widgets .meta-box-sortables:visible, #post-body .meta-box-sortables:visible' ).each( function() {
 				var t = $(this);
 
 				if ( visible == 1 || t.children('.postbox:visible').length ) {
@@ -356,16 +361,9 @@
 				}
 				else {
 					t.addClass('empty-container');
-					t.attr('data-emptyString', postBoxL10n.postBoxEmptyString);
+					t.attr( 'data-emptyString', isDashboard ? postBoxL10n.postBoxEmptyString : null );
 				}
 			});
-
-			if ( side.length ) {
-				if ( side.children('.postbox:visible').length )
-					side.removeClass('empty-container');
-				else if ( $('#postbox-container-1').css('width') == '280px' )
-					side.addClass('empty-container');
-			}
 		},
 
 		/**
Index: src/wp-admin/css/common.css
===================================================================
--- src/wp-admin/css/common.css	(revision 47923)
+++ src/wp-admin/css/common.css	(working copy)
@@ -29,46 +29,6 @@
 	overflow: visible !important;
 }
 
-/* inner 2 column liquid layout */
-
-.inner-sidebar {
-	float: right;
-	clear: right;
-	display: none;
-	width: 281px;
-	position: relative;
-}
-
-.columns-2 .inner-sidebar {
-	margin-right: auto;
-	width: 286px;
-	display: block;
-}
-
-.inner-sidebar #side-sortables,
-.columns-2 .inner-sidebar #side-sortables {
-	min-height: 300px;
-	width: 280px;
-	padding: 0;
-}
-
-.has-right-sidebar .inner-sidebar {
-	display: block;
-}
-
-.has-right-sidebar #post-body {
-	float: left;
-	clear: left;
-	width: 100%;
-	margin-right: -2000px;
-}
-
-.has-right-sidebar #post-body-content {
-	margin-right: 300px;
-	float: none;
-	width: auto;
-}
-
 /* 2 columns main area */
 
 #col-left {
@@ -1977,36 +1937,11 @@
 }
 
 .metabox-holder .postbox-container .empty-container {
-	border: 3px dashed #b4b9be;
+	outline: 3px dashed #b4b9be;
 	height: 250px;
 	position: relative;
 }
 
-.metabox-holder .postbox-container .empty-container:after {
-	content: attr(data-emptystring);
-	margin: auto;
-	position: absolute;
-	top: 0;
-	left: 0;
-	bottom: 0;
-	right: 0;
-	height: 1em;
-	width: 200px;
-	text-align: center;
-	color: #ccc;
-	font-size: 18px;
-	display: none;
-}
-
-.metabox-holder.columns-1 .postbox-container .empty-container,
-.columns-2 #postbox-container-3 .empty-container,
-.columns-2 #postbox-container-4 .empty-container,
-.columns-3 #postbox-container-4 .empty-container {
-	border: 0 none;
-	height: 0;
-	min-height: 0;
-}
-
 #post-body-content {
 	width: 100%;
 	min-width: 463px;
@@ -2026,7 +1961,7 @@
 /* one column on the dash */
 @media only screen and (max-width: 799px) {
 	#wpbody-content .metabox-holder .postbox-container .empty-container {
-		border: 0 none;
+		outline: none;
 		height: 0;
 		min-height: 0;
 	}
Index: src/wp-admin/css/dashboard.css
===================================================================
--- src/wp-admin/css/dashboard.css	(revision 47923)
+++ src/wp-admin/css/dashboard.css	(working copy)
@@ -48,10 +48,35 @@
 }
 
 #dashboard-widgets .meta-box-sortables {
-	margin: 0 8px;
+	/* Required min-height to make the jQuery UI Sortable drop zone work. */
 	min-height: 100px;
+	margin: 0 8px 20px;
 }
 
+/* Only highlight drop zones when dragging and only in the 2 columns layout. */
+.is-dragging-metaboxes #dashboard-widgets .meta-box-sortables {
+	outline: 3px dashed #606a73;
+	/* Prevent margin on the child from collapsing with margin on the parent. */
+	display: flow-root;
+}
+
+#dashboard-widgets .postbox-container .empty-container:after {
+	content: attr(data-emptystring);
+	margin: auto;
+	position: absolute;
+	top: 0;
+	left: 0;
+	bottom: 0;
+	right: 0;
+	height: 1em;
+	width: 200px;
+	text-align: center;
+	color: #606a73;
+	font-size: 18px;
+	display: none;
+}
+
+
 /* @todo: this was originally in this section, but likely belongs elsewhere */
 #the-comment-list td.comment p.comment-author {
 	margin-top: 0;
@@ -1074,6 +1099,18 @@
 	#wpbody-content #dashboard-widgets .postbox-container {
 		width: 100%;
 	}
+
+	#dashboard-widgets .meta-box-sortables {
+		min-height: 0;
+	}
+
+	.is-dragging-metaboxes #dashboard-widgets .meta-box-sortables {
+		min-height: 100px;
+	}
+
+	#dashboard-widgets .meta-box-sortables.empty-container {
+		margin-bottom: 0;
+	}
 }
 
 /* two columns on the dash, but keep the setting if one is selected */
@@ -1091,9 +1128,10 @@
 
 	#dashboard-widgets #postbox-container-3 .empty-container,
 	#dashboard-widgets #postbox-container-4 .empty-container {
-		border: 0 none;
+		outline: none;
 		height: 0;
 		min-height: 0;
+		margin-bottom: 0;
 	}
 
 	#dashboard-widgets #postbox-container-3 .empty-container:after,
@@ -1105,10 +1143,11 @@
 		width: 100%;
 	}
 
-	#wpbody #wpbody-content .metabox-holder.columns-1 .postbox-container .empty-container {
-		border: 0 none;
+	#wpbody #dashboard-widgets .metabox-holder.columns-1 .postbox-container .empty-container {
+		outline: none;
 		height: 0;
 		min-height: 0;
+		margin-bottom: 0;
 	}
 
 	/* show the radio buttons for column prefs only for one or two columns */
@@ -1122,7 +1161,7 @@
 		display: none;
 	}
 
-	.metabox-holder .postbox-container .empty-container:after {
+	#dashboard-widgets .postbox-container .empty-container:after {
 		display: block;
 	}
 }
@@ -1143,9 +1182,10 @@
 	}
 
 	#dashboard-widgets #postbox-container-4 .empty-container {
-		border: 0 none;
+		outline: none;
 		height: 0;
 		min-height: 0;
+		margin-bottom: 0;
 	}
 
 	#dashboard-widgets #postbox-container-4 .empty-container:after {
@@ -1152,11 +1192,18 @@
 		display: none;
 	}
 
-	.metabox-holder .postbox-container .empty-container:after {
+	#dashboard-widgets .postbox-container .empty-container:after {
 		display: block;
 	}
 }
 
+/* Always show the "Drag boxes here" CSS generated content on large screens. */
+@media only screen and (min-width: 1801px) {
+	#dashboard-widgets .postbox-container .empty-container:after {
+		display: block;
+	}
+}
+
 @media screen and (max-width: 870px) {
 	.welcome-panel .welcome-panel-column,
 	.welcome-panel .welcome-panel-column:first-child {
Index: src/wp-admin/css/edit.css
===================================================================
--- src/wp-admin/css/edit.css	(revision 47923)
+++ src/wp-admin/css/edit.css	(working copy)
@@ -147,10 +147,38 @@
 }
 
 /* Post Screen */
-#post-body #normal-sortables {
-	min-height: 50px;
+
+/* Only target the sortables in the post screen excluding the ones in the Dashboard. */
+#post-body .meta-box-sortables {
+	/* Required min-height to make the jQuery UI Sortable drop zone work. */
+	min-height: 1px;
 }
 
+/* Resets height and outline inherited from common.css. */
+#post-body.columns-1 #side-sortables.empty-container,
+#post-body #normal-sortables.empty-container,
+#post-body #advanced-sortables.empty-container {
+	height: auto;
+	outline: none;
+}
+
+/* Only highlight drop zones when dragging and only in the 2 columns layout. */
+.is-dragging-metaboxes #post-body.columns-2 #side-sortables,
+.is-dragging-metaboxes #post-body #normal-sortables,
+.is-dragging-metaboxes #post-body #advanced-sortables {
+	outline: 3px dashed #606a73;
+	/* Prevent margin on the child from collapsing with margin on the parent. */
+	display: flow-root;
+	/*
+	 * This min-height is meant to limit jumpiness while dragging. It's equivalent
+	 * to the minimum height of the sortable-placeholder which is given by the height
+	 * of a collapsed post box (36px + 1px top and bottom borders) + the placeholder
+	 * bottom margin (20px) + 2 additional pixels to compensate browsers rounding.
+	 */
+	min-height: 60px;
+	margin-bottom: 20px;
+}
+
 .postbox {
 	position: relative;
 	min-width: 255px;
@@ -1446,7 +1474,10 @@
 	}
 }
 
-/* one column on the attachment editor screen */
+/*
+ * The edit attachment screen auto-switches to one column layout when the
+ * viewport is smaller than 1200 pixels.
+ */
 @media only screen and (max-width: 1200px) {
 	.post-type-attachment #poststuff {
 		min-width: 0;
@@ -1463,7 +1494,7 @@
 
 	.post-type-attachment #poststuff #postbox-container-1 .empty-container,
 	.post-type-attachment #poststuff #postbox-container-1 #side-sortables:empty {
-		border: 0 none;
+		outline: none;
 		height: 0;
 		min-height: 0;
 	}
@@ -1473,6 +1504,12 @@
 		width: auto;
 	}
 
+	.is-dragging-metaboxes.post-type-attachment #post-body .meta-box-sortables {
+		outline: none;
+		min-height: 0;
+		margin-bottom: 0;
+	}
+
 	/* hide the radio buttons for column prefs */
 	.post-type-attachment .screen-layout,
 	.post-type-attachment .columns-prefs {
@@ -1497,7 +1534,7 @@
 
 	#poststuff #postbox-container-1 .empty-container,
 	#poststuff #postbox-container-1 #side-sortables:empty {
-		border: 0 none;
+		outline: none;
 		height: 0;
 		min-height: 0;
 	}
