diff --git a/briar-android/src/main/java/org/briarproject/briar/android/blog/BlogFragment.java b/briar-android/src/main/java/org/briarproject/briar/android/blog/BlogFragment.java
index 49260920dd9724551c350c66717b4a652e4a8712..265df11081a795666a7f1dcb418a6e3bf7e29fca 100644
--- a/briar-android/src/main/java/org/briarproject/briar/android/blog/BlogFragment.java
+++ b/briar-android/src/main/java/org/briarproject/briar/android/blog/BlogFragment.java
@@ -335,7 +335,7 @@ public class BlogFragment extends BaseFragment
 			View.OnClickListener onClick = v -> list.smoothScrollToPosition(0);
 			snackbar.setActionTextColor(ContextCompat
 					.getColor(getContext(),
-							R.color.briar_button_positive));
+							R.color.briar_button_text_positive));
 			snackbar.setAction(R.string.blogs_blog_post_scroll_to, onClick);
 		}
 		snackbar.show();
diff --git a/briar-android/src/main/java/org/briarproject/briar/android/blog/FeedFragment.java b/briar-android/src/main/java/org/briarproject/briar/android/blog/FeedFragment.java
index cab53ff014eaa75fa74de12caac538ab91a299f9..6d822368142d47e47a8cb1fdad2f1f6d3c444478 100644
--- a/briar-android/src/main/java/org/briarproject/briar/android/blog/FeedFragment.java
+++ b/briar-android/src/main/java/org/briarproject/briar/android/blog/FeedFragment.java
@@ -250,7 +250,7 @@ public class FeedFragment extends BaseFragment implements
 			OnClickListener onClick = v -> list.smoothScrollToPosition(0);
 			s.setActionTextColor(ContextCompat
 					.getColor(getContext(),
-							R.color.briar_button_positive));
+							R.color.briar_button_text_positive));
 			s.setAction(R.string.blogs_blog_post_scroll_to, onClick);
 		}
 		s.show();
diff --git a/briar-android/src/main/java/org/briarproject/briar/android/forum/ForumListFragment.java b/briar-android/src/main/java/org/briarproject/briar/android/forum/ForumListFragment.java
index 66bd2aad6a89e276a0f7963a0d0e787750d63a0c..7817169b184450099b113712a9f2f0f428b2f3b9 100644
--- a/briar-android/src/main/java/org/briarproject/briar/android/forum/ForumListFragment.java
+++ b/briar-android/src/main/java/org/briarproject/briar/android/forum/ForumListFragment.java
@@ -103,7 +103,7 @@ public class ForumListFragment extends BaseEventFragment implements
 		snackbar.getView().setBackgroundResource(R.color.briar_primary);
 		snackbar.setAction(R.string.show, this);
 		snackbar.setActionTextColor(ContextCompat
-				.getColor(getContext(), R.color.briar_button_positive));
+				.getColor(getContext(), R.color.briar_button_text_positive));
 
 		return contentView;
 	}
diff --git a/briar-android/src/main/java/org/briarproject/briar/android/privategroup/list/GroupListFragment.java b/briar-android/src/main/java/org/briarproject/briar/android/privategroup/list/GroupListFragment.java
index 548fa95336e110b4e955f9f7840636d3db11c72c..d12ee9087329593225bb5684badb5d84926bb3d2 100644
--- a/briar-android/src/main/java/org/briarproject/briar/android/privategroup/list/GroupListFragment.java
+++ b/briar-android/src/main/java/org/briarproject/briar/android/privategroup/list/GroupListFragment.java
@@ -77,7 +77,7 @@ public class GroupListFragment extends BaseFragment implements
 		snackbar.getView().setBackgroundResource(R.color.briar_primary);
 		snackbar.setAction(R.string.show, this);
 		snackbar.setActionTextColor(ContextCompat
-				.getColor(getContext(), R.color.briar_button_positive));
+				.getColor(getContext(), R.color.briar_button_text_positive));
 
 		return v;
 	}
diff --git a/briar-android/src/main/res/drawable/social_send_now_white.xml b/briar-android/src/main/res/drawable/social_send_now_white.xml
index 9c8a759a345a0d6c101a4076e77d9d12c385d1d2..43662f48b70e19b8963903ddfa5566568e10a2e0 100644
--- a/briar-android/src/main/res/drawable/social_send_now_white.xml
+++ b/briar-android/src/main/res/drawable/social_send_now_white.xml
@@ -1,6 +1,6 @@
 <vector xmlns:android="http://schemas.android.com/apk/res/android"
-        android:width="42dp"
-        android:height="42dp"
+        android:width="24dp"
+        android:height="24dp"
         android:viewportHeight="24.0"
         android:viewportWidth="24.0">
 	<path
