diff --git a/res/drawable/quickcontact_list_item_background.xml b/res/drawable/quickcontact_list_item_background.xml
index e6d773e..afb3947 100644
--- a/res/drawable/quickcontact_list_item_background.xml
+++ b/res/drawable/quickcontact_list_item_background.xml
@@ -14,7 +14,6 @@
      limitations under the License.
 -->
 
-<!-- TODO These all have to be refined -->
 <selector xmlns:android="http://schemas.android.com/apk/res/android">
     <item
         android:state_window_focused="false"
@@ -31,5 +30,5 @@
         android:state_focused="true"
         android:drawable="@drawable/list_focused_holo" />
     <item
-        android:drawable="@color/people_app_theme_color" />
+        android:drawable="@color/quickcontact_list_background" />
 </selector>
diff --git a/res/layout-sw580dp/quickcontact_activity.xml b/res/layout-sw580dp/quickcontact_activity.xml
index 21b5ad2..8c8bfae 100644
--- a/res/layout-sw580dp/quickcontact_activity.xml
+++ b/res/layout-sw580dp/quickcontact_activity.xml
@@ -32,12 +32,12 @@
             android:layout_height="200dip">
             <include layout="@layout/quickcontact_photo_container" />
         </FrameLayout>
+        <include layout="@layout/quickcontact_track" />
         <View
-            android:id="@+id/line_before_track"
+            android:id="@+id/line_after_track"
             android:layout_width="match_parent"
             android:layout_height="2dip"
-            android:background="@color/quickcontact_list_background" />
-        <include layout="@layout/quickcontact_track" />
+            android:background="@color/quickcontact_tab_indicator" />
         <android.support.v4.view.ViewPager
             android:id="@+id/item_list_pager"
             android:layout_width="match_parent"
diff --git a/res/layout-w470dp/quickcontact_activity.xml b/res/layout-w470dp/quickcontact_activity.xml
index 36d499d..dbd5260 100644
--- a/res/layout-w470dp/quickcontact_activity.xml
+++ b/res/layout-w470dp/quickcontact_activity.xml
@@ -42,6 +42,11 @@
             android:layout_height="match_parent"
             android:orientation="vertical">
             <include layout="@layout/quickcontact_track" />
+            <View
+                android:id="@+id/line_after_track"
+                android:layout_width="match_parent"
+                android:layout_height="2dip"
+                android:background="@color/quickcontact_tab_indicator" />
             <android.support.v4.view.ViewPager
                 android:id="@+id/item_list_pager"
                 android:background="@color/quickcontact_list_background"
diff --git a/res/layout/quickcontact_activity.xml b/res/layout/quickcontact_activity.xml
index 2f5a357..c8d0ad4 100644
--- a/res/layout/quickcontact_activity.xml
+++ b/res/layout/quickcontact_activity.xml
@@ -38,12 +38,12 @@
             ex:direction="widthToHeight">
             <include layout="@layout/quickcontact_photo_container" />
         </view>
+        <include layout="@layout/quickcontact_track" />
         <View
-            android:id="@+id/line_before_track"
+            android:id="@+id/line_after_track"
             android:layout_width="match_parent"
             android:layout_height="2dip"
-            android:background="@color/quickcontact_list_background" />
-        <include layout="@layout/quickcontact_track" />
+            android:background="@color/quickcontact_tab_indicator" />
         <android.support.v4.view.ViewPager
             android:id="@+id/item_list_pager"
             android:layout_width="match_parent"
diff --git a/res/layout/quickcontact_list_item.xml b/res/layout/quickcontact_list_item.xml
index 4ffa091..7929718 100755
--- a/res/layout/quickcontact_list_item.xml
+++ b/res/layout/quickcontact_list_item.xml
@@ -36,28 +36,30 @@
             android:id="@android:id/text1"
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
-            android:textColor="@android:color/white"
+            android:textColor="@color/primary_text_color"
             android:textAppearance="?android:attr/textAppearanceMedium" />
         <TextView
             android:id="@android:id/text2"
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
-            android:textColor="@android:color/white"
+            android:textColor="@color/primary_text_color"
             android:textAllCaps="true"
             android:textAppearance="?android:attr/textAppearanceSmall" />
     </LinearLayout>
     <View
         android:id="@+id/vertical_divider"
         android:layout_width="1dip"
