diff --git a/core/themes/seven/images/arrow-asc-active.png b/core/themes/seven/images/arrow-asc-active.png
new file mode 100644
index 0000000..7536eee
--- /dev/null
+++ b/core/themes/seven/images/arrow-asc-active.png
@@ -0,0 +1,3 @@
+PNG
+
+   IHDR   	      6Y   tEXtSoftware Adobe ImageReadyqe<   PLTE    X   tRNS 0J   IDATxb`F8a2X`!  ^ Cbl!    IENDB`
\ No newline at end of file
diff --git a/core/themes/seven/images/arrow-asc.png b/core/themes/seven/images/arrow-asc.png
index d25b8dd..56d2728 100644
--- a/core/themes/seven/images/arrow-asc.png
+++ b/core/themes/seven/images/arrow-asc.png
@@ -1,3 +1,3 @@
 PNG
 
-   IHDR         r|   IDAT(c`(?	d$HSI#Ɂ3  %#b8    IENDB`
\ No newline at end of file
+   IHDR   	      6Y   tEXtSoftware Adobe ImageReadyqe<   PLTE Hu      tRNS 0J   IDATxb`F8a2X`!  ^ Cbl!    IENDB`
\ No newline at end of file
diff --git a/core/themes/seven/images/arrow-desc-active.png b/core/themes/seven/images/arrow-desc-active.png
new file mode 100644
index 0000000..f1bf910
--- /dev/null
+++ b/core/themes/seven/images/arrow-desc-active.png
@@ -0,0 +1,3 @@
+PNG
+
+   IHDR   	      6Y   tEXtSoftware Adobe ImageReadyqe<   PLTE    X   tRNS 0J    IDATxb` a10   B    IENDB`
\ No newline at end of file
diff --git a/core/themes/seven/images/arrow-desc.png b/core/themes/seven/images/arrow-desc.png
index 2feade9..eaf80c5 100644
--- a/core/themes/seven/images/arrow-desc.png
+++ b/core/themes/seven/images/arrow-desc.png
@@ -1,3 +1,3 @@
 PNG
 
-   IHDR         r|   &IDAT(c`r4'E,dx5'$?R  #    IENDB`
\ No newline at end of file
+   IHDR   	      6Y   tEXtSoftware Adobe ImageReadyqe<   PLTE Hu      tRNS 0J    IDATxb` a10   B    IENDB`
\ No newline at end of file
diff --git a/core/themes/seven/seven.theme b/core/themes/seven/seven.theme
index d3f6567..694653d 100644
--- a/core/themes/seven/seven.theme
+++ b/core/themes/seven/seven.theme
@@ -131,8 +131,8 @@ function seven_tablesort_indicator($variables) {
     '#theme' => 'image',
     '#uri' => $image_uri,
     '#alt' => $text,
-    '#width' => 13,
-    '#height' => 13,
+    '#width' => 9,
+    '#height' => 5,
     '#title' => $text,
   );
   return drupal_render($image);
diff --git a/core/themes/seven/style.css b/core/themes/seven/style.css
index 3e66ac7..80832fa 100644
--- a/core/themes/seven/style.css
+++ b/core/themes/seven/style.css
@@ -487,81 +487,99 @@ div.submitted {
  */
 table {
   width: 100%;
-  font-size: 0.923em;
   margin: 0 0 10px;
-  border-right: 1px solid #bebfb9;
-  border-bottom: 1px solid #bebfb9;
+  font-size: 0.923em;
 }
-table td,
-table th {
-  vertical-align: middle;
-  padding: 8px 10px;
-  border: 0;
-  color: #000;
+th {
+  position: relative;
+  padding: 11px 12px 9px 12px;
+  background: #f5f5f2;
+  border: solid #bfbfba;
+  border-width: 1px 0;
+  color: #333;
+  text-align: left; /* LTR */
+  text-transform: uppercase;
 }
-tr.even,
-tr.odd {
-  border-width: 0 1px 0 1px;
-  border-style: solid;
-  border-color: #bebfb9;
-  background: #f3f4ee;
+[dir="rtl"] th {
+  text-align: right;
 }
-tr.odd {
-  background: #fff;
+tbody tr {
+  border-bottom: 1px solid #e6e4df;
 }
-tr.drag {
-  background: #fe7;
+tbody tr:hover {
+  background: #f7fcff;
 }
-tr.drag-previous {
-  background: #ffb;
+td,
+th {
+  vertical-align: middle;
 }
-table th {
-  text-transform: uppercase;
-  background: #e1e2dc;
-  font-weight: normal;
-  border-width: 1px;
-  border-style: solid;
-  border-color: #bebfb9;
-  padding: 3px 10px;
+td {
+  padding: 10px 12px 11px;
+  text-align: left; /* LTR */
 }
-table th.active {
-  background: #bdbeb9;
+[dir="rtl"] td {
+  text-align: right;
 }
-table th a {
+th > a {
   display: block;
-  position: relative;
+  color: #0074bd;
+  text-decoration: none;
 }
-table th.active a {
-  padding: 0 25px 0 0; /* LTR */
+
+/**
+ * Pseudo-element forces the <a> to 100% height and allows the active-bar
+ * effect to work no matter the height of the table headers.
+ *
+ * 1. Must match the left/right padding on the parent <th>
+ */
+th > a:after {
+  content: '';
+  display: block;
+  position: absolute;
+  top: 0;
+  bottom: -1px;
+  left: 12px; /* 1. */
+  right: 12px; /* 1. */
+  border-bottom: 2px solid transparent;
+  transition: all 0.1s;
 }
-[dir="rtl"] table th.active a {
-  padding: 0 0 0 25px;
+th.active > a {
+  color: #004875;
 }
-table th.active img {
+th.active img {
   position: absolute;
-  top: 3px;
-  right: 3px; /* LTR */
+  right: 12px; /* LTR */
+  top: 50%;
 }
-[dir="rtl"] table th.active img {
-  left: 3px;
+[dir="rtl"] th.active img {
   right: auto;
+  left: 12px;
 }
-/**
- * Force browsers to calculate the width of a 'select all' TH element.
- */
-table th.select-all {
-  width: 1px;
+th.active > a:after {
+  border-bottom-color: #004875;
 }
-table td.active {
-  background: #e9e9dd;
+th > a:focus,
+th > a:hover,
+th.active > a:focus,
+th.active > a:hover {
+  color: #008ee6;
+  text-decoration: none;
 }
-table tr.odd td.active {
-  background: #f3f4ee;
+th > a:hover:after,
+th.active > a:focus:after
+th.active > a:hover:after {
+  border-bottom-color: #008ee6;
+}
+td .item-list ul {
+  margin: 0;
 }
-table tr.selected td.active,
-table tr.selected td {
-  background: #ffc;
-  border-color: #eeb;
+td.active {
+  background: none;
+}
+
+/* Force browsers to calculate the width of a 'select all' TH element. */
+th.select-all {
+  width: 1px;
 }
 
 table.system-status-report tr {