diff --git a/briar-android/src/main/res/layout-land/fragment_keyagreement_id.xml b/briar-android/src/main/res/layout-land/fragment_keyagreement_id.xml
index 9064b852779f2f8df67be0d5ffae4f8c996e2af7..f25b2c5543f7362d07bbbc3e665b7bbe7ca5991f 100644
--- a/briar-android/src/main/res/layout-land/fragment_keyagreement_id.xml
+++ b/briar-android/src/main/res/layout-land/fragment_keyagreement_id.xml
@@ -75,7 +75,7 @@
 
 		<Button
 			android:id="@+id/continueButton"
-			style="@style/BriarButton.Default"
+			style="@style/BriarButton"
 			android:layout_width="match_parent"
 			android:layout_height="wrap_content"
 			android:layout_gravity="center_horizontal"
diff --git a/briar-android/src/main/res/layout/activity_change_password.xml b/briar-android/src/main/res/layout/activity_change_password.xml
index 4f4ce7667eb809203403c1c223e4ac634f21ac3d..3ef79f9e28a60ff9d4c3e035ffec9b10c1ed0c63 100644
--- a/briar-android/src/main/res/layout/activity_change_password.xml
+++ b/briar-android/src/main/res/layout/activity_change_password.xml
@@ -85,7 +85,7 @@
 
 		<Button
 			android:id="@+id/change_password"
-			style="@style/BriarButton.Default"
+			style="@style/BriarButton"
 			android:layout_width="match_parent"
 			android:layout_height="wrap_content"
 			android:layout_below="@id/strength_meter"
diff --git a/briar-android/src/main/res/layout/activity_expired.xml b/briar-android/src/main/res/layout/activity_expired.xml
index c3f54489fb958b8f3ac61080eeccfcd8e15ef1ba..fc99a4112d2224573f4c614c242861900df1972e 100644
--- a/briar-android/src/main/res/layout/activity_expired.xml
+++ b/briar-android/src/main/res/layout/activity_expired.xml
@@ -38,7 +38,7 @@
 
 		<Button
 			android:id="@+id/download_briar_button"
-			style="@style/BriarButton.Default"
+			style="@style/BriarButton"
 			android:layout_width="match_parent"
 			android:layout_height="wrap_content"
 			android:layout_margin="@dimen/margin_medium"
diff --git a/briar-android/src/main/res/layout/activity_password.xml b/briar-android/src/main/res/layout/activity_password.xml
index 022d31c4cab36a5302298b02c428c0711f0a78f3..78f3242d7aae757d78859f8a3fa00e55e3dc942a 100644
--- a/briar-android/src/main/res/layout/activity_password.xml
+++ b/briar-android/src/main/res/layout/activity_password.xml
@@ -60,6 +60,7 @@
 			android:layout_centerHorizontal="true"
 			android:layout_marginTop="@dimen/margin_large"
 			android:clickable="true"
+			android:focusable="true"
 			android:onClick="onForgottenPasswordClick"
 			android:text="@string/forgotten_password"
 			android:textColor="?android:attr/textColorLink"/>
diff --git a/briar-android/src/main/res/layout/activity_rss_feed_import.xml b/briar-android/src/main/res/layout/activity_rss_feed_import.xml
index 400c317edad34cf3bac01761d7e0c4deefd1b105..2c814dc4ce509545bfb1d6b6932f8fa6013d3b93 100644
--- a/briar-android/src/main/res/layout/activity_rss_feed_import.xml
+++ b/briar-android/src/main/res/layout/activity_rss_feed_import.xml
@@ -1,23 +1,35 @@
 <?xml version="1.0" encoding="utf-8"?>
 <LinearLayout
 	xmlns:android="http://schemas.android.com/apk/res/android"
+	xmlns:app="http://schemas.android.com/apk/res-auto"
 	xmlns:tools="http://schemas.android.com/tools"
 	android:layout_width="match_parent"
 	android:layout_height="match_parent"
 	android:orientation="vertical"
 	android:padding="@dimen/margin_small"
-	tools:context=".android.blogs.RssFeedImportActivity">
+	tools:context=".android.blog.RssFeedImportActivity">
 
-	<EditText
-		android:id="@+id/urlInput"
+	<android.support.v7.widget.CardView
 		android:layout_width="match_parent"
 		android:layout_height="0dp"
 		android:layout_weight="1"
-		android:gravity="top"
-		android:hint="@string/blogs_rss_feeds_import_hint"
-		android:inputType="textUri"
-		android:paddingLeft="@dimen/margin_large"
-		android:paddingRight="@dimen/margin_large"/>
+		android:elevation="@dimen/cardview_default_elevation"
+		app:cardBackgroundColor="@color/card_background"
+		app:cardCornerRadius="0dp"
+		app:cardUseCompatPadding="false">
+
+		<EditText
+			android:id="@+id/urlInput"
+			android:layout_width="match_parent"
+			android:layout_height="match_parent"
+			android:background="@android:color/transparent"
+			android:gravity="top"
+			android:hint="@string/blogs_rss_feeds_import_hint"
+			android:inputType="textUri"
+			android:padding="@dimen/margin_medium"
+			android:textColor="?android:attr/textColorPrimary"/>
+
+	</android.support.v7.widget.CardView>
 
 	<Button
 		android:id="@+id/importButton"