-        android:layout_height="wrap_content"
+        android:layout_height="match_parent"
         android:layout_gravity="center_vertical"
-        android:background="@drawable/ic_divider_dashed_holo_dark" />
+        android:layout_marginTop="@dimen/detail_vertical_divider_vertical_margin"
+        android:layout_marginBottom="@dimen/detail_vertical_divider_vertical_margin"
+        android:background="?android:attr/dividerVertical" />
     <ImageView
         android:id="@+id/secondary_action_button"
         android:layout_width="wrap_content"
         android:layout_height="match_parent"
         android:paddingLeft="@dimen/detail_item_icon_margin"
         android:paddingRight="@dimen/detail_item_icon_margin"
-        android:background="@drawable/quickcontact_list_item_background"
+        android:background="?android:attr/selectableItemBackground"
         android:duplicateParentState="false" />
 </LinearLayout>
diff --git a/res/layout/quickcontact_track.xml b/res/layout/quickcontact_track.xml
index 8177174..bf25cb3 100644
--- a/res/layout/quickcontact_track.xml
+++ b/res/layout/quickcontact_track.xml
@@ -33,10 +33,10 @@
             <View
                 android:id="@+id/selected_tab_rectangle"
                 android:layout_width="60dip"
-                android:layout_height="8dip"
+                android:layout_height="6dip"
                 android:layout_alignBottom="@id/track"
                 android:layout_alignParentLeft="true"
-                android:background="@color/quickcontact_list_background" />
+                android:background="@color/quickcontact_tab_indicator" />
         </RelativeLayout>
     </HorizontalScrollView>
 </merge>
diff --git a/res/values/colors.xml b/res/values/colors.xml
index 64d7dfb..0b8f1b7 100644
--- a/res/values/colors.xml
+++ b/res/values/colors.xml
@@ -17,8 +17,9 @@
     <color name="textColorIconOverlay">#fff</color>
     <color name="textColorIconOverlayShadow">#000</color>
 
-    <color name="quickcontact_list_divider">#ff48bde8</color>
-    <color name="quickcontact_list_background">#ff33b5e6</color>
+    <color name="quickcontact_list_divider">#ffcdcdcd</color>
+    <color name="quickcontact_list_background">#ffe2e2e2</color>
+    <color name="quickcontact_tab_indicator">#ff33b5e6</color>
 
     <color name="edit_divider">#ff666666</color>
 
diff --git a/src/com/android/contacts/model/BaseAccountType.java b/src/com/android/contacts/model/BaseAccountType.java
index 0846197..aafa3ea 100644
--- a/src/com/android/contacts/model/BaseAccountType.java
+++ b/src/com/android/contacts/model/BaseAccountType.java
@@ -206,7 +206,6 @@
                 android.R.drawable.sym_action_call, 10, true,
                 R.layout.text_fields_editor_view, android.R.style.TextAppearance_Medium));
         kind.iconAltRes = R.drawable.ic_text_holo_light;
-        kind.iconAltResDark = R.drawable.ic_text_holo_dark;
         kind.actionHeader = new PhoneActionInflater();
         kind.actionAltHeader = new PhoneActionAltInflater();
         kind.actionBody = new SimpleInflater(Phone.NUMBER);
diff --git a/src/com/android/contacts/model/DataKind.java b/src/com/android/contacts/model/DataKind.java
index a3b31e3..40f6f99 100644
--- a/src/com/android/contacts/model/DataKind.java
+++ b/src/com/android/contacts/model/DataKind.java
@@ -27,10 +27,7 @@
     public String mimeType;
     public int titleRes;
     public int iconRes;
-    /** Icon used for secondary action when shown on top of a bright background */
     public int iconAltRes;