diff --git a/briar-android/src/main/res/layout/fragment_keyagreement_id.xml b/briar-android/src/main/res/layout/fragment_keyagreement_id.xml
index c8f9b0999bcda1eb032d1f06bf4d69844523cd2d..4098878273008197d49f69e1bc32d407690d1c30 100644
--- a/briar-android/src/main/res/layout/fragment_keyagreement_id.xml
+++ b/briar-android/src/main/res/layout/fragment_keyagreement_id.xml
@@ -66,7 +66,7 @@
 
 		<Button
 			android:id="@+id/continueButton"
-			style="@style/BriarButton.Default"
+			style="@style/BriarButton"
 			android:layout_width="0dp"
 			android:layout_height="wrap_content"
 			android:layout_marginTop="@dimen/margin_medium"
diff --git a/briar-android/src/main/res/layout/fragment_setup_author_name.xml b/briar-android/src/main/res/layout/fragment_setup_author_name.xml
index eae7ece48b4acac51abf35f8e2d1457bc8402a45..51f81a40a53c4b84372064a7debcce5b67174d74 100644
--- a/briar-android/src/main/res/layout/fragment_setup_author_name.xml
+++ b/briar-android/src/main/res/layout/fragment_setup_author_name.xml
@@ -42,7 +42,7 @@
 
 		<Button
 			android:id="@+id/next"
-			style="@style/BriarButton.Default"
+			style="@style/BriarButton"
 			android:layout_width="match_parent"
 			android:layout_height="wrap_content"
 			android:layout_marginTop="@dimen/margin_activity_horizontal"
diff --git a/briar-android/src/main/res/layout/fragment_setup_doze.xml b/briar-android/src/main/res/layout/fragment_setup_doze.xml
index 787a8166ba38903338947e48c1d4eceff160ce9b..124046fcf2b5f206edfaf37f857d9517720bcf8a 100644
--- a/briar-android/src/main/res/layout/fragment_setup_doze.xml
+++ b/briar-android/src/main/res/layout/fragment_setup_doze.xml
@@ -36,7 +36,7 @@
 
 		<Button
 			android:id="@+id/next"
-			style="@style/BriarButton.Default"
+			style="@style/BriarButton"
 			android:layout_width="match_parent"
 			android:layout_height="wrap_content"
 			android:enabled="false"
diff --git a/briar-android/src/main/res/layout/fragment_setup_password.xml b/briar-android/src/main/res/layout/fragment_setup_password.xml
index 2e7c289f503280d68b1323e1e88aacdcf79ff61a..d898075980701f4cf9e999f76f21d0ad044b3008 100644
--- a/briar-android/src/main/res/layout/fragment_setup_password.xml
+++ b/briar-android/src/main/res/layout/fragment_setup_password.xml
@@ -77,7 +77,7 @@
 
 		<Button
 			android:id="@+id/next"
-			style="@style/BriarButton.Default"
+			style="@style/BriarButton"
 			android:layout_width="match_parent"
 			android:layout_height="wrap_content"
 			android:enabled="false"
diff --git a/briar-android/src/main/res/layout/list_item_conversation_msg_in.xml b/briar-android/src/main/res/layout/list_item_conversation_msg_in.xml
index b16a1b8abd7045f5b842424bf7f242c87ebbc48b..3ef6f3a07a3715f1a1412c5ba62132ba5ce52a0c 100644
--- a/briar-android/src/main/res/layout/list_item_conversation_msg_in.xml
+++ b/briar-android/src/main/res/layout/list_item_conversation_msg_in.xml
@@ -12,22 +12,20 @@
 
 	<org.thoughtcrime.securesms.components.emoji.EmojiTextView
 		android:id="@+id/text"
+		style="@style/TextMessage"
 		android:layout_width="wrap_content"
 		android:layout_height="wrap_content"
 		android:textColor="?android:attr/textColorPrimary"
-		android:textIsSelectable="true"
-		android:textSize="@dimen/text_size_medium"
 		tools:text="Short message"/>
 
 	<TextView
 		android:id="@+id/time"
+		style="@style/TextMessage.Timestamp"
 		android:layout_width="wrap_content"
 		android:layout_height="wrap_content"
 		android:layout_gravity="right|end"
 		android:layout_marginTop="@dimen/message_bubble_timestamp_margin"
-		android:maxLines="1"
 		android:textColor="?android:attr/textColorSecondary"
-		android:textSize="@dimen/text_size_tiny"
 		tools:text="Dec 24, 13:37"/>
 
 </LinearLayout>
diff --git a/briar-android/src/main/res/layout/list_item_conversation_msg_out.xml b/briar-android/src/main/res/layout/list_item_conversation_msg_out.xml
index dd9c7b1f8ec0b288ad6bbef262ea6773db1a03eb..ab0f325ed22ff96e233194bc0c7d728939110329 100644
--- a/briar-android/src/main/res/layout/list_item_conversation_msg_out.xml
+++ b/briar-android/src/main/res/layout/list_item_conversation_msg_out.xml
@@ -17,24 +17,22 @@
 
 		<org.thoughtcrime.securesms.components.emoji.EmojiTextView
 			android:id="@+id/text"
+			style="@style/TextMessage"
 			android:layout_width="wrap_content"
 			android:layout_height="wrap_content"
 			android:textColor="@color/briar_text_primary_inverse"
-			android:textIsSelectable="true"
-			android:textSize="@dimen/text_size_medium"
 			tools:text="This is a long long long message that spans over several lines.\n\nIt ends here."/>
 
 		<TextView
 			android:id="@+id/time"
+			style="@style/TextMessage.Timestamp"
 			android:layout_width="wrap_content"
 			android:layout_height="wrap_content"
 			android:layout_alignParentLeft="true"
 			android:layout_alignParentStart="true"
 			android:layout_below="@+id/text"
 			android:layout_marginTop="@dimen/message_bubble_timestamp_margin"
-			android:maxLines="1"
 			android:textColor="@color/private_message_date_inverse"
-			android:textSize="@dimen/text_size_tiny"
 			tools:text="Dec 24, 13:37"/>
 
 		<ImageView
diff --git a/briar-android/src/main/res/layout/list_item_conversation_notice_in.xml b/briar-android/src/main/res/layout/list_item_conversation_notice_in.xml
index 4e34325e9d1a20fe5cdd4069f8a6ed1623854175..afd04392d3498a64e2cc200a046fbce94a7398c9 100644
--- a/briar-android/src/main/res/layout/list_item_conversation_notice_in.xml
+++ b/briar-android/src/main/res/layout/list_item_conversation_notice_in.xml
@@ -8,6 +8,7 @@
 
 	<org.thoughtcrime.securesms.components.emoji.EmojiTextView
 		android:id="@+id/msgText"
+		style="@style/TextMessage"
 		android:layout_width="match_parent"
 		android:layout_height="wrap_content"
 		android:layout_gravity="left|start"
@@ -15,8 +16,6 @@
 		android:layout_marginRight="@dimen/message_bubble_margin_non_tail"
 		android:background="@drawable/msg_in_top"
 		android:textColor="?android:attr/textColorPrimary"
-		android:textIsSelectable="true"
-		android:textSize="@dimen/text_size_medium"
 		tools:text="Short message"/>
 
 	<RelativeLayout
@@ -29,17 +28,16 @@
 
 		<org.thoughtcrime.securesms.components.emoji.EmojiTextView
 			android:id="@+id/text"
+			style="@style/TextMessage.Notice"
 			android:layout_width="match_parent"
 			android:layout_height="wrap_content"
 			android:minWidth="80dp"
 			android:textColor="?android:attr/textColorSecondary"
-			android:textIsSelectable="true"
-			android:textSize="@dimen/text_size_medium"
-			android:textStyle="italic"
 			tools:text="@string/forum_invitation_received"/>
 
 		<TextView
 			android:id="@+id/time"
+			style="@style/TextMessage.Timestamp"
 			android:layout_width="wrap_content"
 			android:layout_height="wrap_content"
 			android:layout_alignEnd="@+id/text"
@@ -47,7 +45,6 @@
 			android:layout_below="@+id/text"
 			android:layout_marginTop="@dimen/message_bubble_timestamp_margin"
 			android:textColor="?android:attr/textColorTertiary"
-			android:textSize="@dimen/text_size_tiny"
 			tools:text="Dec 24, 13:37"/>
 
 	</RelativeLayout>
diff --git a/briar-android/src/main/res/layout/list_item_conversation_notice_out.xml b/briar-android/src/main/res/layout/list_item_conversation_notice_out.xml
index 3ffee121baf743ce324fbbfcd55da800e8954047..a1aadd1df41cf6e1f2b9d3854218dbac4e32bdde 100644
--- a/briar-android/src/main/res/layout/list_item_conversation_notice_out.xml
+++ b/briar-android/src/main/res/layout/list_item_conversation_notice_out.xml
@@ -9,14 +9,13 @@
 
 	<org.thoughtcrime.securesms.components.emoji.EmojiTextView
 		android:id="@+id/msgText"
+		style="@style/TextMessage"
 		android:layout_width="match_parent"
 		android:layout_height="wrap_content"
 		android:layout_marginLeft="@dimen/message_bubble_margin_non_tail"
 		android:layout_marginRight="@dimen/message_bubble_margin_tail"
 		android:background="@drawable/msg_out_top"
 		android:textColor="@color/briar_text_primary_inverse"