-    /** Icon used for secondary action when shown on top of a dark background */
-    public int iconAltResDark;
     public int weight;
     public boolean editable;
 
diff --git a/src/com/android/contacts/quickcontact/DataAction.java b/src/com/android/contacts/quickcontact/DataAction.java
index 827016f..109e8b0 100644
--- a/src/com/android/contacts/quickcontact/DataAction.java
+++ b/src/com/android/contacts/quickcontact/DataAction.java
@@ -107,7 +107,7 @@
                     if (hasPhone && hasSms) {
                         mIntent = phoneIntent;
                         mAlternateIntent = smsIntent;
-                        mAlternateIconRes = kind.iconAltResDark;
+                        mAlternateIconRes = kind.iconAltRes;
                     } else if (hasPhone) {
                         mIntent = phoneIntent;
                     } else if (hasSms) {
diff --git a/src/com/android/contacts/quickcontact/QuickContactActivity.java b/src/com/android/contacts/quickcontact/QuickContactActivity.java
index af18917..f22369f 100644
--- a/src/com/android/contacts/quickcontact/QuickContactActivity.java
+++ b/src/com/android/contacts/quickcontact/QuickContactActivity.java
@@ -83,9 +83,6 @@
 
 // TODO: Save selected tab index during rotation
 
-// Missing assets and specs:
-//   Pushed states for list items
-
 /**
  * Mostly translucent {@link Activity} that shows QuickContact dialog. It loads
  * data asynchronously, and then shows a popup with details centered around
@@ -115,8 +112,7 @@
     private ViewGroup mTrack;
     private HorizontalScrollView mTrackScroller;
     private View mSelectedTabRectangle;
-    /** Line before the track. Depending on the layout, this can be null */
-    private View mLineBeforeTrack;
+    private View mLineAfterTrack;
 
     private ImageButton mOpenDetailsButton;
     private ImageButton mOpenDetailsPushLayerButton;
@@ -172,7 +168,7 @@
         mOpenDetailsPushLayerButton = (ImageButton) findViewById(R.id.open_details_push_layer);
         mListPager = (ViewPager) findViewById(R.id.item_list_pager);
         mSelectedTabRectangle = findViewById(R.id.selected_tab_rectangle);
-        mLineBeforeTrack = findViewById(R.id.line_before_track);
+        mLineAfterTrack = findViewById(R.id.line_after_track);
 
         mFloatingLayout.setOnOutsideTouchListener(new View.OnTouchListener() {
             @Override
@@ -540,11 +536,9 @@
         }
 
         final boolean hasData = !mSortedActionMimeTypes.isEmpty();
-        if (mLineBeforeTrack != null) {
-            mLineBeforeTrack.setVisibility(hasData ? View.VISIBLE : View.GONE);
-        }
         mTrackScroller.setVisibility(hasData ? View.VISIBLE : View.GONE);
         mSelectedTabRectangle.setVisibility(hasData ? View.VISIBLE : View.GONE);
+        mLineAfterTrack.setVisibility(hasData ? View.VISIBLE : View.GONE);
         mListPager.setVisibility(hasData ? View.VISIBLE : View.GONE);
     }
 
diff --git a/src/com/android/contacts/quickcontact/QuickContactListFragment.java b/src/com/android/contacts/quickcontact/QuickContactListFragment.java
index 1c36ae1..7cbc7c8 100644
--- a/src/com/android/contacts/quickcontact/QuickContactListFragment.java
+++ b/src/com/android/contacts/quickcontact/QuickContactListFragment.java
@@ -113,6 +113,7 @@
                 final boolean hasAlternateAction = action.getAlternateIntent() != null;
                 alternateActionDivider.setVisibility(hasAlternateAction ? View.VISIBLE : View.GONE);
                 alternateActionButton.setImageDrawable(action.getAlternateIcon());
+                alternateActionButton.setVisibility(hasAlternateAction ? View.VISIBLE : View.GONE);
 
                 text1.setText(action.getBody());
                 text2.setText(action.getSubtitle());