-		android:textIsSelectable="true"
-		android:textSize="@dimen/text_size_medium"
 		tools:text="This is a long long long message that spans over several lines.\n\nIt ends here."/>
 
 	<RelativeLayout
@@ -29,16 +28,15 @@
 
 		<org.thoughtcrime.securesms.components.emoji.EmojiTextView
 			android:id="@+id/text"
+			style="@style/TextMessage.Notice"
 			android:layout_width="match_parent"
 			android:layout_height="wrap_content"
 			android:textColor="?android:attr/textColorSecondary"
-			android:textIsSelectable="true"
-			android:textSize="@dimen/text_size_medium"
-			android:textStyle="italic"
 			tools:text="@string/introduction_request_received"/>
 
 		<TextView
 			android:id="@+id/time"
+			style="@style/TextMessage.Timestamp"
 			android:layout_width="wrap_content"
 			android:layout_height="wrap_content"
 			android:layout_alignParentLeft="true"
@@ -46,7 +44,6 @@
 			android:layout_below="@+id/text"
 			android:layout_marginTop="@dimen/message_bubble_timestamp_margin"
 			android:textColor="?android:attr/textColorTertiary"
-			android:textSize="@dimen/text_size_tiny"
 			tools:text="Dec 24, 13:37"/>
 
 		<android.support.v7.widget.AppCompatImageView
diff --git a/briar-android/src/main/res/layout/list_item_conversation_request.xml b/briar-android/src/main/res/layout/list_item_conversation_request.xml
index 4c8a377a5c26f2c9d803f215088c13897b585370..d84e1f16f8af5a129004d1538b08c4d8339abdd0 100644
--- a/briar-android/src/main/res/layout/list_item_conversation_request.xml
+++ b/briar-android/src/main/res/layout/list_item_conversation_request.xml
@@ -8,14 +8,13 @@
 
 	<org.thoughtcrime.securesms.components.emoji.EmojiTextView
 		android:id="@+id/msgText"
+		style="@style/TextMessage"
 		android:layout_width="match_parent"
 		android:layout_height="wrap_content"
 		android:layout_marginLeft="@dimen/message_bubble_margin_tail"
 		android:layout_marginRight="@dimen/message_bubble_margin_non_tail"
 		android:background="@drawable/msg_in_top"
 		android:textColor="?android:attr/textColorPrimary"
-		android:textIsSelectable="true"
-		android:textSize="@dimen/text_size_medium"
 		tools:text="Short message"/>
 
 	<RelativeLayout
@@ -28,17 +27,15 @@
 
 		<org.thoughtcrime.securesms.components.emoji.EmojiTextView
 			android:id="@+id/text"
+			style="@style/TextMessage.Notice"
 			android:layout_width="match_parent"
 			android:layout_height="wrap_content"
-			android:minWidth="80dp"
 			android:textColor="?android:attr/textColorSecondary"
-			android:textIsSelectable="true"
-			android:textSize="@dimen/text_size_medium"
-			android:textStyle="italic"
 			tools:text="@string/introduction_request_received"/>
 
 		<TextView
 			android:id="@+id/time"
+			style="@style/TextMessage.Timestamp"
 			android:layout_width="wrap_content"
 			android:layout_height="wrap_content"
 			android:layout_alignEnd="@+id/text"
@@ -46,7 +43,6 @@
 			android:layout_below="@+id/acceptButton"
 			android:layout_marginTop="@dimen/message_bubble_timestamp_margin"
 			android:textColor="?android:attr/textColorTertiary"
-			android:textSize="@dimen/text_size_tiny"
 			tools:text="Dec 24, 13:37"/>
 
 		<Button
diff --git a/briar-android/src/main/res/layout/power_view.xml b/briar-android/src/main/res/layout/power_view.xml
index 787579a45474dc9451fdba414b39df3d671ba5bb..2a288c217b088ebb7524d1f5e6bb1adc07ecf27b 100644
--- a/briar-android/src/main/res/layout/power_view.xml
+++ b/briar-android/src/main/res/layout/power_view.xml
@@ -35,7 +35,7 @@
 
 	<Button
 		android:id="@+id/button"
-		style="@style/BriarButton.Default"
+		style="@style/BriarButton"
 		android:layout_width="0dp"
 		android:layout_height="wrap_content"
 		android:layout_margin="8dp"
@@ -52,7 +52,7 @@
 		android:layout_margin="8dp"
 		android:contentDescription="@string/help"
 		android:src="@drawable/ic_help_outline_white"
-		android:tint="@color/briar_button_positive"
+		android:tint="@color/briar_button_text_positive"
 		app:layout_constraintBottom_toBottomOf="@+id/button"
 		app:layout_constraintEnd_toEndOf="parent"
 		app:layout_constraintTop_toTopOf="@+id/button"/>
diff --git a/briar-android/src/main/res/layout/text_avatar_view.xml b/briar-android/src/main/res/layout/text_avatar_view.xml
index de7f3b868f670a1d08e76a6da76d11305622dbcb..215bc510c398fee143a05bb1951f1c48c4f3c119 100644
--- a/briar-android/src/main/res/layout/text_avatar_view.xml
+++ b/briar-android/src/main/res/layout/text_avatar_view.xml
@@ -10,7 +10,7 @@
 		android:layout_width="@dimen/avatar_forum_size"
 		android:layout_height="@dimen/avatar_forum_size"
 		android:layout_gravity="bottom|left"
-		android:src="@color/briar_button_positive"/>
+		android:src="@color/briar_button_text_positive"/>
 
 	<android.support.v7.widget.AppCompatTextView
 		android:id="@+id/textAvatarView"
diff --git a/briar-android/src/main/res/layout/text_input_view.xml b/briar-android/src/main/res/layout/text_input_view.xml
index f5d989acce24500684aa848205c359d7f5fff004..28cef379221ea44a6c7f0e976f8e27a236356df2 100644
--- a/briar-android/src/main/res/layout/text_input_view.xml
+++ b/briar-android/src/main/res/layout/text_input_view.xml
@@ -20,6 +20,7 @@
 			android:id="@+id/emoji_toggle"
 			android:layout_width="@dimen/text_input_height"
 			android:layout_height="@dimen/text_input_height"
+			android:layout_gravity="bottom"
 			android:background="?attr/selectableItemBackground"
 			android:padding="@dimen/margin_small"
 			android:scaleType="center"
@@ -32,21 +33,24 @@
 			android:layout_weight="1"
 			android:background="@android:color/transparent"
 			android:inputType="textMultiLine|textCapSentences"
-			android:maxLines="3"
+			android:maxLines="4"
 			android:minHeight="@dimen/text_input_height"
+			android:paddingLeft="2dp"
 			android:textColor="?android:attr/textColorPrimary"
-			android:textColorHint="?android:attr/textColorTertiary"/>
+			tools:ignore="RtlSymmetry"/>
 
 		<android.support.v7.widget.AppCompatImageButton
 			android:id="@+id/btn_send"
 			android:layout_width="@dimen/text_input_height"
 			android:layout_height="@dimen/text_input_height"
+			android:layout_gravity="bottom"
 			android:background="?attr/selectableItemBackground"
 			android:clickable="true"
 			android:contentDescription="@string/send"
 			android:enabled="false"
 			android:focusable="true"
-			android:padding="@dimen/margin_small"
+			android:padding="4dp"
+			android:scaleType="center"
 			android:src="@drawable/social_send_now_white"
 			app:tint="@color/briar_accent"/>
 
diff --git a/briar-android/src/main/res/layout/text_input_view_large.xml b/briar-android/src/main/res/layout/text_input_view_large.xml
index 4b01d23c791a51cb02fe67661e0ae9f4eac64b20..a4a9d7b0247ea8e3f6802979bf77a927b3d69c47 100644
--- a/briar-android/src/main/res/layout/text_input_view_large.xml
+++ b/briar-android/src/main/res/layout/text_input_view_large.xml
@@ -50,7 +50,6 @@
 				android:paddingRight="@dimen/margin_small"
 				android:paddingTop="@dimen/margin_small"
 				android:textColor="?android:attr/textColorPrimary"
-				android:textColorHint="?android:attr/textColorTertiary"
 				tools:ignore="RtlSymmetry"/>
 
 		</LinearLayout>
diff --git a/briar-android/src/main/res/values-night/color.xml b/briar-android/src/main/res/values-night/color.xml
index 2dba814d1b605e5f488b756a5b8a0d48fcecb9e9..52da2643f3ea930028899b36017682b03f745de0 100644
--- a/briar-android/src/main/res/values-night/color.xml
+++ b/briar-android/src/main/res/values-night/color.xml
@@ -1,23 +1,24 @@
 <?xml version="1.0" encoding="utf-8"?>
 <resources>
-
 	<color name="briar_primary">@color/briar_blue_dark</color>
 	<color name="briar_accent">@color/briar_green</color>
 
 	<color name="preference_category">@color/briar_accent</color>
-	<color name="preference_category_background">@color/divider</color>
+	<color name="preference_category_background">@color/briar_black_almost</color>
 
-	<color name="color_primary">#ffffff</color>
+	<color name="color_primary">@color/briar_white</color>
 
 	<color name="window_background">@color/briar_blue_very_dark</color>
 	<color name="card_background">@color/briar_blue_dark</color>
 	<color name="item_background_highlight">@color/briar_blue</color>
-	<color name="divider">#000000</color>
 
-	<color name="briar_button_neutral">@color/briar_link</color>
+	<color name="briar_button_background_color">@color/briar_blue_medium</color>
+	<color name="briar_button_text_neutral">@color/briar_blue_light</color>
 	<color name="briar_button_text_disabled">#23cccccc</color>
 
+	<color name="thread_indicator">@color/briar_blue</color>
 	<color name="thread_item_background">@color/window_background</color>
-	<color name="thread_item_highlight">#000000</color>
+	<color name="thread_item_highlight">@color/briar_black</color>
 
+	<color name="divider">@color/briar_black</color>
 </resources>
\ No newline at end of file
diff --git a/briar-android/src/main/res/values/color.xml b/briar-android/src/main/res/values/color.xml
index ef56fbe470949ed70751bd6f5f22d1a4e913fe02..725ab397a2b191b5b92d1d888b840041c6692f98 100644
--- a/briar-android/src/main/res/values/color.xml
+++ b/briar-android/src/main/res/values/color.xml
@@ -3,42 +3,52 @@
 	<color name="briar_blue">#2D3E50</color>
 	<color name="briar_blue_dark">#222E3C</color>
 	<color name="briar_blue_very_dark">#0F1720</color>
-	<color name="briar_blue_light">#4F6C8C</color>
+	<color name="briar_blue_medium">#4F6C8C</color>
+	<color name="briar_blue_light">#2A93C6</color>
 	<color name="briar_green">#5C940D</color>
 	<color name="briar_green_light">#95D220</color>
-	<color name="briar_link">#2A93C6</color>
+	<color name="briar_red">#ff0000</color>
+	<color name="briar_white">#FFFFFF</color>
+	<color name="briar_black">#000000</color>
+	<color name="briar_black_almost">#080C10</color>
 
-	<color name="window_background">#fffafafa</color>
-	<color name="card_background">@color/cardview_light_background</color>
-	<color name="item_background_highlight">#DCDCDC</color>
-	<color name="action_bar_text">#FFFFFF</color>
-	<color name="private_message_date_inverse">#e0e0e0</color>
-	<color name="forum_avatar_shadow">#99000000</color>
+	<color name="m_grey_300">#e0e0e0</color>
+	<color name="m_grey_500">#9e9e9e</color>
+	<color name="m_blue_grey_50">#eceff1</color>
 
 	<color name="briar_primary">@color/briar_blue</color>
 	<color name="briar_primary_dark">@color/briar_blue_very_dark</color>
-
 	<color name="briar_accent">@color/briar_blue</color>
 
+	<color name="window_background">#E3EBEF</color>
+	<color name="card_background">@color/cardview_light_background</color>
+	<color name="item_background_highlight">#DCDCDC</color>
+	<color name="briar_warning_background">@color/briar_red</color>
+	<color name="action_bar_text">@color/briar_white</color>
+	<color name="private_message_date_inverse">@color/m_grey_300</color>
+	<color name="forum_avatar_shadow">#99000000</color>
+
 	<color name="color_primary">#dd000000</color>
 
 	<!-- text colors -->
-	<color name="briar_text_link">@color/briar_link</color>
+	<color name="briar_text_link">@color/briar_blue_light</color>
 	<color name="briar_text_primary">#df000000</color>
-	<color name="briar_text_primary_inverse">#ffffff</color>
+	<color name="briar_text_primary_inverse">@color/briar_white</color>
 	<color name="briar_text_secondary_inverse">#b4ffffff</color>
 	<color name="briar_text_tertiary_inverse">#80ffffff</color>
-	<color name="preference_category">@color/briar_blue_light</color>
+
+	<color name="preference_category">@color/briar_blue_medium</color>
 	<color name="preference_category_background">@color/window_background</color>
 
-	<color name="briar_button_positive">@color/briar_link</color>
-	<color name="briar_button_neutral">@color/briar_blue_light</color>
-	<color name="briar_button_negative">#ff0000</color>
+	<color name="briar_button_background_color">@color/briar_accent</color>
+	<color name="briar_button_text_positive">@color/briar_blue_light</color>
+	<color name="briar_button_text_neutral">@color/briar_blue_medium</color>
+	<color name="briar_button_text_negative">@color/briar_red</color>
 	<color name="briar_button_text_disabled">#28000000</color>
-	<color name="briar_warning_background">#ff0000</color>
 
-	<color name="thread_indicator">#9e9e9e</color>
-	<color name="thread_item_background">#eceff1</color>
-	<color name="thread_item_highlight">#ffffff</color>
+	<color name="thread_indicator">@color/m_grey_500</color>
+	<color name="thread_item_background">@color/m_blue_grey_50</color>
+	<color name="thread_item_highlight">@color/briar_white</color>
+
 	<color name="divider">#c1c1c1</color>
 </resources>
\ No newline at end of file
diff --git a/briar-android/src/main/res/values/dimens.xml b/briar-android/src/main/res/values/dimens.xml
index d8327da7dacd7befca20ddab2d593631f3a19245..c92f335dbbb3d9300849c347e0a3281645d8c72e 100644
--- a/briar-android/src/main/res/values/dimens.xml
+++ b/briar-android/src/main/res/values/dimens.xml
@@ -41,6 +41,7 @@
 	<dimen name="message_bubble_margin_tail">3dp</dimen>
 	<dimen name="message_bubble_margin_non_tail">30dp</dimen>
 	<dimen name="message_bubble_timestamp_margin">7dp</dimen>
+
 	<dimen name="forum_nested_line_width">2dp</dimen>
 	<dimen name="forum_nested_indicator">24dp</dimen>
 
diff --git a/briar-android/src/main/res/values/styles.xml b/briar-android/src/main/res/values/styles.xml
index b67979db04638d8233d9456a1345e8a4269adfdf..a77c7649737da2a1605338fc4d200a563689a1b3 100644
--- a/briar-android/src/main/res/values/styles.xml
+++ b/briar-android/src/main/res/values/styles.xml
@@ -9,6 +9,7 @@
 		<item name="titleTextAppearance">@style/BriarToolbarTitleTextAppearance</item>
 		<item name="subtitleTextAppearance">@style/BriarToolbarSubTitleTextAppearance</item>
 		<item name="android:theme">@style/BriarToolbarTheme</item>
+		<item name="popupTheme">@style/PopupMenu</item>
 	</style>
 
 	<style name="BriarToolbarTheme">
@@ -23,11 +24,17 @@
 		<item name="android:textColor">@color/briar_text_secondary_inverse</item>
 	</style>
 
-	<style name="BriarButton.Default">
-		<item name="android:textAllCaps">true</item>
+	<style name="PopupMenu" parent="Theme.AppCompat.DayNight.DarkActionBar">
+		<item name="android:colorBackground">@color/window_background</item>
+	</style>
+
+	<style name="ButtonTheme" parent="Theme.AppCompat.DayNight">
+		<!-- A strange hack needed only to override button color on all API levels -->
+		<item name="colorAccent">@color/briar_button_background_color</item>
 	</style>
 
 	<style name="BriarButton" parent="Widget.AppCompat.Button.Colored">
+		<item name="android:theme">@style/ButtonTheme</item>
 		<item name="android:layout_width">match_parent</item>
 		<item name="android:layout_height">wrap_content</item>
 		<item name="android:textSize">@dimen/text_size_medium</item>
@@ -36,17 +43,17 @@
 	</style>
 
 	<style name="BriarButtonFlat.Negative" parent="Widget.AppCompat.Button.Borderless">
-		<item name="android:textColor">@color/briar_button_negative</item>
+		<item name="android:textColor">@color/briar_button_text_negative</item>
 		<item name="android:textSize">@dimen/text_size_medium</item>
 	</style>
 
 	<style name="BriarButtonFlat.Positive" parent="Widget.AppCompat.Button.Borderless">
-		<item name="android:textColor">@color/briar_button_positive</item>
+		<item name="android:textColor">@color/briar_button_text_positive</item>
 		<item name="android:textSize">@dimen/text_size_medium</item>
 	</style>
 
 	<style name="BriarButtonFlat.Neutral" parent="Widget.AppCompat.Button.Borderless">
-		<item name="android:textColor">@color/briar_button_neutral</item>
+		<item name="android:textColor">@color/briar_button_text_neutral</item>
 		<item name="android:textSize">@dimen/text_size_medium</item>
 	</style>
 
@@ -67,8 +74,8 @@
 
 	<style name="Divider.ContactList" parent="Divider">
 		<item name="android:layout_width">match_parent</item>
-		<item name="android:layout_height">1dp</item>
-		<item name="android:layout_marginLeft">@dimen/margin_large</item>
+		<item name="android:layout_height">1px</item>
+		<item name="android:layout_marginLeft">72dp</item>
 	</style>
 
 	<style name="Divider.ThreadItem" parent="Divider">
@@ -81,6 +88,26 @@
 		<item name="civ_border_color">?android:attr/textColorSecondary</item>
 	</style>
 
+	<style name="TextMessage">
+		<item name="android:textIsSelectable">true</item>
+		<item name="android:textSize">@dimen/text_size_medium</item>
+		<item name="android:textColor">?android:attr/textColorPrimary</item>
+	</style>
+
+	<style name="TextMessage.Notice">
+		<item name="android:textIsSelectable">true</item>
+		<item name="android:textSize">@dimen/text_size_small</item>
+		<item name="android:textColor">?android:attr/textColorSecondary</item>
+		<item name="android:textStyle">italic</item>
+	</style>
+
+	<style name="TextMessage.Timestamp">
+		<item name="android:textIsSelectable">false</item>
+		<item name="android:textSize">@dimen/text_size_tiny</item>
+		<item name="android:textColor">?android:attr/textColorTertiary</item>
+		<item name="android:maxLines">1</item>
+	</style>
+
 	<style name="DiscussionLevelIndicator">
 		<item name="android:layout_marginLeft">4dp</item>
 		<item name="android:background">@color/thread_indicator</item>