diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 83f17347..7affb3cc 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -14,7 +14,7 @@
         android:icon="@drawable/ic_monero_32dp"
         android:label="@string/app_name"
         android:supportsRtl="true"
-        android:theme="@style/AppTheme">
+        android:theme="@style/MyMaterialTheme">
 
         <activity
             android:name=".WalletActivity"
diff --git a/app/src/main/java/com/m2049r/xmrwallet/GenerateReviewFragment.java b/app/src/main/java/com/m2049r/xmrwallet/GenerateReviewFragment.java
index 0bd24e21..0793a4d2 100644
--- a/app/src/main/java/com/m2049r/xmrwallet/GenerateReviewFragment.java
+++ b/app/src/main/java/com/m2049r/xmrwallet/GenerateReviewFragment.java
@@ -101,6 +101,7 @@ public class GenerateReviewFragment extends Fragment {
         String seed;
         String viewKey;
         boolean isWatchOnly;
+        Wallet.Status status;
 
         @Override
         protected Boolean doInBackground(String... params) {
@@ -118,8 +119,13 @@ public class GenerateReviewFragment extends Fragment {
                 wallet = WalletManager.getInstance().openWallet(walletPath, password);
                 closeWallet = true;
             }
-            if (wallet.getStatus() != Wallet.Status.Status_Ok) return false;
             name = wallet.getName();
+            status = wallet.getStatus();
+            if (status != Wallet.Status.Status_Ok) {
+                if (closeWallet) wallet.close();
+                return false;
+            }
+
             address = wallet.getAddress();
             seed = wallet.getSeed();
             viewKey = wallet.getSecretViewKey();
@@ -131,13 +137,13 @@ public class GenerateReviewFragment extends Fragment {
         @Override
         protected void onPostExecute(Boolean result) {
             super.onPostExecute(result);
+            tvWalletName.setText(name);
             if (result) {
                 if (type.equals(GenerateReviewFragment.VIEW_TYPE_ACCEPT)) {
                     tvWalletPassword.setText(password);
                     bAccept.setVisibility(View.VISIBLE);
                     bAccept.setEnabled(true);
                 }
-                tvWalletName.setText(name);
                 tvWalletAddress.setText(address);
                 tvWalletMnemonic.setText(seed);
                 tvWalletViewKey.setText(viewKey);
@@ -147,6 +153,13 @@ public class GenerateReviewFragment extends Fragment {
                 } else {
                     tvWalletSpendKey.setText(getString(R.string.generate_wallet_watchonly));
                 }
+            } else {
+                // TODO show proper error message
+                // TODO end the fragment
+                tvWalletAddress.setText(status.toString());
+                tvWalletMnemonic.setText(status.toString());
+                tvWalletViewKey.setText(status.toString());
+                tvWalletSpendKey.setText(status.toString());
             }
             hideProgress();
         }
diff --git a/app/src/main/java/com/m2049r/xmrwallet/LoginActivity.java b/app/src/main/java/com/m2049r/xmrwallet/LoginActivity.java
index 3e8519e3..e1ad0db1 100644
--- a/app/src/main/java/com/m2049r/xmrwallet/LoginActivity.java
+++ b/app/src/main/java/com/m2049r/xmrwallet/LoginActivity.java
@@ -192,7 +192,7 @@ public class LoginActivity extends AppCompatActivity
         }
     }
 
-    // copy + delete seems safer than rename bevause we call rollback easily
+    // copy + delete seems safer than rename because we call rollback easily
     boolean renameWallet(File walletFile, String newName) {
         if (copyWallet(walletFile, new File(walletFile.getParentFile(), newName), false)) {
             deleteWallet(walletFile);
@@ -215,7 +215,7 @@ public class LoginActivity extends AppCompatActivity
         final EditText etRename = (EditText) promptsView.findViewById(R.id.etRename);
         final TextView tvRenameLabel = (TextView) promptsView.findViewById(R.id.tvRenameLabel);
 
-        tvRenameLabel.setText(getString(R.string.prompt_rename) + " " + walletName);
+        tvRenameLabel.setText(getString(R.string.prompt_rename, walletName));
 
         // set dialog message
         alertDialogBuilder
@@ -396,7 +396,7 @@ public class LoginActivity extends AppCompatActivity
         final EditText etPassword = (EditText) promptsView.findViewById(R.id.etPassword);
         final TextView tvPasswordLabel = (TextView) promptsView.findViewById(R.id.tvPasswordLabel);
 
-        tvPasswordLabel.setText(LoginActivity.this.getString(R.string.prompt_password) + " " + wallet);
+        tvPasswordLabel.setText(LoginActivity.this.getString(R.string.prompt_password, wallet));
 
         // set dialog message
         alertDialogBuilder
diff --git a/app/src/main/java/com/m2049r/xmrwallet/WalletFragment.java b/app/src/main/java/com/m2049r/xmrwallet/WalletFragment.java
index 0fcaa1fe..961e4e71 100644
--- a/app/src/main/java/com/m2049r/xmrwallet/WalletFragment.java
+++ b/app/src/main/java/com/m2049r/xmrwallet/WalletFragment.java
@@ -49,7 +49,6 @@ public class WalletFragment extends Fragment implements TransactionInfoAdapter.O
     private NumberFormat formatter = NumberFormat.getInstance();
 
     TextView tvBalance;
-    LinearLayout llUnconfirmedAmount;
     TextView tvUnconfirmedAmount;
     TextView tvBlockHeightProgress;
     ConstraintLayout clProgress;
@@ -66,7 +65,7 @@ public class WalletFragment extends Fragment implements TransactionInfoAdapter.O
     @Override
     public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
         if (activityCallback.hasWallet())
-        inflater.inflate(R.menu.wallet_menu, menu);
+            inflater.inflate(R.menu.wallet_menu, menu);
         super.onCreateOptionsMenu(menu, inflater);
     }
 
@@ -78,21 +77,17 @@ public class WalletFragment extends Fragment implements TransactionInfoAdapter.O
         tvProgress = (TextView) view.findViewById(R.id.tvProgress);
         pbProgress = (ProgressBar) view.findViewById(R.id.pbProgress);
         clProgress = (ConstraintLayout) view.findViewById(R.id.clProgress);
-        llUnconfirmedAmount = (LinearLayout) view.findViewById(R.id.llUnconfirmedAmount);
         tvBalance = (TextView) view.findViewById(R.id.tvBalance);
-        tvBalance.setText(Helper.getDisplayAmount(0));
+        tvBalance.setText(getResources().getString(R.string.xmr_balance, Helper.getDisplayAmount(0)));
         tvUnconfirmedAmount = (TextView) view.findViewById(R.id.tvUnconfirmedAmount);
-        tvUnconfirmedAmount.setText(Helper.getDisplayAmount(0));
+        tvUnconfirmedAmount.setText(getResources().getString(R.string.xmr_unconfirmed_amount, Helper.getDisplayAmount(0)));
         tvBlockHeightProgress = (TextView) view.findViewById(R.id.tvBlockHeightProgress);
 
         bSend = (Button) view.findViewById(R.id.bSend);
 
         RecyclerView recyclerView = (RecyclerView) view.findViewById(R.id.list);
-        RecyclerView.ItemDecoration itemDecoration = new
-                DividerItemDecoration(recyclerView.getContext(), DividerItemDecoration.VERTICAL);
-        recyclerView.addItemDecoration(itemDecoration);
 
-        this.adapter = new TransactionInfoAdapter(this);
+        this.adapter = new TransactionInfoAdapter(getActivity(), this);
         recyclerView.setAdapter(adapter);
 
         bSend.setOnClickListener(new View.OnClickListener()
@@ -161,10 +156,12 @@ public class WalletFragment extends Fragment implements TransactionInfoAdapter.O
 
     public void showProgress() {
         clProgress.setVisibility(View.VISIBLE);
+        tvBlockHeightProgress.setVisibility(View.GONE);
     }
 
     public void hideProgress() {
         clProgress.setVisibility(View.GONE);
+        tvBlockHeightProgress.setVisibility(View.VISIBLE);
     }
 
     String setActivityTitle(Wallet wallet) {
@@ -173,6 +170,8 @@ public class WalletFragment extends Fragment implements TransactionInfoAdapter.O
         if (shortName.length() > 16) {
             shortName = shortName.substring(0, 14) + "...";
         }
+        // TODO very very rarely this craches because getAddress returns "" or so ...
+        // maybe because this runs in the ui thread and not in a 5MB thread
         String title = "[" + wallet.getAddress().substring(0, 6) + "] " + shortName;
         activityCallback.setTitle(title);
 
@@ -194,14 +193,8 @@ public class WalletFragment extends Fragment implements TransactionInfoAdapter.O
         }
         long balance = wallet.getBalance();
         long unlockedBalance = wallet.getUnlockedBalance();
-        tvBalance.setText(Helper.getDisplayAmount(unlockedBalance));
-        tvUnconfirmedAmount.setText(Helper.getDisplayAmount(balance - unlockedBalance));
-        // balance cannot be less than unlockedBalance
-        /*if (balance != unlockedBalance) {
-            llPendingAmount.setVisibility(View.VISIBLE);
-        } else {
-            llPendingAmount.setVisibility(View.INVISIBLE);
-        }*/
+        tvBalance.setText(getResources().getString(R.string.xmr_balance, Helper.getDisplayAmount(unlockedBalance)));
+        tvUnconfirmedAmount.setText(getResources().getString(R.string.xmr_balance, Helper.getDisplayAmount(balance - unlockedBalance)));
         String sync = "";
         if (!activityCallback.hasBoundService())
             throw new IllegalStateException("WalletService not bound.");
diff --git a/app/src/main/java/com/m2049r/xmrwallet/layout/TransactionInfoAdapter.java b/app/src/main/java/com/m2049r/xmrwallet/layout/TransactionInfoAdapter.java
index 3b8dc54e..7e833005 100644
--- a/app/src/main/java/com/m2049r/xmrwallet/layout/TransactionInfoAdapter.java
+++ b/app/src/main/java/com/m2049r/xmrwallet/layout/TransactionInfoAdapter.java
@@ -16,7 +16,9 @@
 
 package com.m2049r.xmrwallet.layout;
 
+import android.content.Context;
 import android.graphics.Color;
+import android.support.v4.content.ContextCompat;
 import android.support.v7.widget.RecyclerView;
 import android.util.Log;
 import android.view.LayoutInflater;
@@ -42,10 +44,15 @@ public class TransactionInfoAdapter extends RecyclerView.Adapter<TransactionInfo
 
     private final SimpleDateFormat DATETIME_FORMATTER = new SimpleDateFormat("yyyy-MM-dd HH:mm");
 
-    static final int TX_RED = Color.rgb(255, 79, 65);
-    static final int TX_GREEN = Color.rgb(54, 176, 91);
-    static final int TX_PENDING = Color.rgb(72, 53, 176);
-    static final int TX_FAILED = Color.rgb(208, 0, 255);
+    //static final int TX_RED = Color.rgb(255, 79, 65);
+    //static final int TX_GREEN = Color.rgb(54, 176, 91);
+    //static final int TX_PENDING = Color.rgb(72, 53, 176);
+    //static final int TX_FAILED = Color.rgb(208, 0, 255);
+
+    int outboundColour;
+    int inboundColour;
+    int pendingColour;
+    int failedColour;
 
     public interface OnInteractionListener {
         void onInteraction(View view, TransactionInfo item);
@@ -54,7 +61,14 @@ public class TransactionInfoAdapter extends RecyclerView.Adapter<TransactionInfo
     private final List<TransactionInfo> infoItems;
     private final OnInteractionListener listener;
 
-    public TransactionInfoAdapter(OnInteractionListener listener) {
+    Context context;
+
+    public TransactionInfoAdapter(Context context, OnInteractionListener listener) {
+        this.context = context;
+        inboundColour = ContextCompat.getColor(context, R.color.tx_green);
+        outboundColour = ContextCompat.getColor(context, R.color.tx_red);
+        pendingColour = ContextCompat.getColor(context, R.color.tx_pending);
+        failedColour = ContextCompat.getColor(context, R.color.tx_failed);
         this.infoItems = new ArrayList<>();
         this.listener = listener;
         Calendar cal = Calendar.getInstance();
@@ -109,8 +123,7 @@ public class TransactionInfoAdapter extends RecyclerView.Adapter<TransactionInfo
 
     class ViewHolder extends RecyclerView.ViewHolder implements View.OnClickListener {
         final TextView tvAmount;
-        final TextView tvAmountPoint;
-        final TextView tvAmountDecimal;
+        final TextView tvFee;
         final TextView tvPaymentId;
         final TextView tvDateTime;
         TransactionInfo infoItem;
@@ -118,9 +131,7 @@ public class TransactionInfoAdapter extends RecyclerView.Adapter<TransactionInfo
         ViewHolder(View itemView) {
             super(itemView);
             this.tvAmount = (TextView) itemView.findViewById(R.id.tx_amount);
-            // I know this is stupid but can't be bothered to align decimals otherwise
-            this.tvAmountPoint = (TextView) itemView.findViewById(R.id.tx_amount_point);
-            this.tvAmountDecimal = (TextView) itemView.findViewById(R.id.tx_amount_decimal);
+            this.tvFee = (TextView) itemView.findViewById(R.id.tx_fee);
             this.tvPaymentId = (TextView) itemView.findViewById(R.id.tx_paymentid);
             this.tvDateTime = (TextView) itemView.findViewById(R.id.tx_datetime);
         }
@@ -131,34 +142,41 @@ public class TransactionInfoAdapter extends RecyclerView.Adapter<TransactionInfo
 
         private void setTxColour(int clr) {
             tvAmount.setTextColor(clr);
-            tvAmountDecimal.setTextColor(clr);
-            tvAmountPoint.setTextColor(clr);
+            tvFee.setTextColor(clr);
         }
 
         void bind(int position) {
             this.infoItem = infoItems.get(position);
             String displayAmount = Wallet.getDisplayAmount(infoItem.amount);
             // TODO fix this with i8n code but cryptonote::print_money always uses '.' for decimal point
-            String amountParts[] = displayAmount.split("\\.");
-            amountParts[1] = amountParts[1].substring(0,5);
+            String amount = displayAmount.substring(0, displayAmount.length() - (12 - 5));
+            this.tvAmount.setText(amount);
 
-            this.tvAmount.setText(amountParts[0]);
-            this.tvAmountDecimal.setText(amountParts[1]);
+            if ((infoItem.fee > 0)) {
+                String feeAmount = Wallet.getDisplayAmount(infoItem.fee);
+                String fee = feeAmount.substring(0, feeAmount.length() - (12 - 5));
+                if (infoItem.isPending) {
+                    this.tvFee.setText(context.getString(R.string.tx_list_fee_pending, fee));
+                } else {
+                    this.tvFee.setText(context.getString(R.string.tx_list_fee, fee));
+                }
+            } else {
+                this.tvFee.setText("");
+            }
             if (infoItem.isFailed) {
-                this.tvAmount.setText('(' + amountParts[0]);
-                this.tvAmountDecimal.setText(amountParts[1] + ')');
-                setTxColour(TX_FAILED);
+                this.tvAmount.setText(context.getString(R.string.tx_list_amount_failed, amount));
+                setTxColour(failedColour);
             } else if (infoItem.isPending) {
-                setTxColour(TX_PENDING);
+                setTxColour(pendingColour);
                 if (infoItem.direction == TransactionInfo.Direction.Direction_Out) {
-                    this.tvAmount.setText('-' + amountParts[0]);
+                    this.tvAmount.setText(context.getString(R.string.tx_list_amount_negative, amount));
                 }
             } else if (infoItem.direction == TransactionInfo.Direction.Direction_In) {
-                setTxColour(TX_GREEN);
+                setTxColour(inboundColour);
             } else {
-                setTxColour(TX_RED);
+                setTxColour(outboundColour);
             }
-            this.tvPaymentId.setText(infoItem.paymentId.equals("0000000000000000")?"":infoItem.paymentId);
+            this.tvPaymentId.setText(infoItem.paymentId.equals("0000000000000000") ? "" : infoItem.paymentId);
             this.tvDateTime.setText(getDateTime(infoItem.timestamp));
 
             itemView.setOnClickListener(this);
diff --git a/app/src/main/res/color/text_color.xml b/app/src/main/res/color/text_color.xml
new file mode 100644
index 00000000..bdb0a30f
--- /dev/null
+++ b/app/src/main/res/color/text_color.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="utf-8"?>
+<selector xmlns:android="http://schemas.android.com/apk/res/android">
+    <item android:color="@color/moneroGray" android:state_enabled="false" />
+    <item android:color="@color/moneroWhite" />
+</selector>
\ No newline at end of file
diff --git a/app/src/main/res/layout/gen_fragment.xml b/app/src/main/res/layout/gen_fragment.xml
index 567abaf8..99e88eba 100644
--- a/app/src/main/res/layout/gen_fragment.xml
+++ b/app/src/main/res/layout/gen_fragment.xml
@@ -12,6 +12,7 @@
 
         <EditText
             android:id="@+id/etWalletName"
+            style="@style/MoneroEdit"
             android:layout_width="0dp"
             android:layout_height="wrap_content"
             android:layout_weight="1"
@@ -19,40 +20,39 @@
             android:imeOptions="actionNext"
             android:inputType="text"
             android:maxLines="1"
-            android:textAlignment="center"
-            android:textSize="16sp" />
+            android:textAlignment="center" />
 
         <EditText
             android:id="@+id/etWalletPassword"
+            style="@style/MoneroEdit"
             android:layout_width="0dp"
             android:layout_height="wrap_content"
             android:layout_weight="1"
             android:hint="@string/generate_password_hint"
             android:imeOptions="actionNext"
             android:inputType="text"
-            android:textAlignment="center"
-            android:textSize="16sp" />
+            android:textAlignment="center" />
     </LinearLayout>
 
     <EditText
         android:id="@+id/etWalletMnemonic"
+        style="@style/MoneroEdit"
         android:layout_width="match_parent"
         android:layout_height="wrap_content"
         android:hint="@string/generate_mnemonic_hint"
         android:imeOptions="actionNext"
         android:inputType="textMultiLine"
-        android:textAlignment="center"
-        android:textSize="16sp" />
+        android:textAlignment="center" />
 
     <EditText
         android:id="@+id/etWalletAddress"
+        style="@style/MoneroEdit"
         android:layout_width="match_parent"
         android:layout_height="wrap_content"
         android:hint="@string/generate_address_hint"
         android:imeOptions="actionNext"
         android:inputType="textMultiLine"
-        android:textAlignment="center"
-        android:textSize="16sp" />
+        android:textAlignment="center" />
 
     <LinearLayout
         android:id="@+id/llRestoreKeys"
@@ -64,43 +64,43 @@
 
         <EditText
             android:id="@+id/etWalletViewKey"
+            style="@style/MoneroEdit"
             android:layout_width="match_parent"
             android:layout_height="wrap_content"
             android:hint="@string/generate_viewkey_hint"
             android:imeOptions="actionNext"
             android:inputType="textMultiLine"
-            android:textAlignment="center"
-            android:textSize="16sp" />
+            android:textAlignment="center" />
 
         <EditText
             android:id="@+id/etWalletSpendKey"
+            style="@style/MoneroEdit"
             android:layout_width="match_parent"
             android:layout_height="wrap_content"
             android:hint="@string/generate_spendkey_hint"
             android:imeOptions="actionNext"
             android:inputType="textMultiLine"
-            android:textAlignment="center"
-            android:textSize="16sp" />
+            android:textAlignment="center"/>
     </LinearLayout>
 
     <EditText
         android:id="@+id/etWalletRestoreHeight"
+        style="@style/MoneroEdit"
         android:layout_width="match_parent"
         android:layout_height="wrap_content"
         android:hint="@string/generate_restoreheight_hint"
         android:imeOptions="actionDone"
         android:inputType="number"
         android:textAlignment="center"
-        android:textSize="16sp"
         android:visibility="gone" />
 
     <Button
         android:id="@+id/bGenerate"
+        style="@style/MoneroButton"
         android:layout_width="match_parent"
         android:layout_height="wrap_content"
         android:layout_marginBottom="8dp"
         android:layout_marginTop="8dp"
-        android:background="@color/colorPrimary"
         android:enabled="false"
         android:text="@string/generate_buttonGenerate" />
 
diff --git a/app/src/main/res/layout/gen_review_fragment.xml b/app/src/main/res/layout/gen_review_fragment.xml
index 35fc2b86..e1572193 100644
--- a/app/src/main/res/layout/gen_review_fragment.xml
+++ b/app/src/main/res/layout/gen_review_fragment.xml
@@ -20,23 +20,21 @@
 
         <TextView
             android:id="@+id/tvWalletLabel"
+            style="@style/MoneroLabel"
             android:layout_width="0sp"
             android:layout_height="wrap_content"
             android:layout_weight="1"
             android:text="@string/generate_wallet_label"
-            android:textAlignment="center"
-            android:textColor="@color/colorAccent"
-            android:textSize="16sp" />
+            android:textAlignment="center" />
 
         <TextView
             android:id="@+id/tvWalletPasswordLabel"
+            style="@style/MoneroLabel"
             android:layout_width="0sp"
             android:layout_height="wrap_content"
             android:layout_weight="1"
             android:text="@string/generate_password_label"
-            android:textAlignment="center"
-            android:textColor="@color/colorAccent"
-            android:textSize="16sp" />
+            android:textAlignment="center" />
     </LinearLayout>
 
     <LinearLayout
@@ -48,106 +46,96 @@
 
         <TextView
             android:id="@+id/tvWalletName"
+            style="@style/MoneroText"
             android:layout_width="0dp"
             android:layout_height="wrap_content"
             android:layout_weight="1"
-            android:textAlignment="center"
-            android:textColor="@color/colorPrimaryDark"
-            android:textSize="16sp" />
+            android:textAlignment="center" />
 
         <TextView
             android:id="@+id/tvWalletPassword"
+            style="@style/MoneroText"
             android:layout_width="0dp"
             android:layout_height="wrap_content"
             android:layout_weight="1"
             android:text="***"
-            android:textAlignment="center"
-            android:textColor="@color/colorPrimaryDark"
-            android:textSize="16sp" />
+            android:textAlignment="center" />
     </LinearLayout>
 
     <TextView
         android:id="@+id/tvWalletMnemonicLabel"
+        style="@style/MoneroLabel"
         android:layout_width="match_parent"
         android:layout_height="wrap_content"
         android:text="@string/generate_mnemonic_label"
-        android:textAlignment="center"
-        android:textColor="@color/colorAccent"
-        android:textSize="16sp" />
+        android:textAlignment="center" />
 
     <TextView
         android:id="@+id/tvWalletMnemonic"
+        style="@style/MoneroText"
         android:layout_width="match_parent"
         android:layout_height="wrap_content"
-        android:textAlignment="center"
-        android:textColor="@color/colorPrimaryDark"
-        android:textSize="16sp" />
+        android:textAlignment="center" />
 
     <TextView
         android:id="@+id/tvWalletAddressLabel"
+        style="@style/MoneroLabel"
         android:layout_width="match_parent"
         android:layout_height="wrap_content"
         android:layout_marginTop="8dp"
         android:text="@string/generate_address_label"
-        android:textAlignment="center"
-        android:textColor="@color/colorAccent"
-        android:textSize="16sp" />
+        android:textAlignment="center" />
 
     <TextView
         android:id="@+id/tvWalletAddress"
+        style="@style/MoneroText"
         android:layout_width="match_parent"
         android:layout_height="wrap_content"
         android:selectAllOnFocus="true"
         android:textAlignment="center"
-        android:textColor="@color/colorPrimaryDark"
-        android:textIsSelectable="true"
-        android:textSize="16sp" />
+        android:textIsSelectable="true" />
 
     <TextView
         android:id="@+id/tvWalletViewKeyLabel"
+        style="@style/MoneroLabel"
         android:layout_width="match_parent"
         android:layout_height="wrap_content"
         android:layout_marginTop="8dp"
         android:text="@string/generate_viewkey_label"
-        android:textAlignment="center"
-        android:textColor="@color/colorAccent"
-        android:textSize="16sp" />
+        android:textAlignment="center" />
 
     <TextView
         android:id="@+id/tvWalletViewKey"
+        style="@style/MoneroText"
         android:layout_width="match_parent"
         android:layout_height="wrap_content"
         android:selectAllOnFocus="true"
         android:textAlignment="center"
-        android:textColor="@color/colorPrimaryDark"
-        android:textIsSelectable="true"
-        android:textSize="16sp" />
+        android:textIsSelectable="true" />
 
     <TextView
         android:id="@+id/tvWalletSpendKeyLabel"
+        style="@style/MoneroLabel"
         android:layout_width="match_parent"
         android:layout_height="wrap_content"
         android:layout_marginTop="8dp"
         android:text="@string/generate_spendkey_label"
-        android:textAlignment="center"
-        android:textColor="@color/colorAccent"
-        android:textSize="16sp" />
+        android:textAlignment="center" />
 
     <TextView
         android:id="@+id/tvWalletSpendKey"
+        style="@style/MoneroText"
         android:layout_width="match_parent"
         android:layout_height="wrap_content"
         android:textAlignment="center"
-        android:textColor="@color/colorPrimaryDark"
-        android:textIsSelectable="true"
-        android:textSize="16sp" />
+        android:textIsSelectable="true" />
 
     <Button
         android:id="@+id/bAccept"
+        style="@style/MoneroButton"
         android:layout_width="match_parent"
         android:layout_height="wrap_content"
         android:layout_marginTop="16dp"
-        android:background="@color/colorPrimary"
         android:text="@string/generate_button_accept"
         android:visibility="gone" />
 </LinearLayout>
diff --git a/app/src/main/res/layout/login_activity.xml b/app/src/main/res/layout/login_activity.xml
index 48d797bf..da7638bc 100644
--- a/app/src/main/res/layout/login_activity.xml
+++ b/app/src/main/res/layout/login_activity.xml
@@ -5,16 +5,12 @@
     android:gravity="center_horizontal"
     android:orientation="vertical">
 
-    <android.support.v7.widget.Toolbar
+    <include
         android:id="@+id/toolbar"
-        android:layout_width="match_parent"
-        android:layout_height="?attr/actionBarSize"
-        android:background="?attr/colorPrimary"
-        android:elevation="4dp" />
+        layout="@layout/toolbar" />
 
     <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
         android:id="@+id/fragment_container"
-        android:layout_margin="4sp"
         android:layout_width="match_parent"
         android:layout_height="match_parent" />
 
diff --git a/app/src/main/res/layout/login_fragment.xml b/app/src/main/res/layout/login_fragment.xml
index 77b75df4..3a88477a 100644
--- a/app/src/main/res/layout/login_fragment.xml
+++ b/app/src/main/res/layout/login_fragment.xml
@@ -17,13 +17,13 @@
             android:textOff="@string/connect_testnet"
             android:textOn="@string/connect_mainnet"
             app:layout_constraintRight_toRightOf="parent"
-            app:layout_constraintTop_toTopOf="parent"/>
+            app:layout_constraintTop_toTopOf="parent" />
 
         <EditText
             android:id="@+id/etDaemonAddress"
+            style="@style/MoneroEdit"
             android:layout_width="0dp"
             android:layout_height="wrap_content"
-            android:backgroundTint="@color/colorPrimary"
             android:clickable="true"
             android:focusable="true"
             android:focusableInTouchMode="true"
@@ -33,7 +33,6 @@
             android:inputType="textWebEmailAddress|textNoSuggestions"
             android:maxLines="1"
             android:textIsSelectable="true"
-            android:textSize="15sp"
             app:layout_constraintBaseline_toBaselineOf="@+id/tbMainNet"
             app:layout_constraintLeft_toLeftOf="parent"
             app:layout_constraintRight_toLeftOf="@+id/tbMainNet" />
@@ -46,9 +45,10 @@
 
         <ListView
             android:id="@+id/list"
+            style="@style/MoneroListView"
             android:layout_width="match_parent"
             android:layout_height="wrap_content"
-            android:layout_marginTop="4dp"/>
+            android:layout_marginTop="4dp" />
 
         <android.support.design.widget.FloatingActionButton xmlns:app="http://schemas.android.com/apk/res-auto"
             android:id="@+id/fabAdd"
diff --git a/app/src/main/res/layout/prompt_password.xml b/app/src/main/res/layout/prompt_password.xml
index 495d4670..8eb7222d 100644
--- a/app/src/main/res/layout/prompt_password.xml
+++ b/app/src/main/res/layout/prompt_password.xml
@@ -8,6 +8,7 @@
 
     <TextView
         android:id="@+id/tvPasswordLabel"
+        style="@style/MoneroLabel"
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
         android:labelFor="@+id/etPassword"
@@ -16,6 +17,7 @@
 
     <EditText
         android:id="@+id/etPassword"
+        style="@style/MoneroEdit"
         android:layout_width="match_parent"
         android:layout_height="wrap_content"
         android:imeOptions="normal"
diff --git a/app/src/main/res/layout/prompt_rename.xml b/app/src/main/res/layout/prompt_rename.xml
index 5f47af13..62cae9f4 100644
--- a/app/src/main/res/layout/prompt_rename.xml
+++ b/app/src/main/res/layout/prompt_rename.xml
@@ -8,6 +8,7 @@
 
     <TextView
         android:id="@+id/tvRenameLabel"
+        style="@style/MoneroLabel"
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
         android:text="@string/prompt_rename"
@@ -16,6 +17,7 @@
 
     <EditText
         android:id="@+id/etRename"
+        style="@style/MoneroEdit"
         android:layout_width="match_parent"
         android:layout_height="wrap_content"
         android:imeOptions="normal"
diff --git a/app/src/main/res/layout/receive_fragment.xml b/app/src/main/res/layout/receive_fragment.xml
index 46b4c3f1..5e88ef32 100644
--- a/app/src/main/res/layout/receive_fragment.xml
+++ b/app/src/main/res/layout/receive_fragment.xml
@@ -2,6 +2,7 @@
 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
     android:layout_width="match_parent"
     android:layout_height="match_parent"
+    android:background="@color/moneroBlack"
     android:orientation="vertical">
 
     <ProgressBar
@@ -10,19 +11,21 @@
         android:layout_width="match_parent"
         android:layout_height="wrap_content"
         android:layout_marginBottom="8sp"
+        android:progressBackgroundTint="@color/colorPrimaryDark"
+        android:progressTint="@color/colorPrimary"
         android:visibility="gone" />
 
     <TextView
         android:id="@+id/tvAddress"
+        style="@style/MoneroText"
         android:layout_width="match_parent"
         android:layout_height="wrap_content"
         android:layout_marginBottom="4sp"
         android:layout_marginTop="4sp"
-        android:textIsSelectable="true"
-        android:selectAllOnFocus="true"
         android:hint="@string/send_address_hint"
+        android:selectAllOnFocus="true"
         android:textAlignment="center"
-        android:textSize="16sp" />
+        android:textIsSelectable="true" />
 
     <LinearLayout
         android:layout_width="match_parent"
@@ -33,16 +36,17 @@
         android:weightSum="10">
 
         <TextView
+            style="@style/MoneroText"
             android:layout_width="0sp"
             android:layout_height="wrap_content"
             android:layout_marginRight="8sp"
             android:layout_weight="3"
             android:text="@string/receive_paymentid_label"
-            android:textAlignment="textEnd"
-            android:textSize="16sp" />
+            android:textAlignment="textEnd" />
 
         <EditText
             android:id="@+id/etPaymentId"
+            style="@style/MoneroEdit"
             android:layout_width="0sp"
             android:layout_height="wrap_content"
             android:layout_weight="5"
@@ -50,20 +54,18 @@
             android:hint="@string/receive_paymentid_hint"
             android:imeOptions="actionNext"
             android:inputType="textMultiLine"
-            android:textAlignment="textStart"
-            android:textSize="16sp" />
+            android:textAlignment="textStart" />
 
         <Button
             android:id="@+id/bPaymentId"
+            style="@style/MoneroButton.Small"
             android:layout_width="0sp"
             android:layout_height="wrap_content"
             android:layout_gravity="center"
             android:layout_weight="2"
-            android:background="@color/colorPrimary"
             android:enabled="false"
             android:minHeight="36sp"
-            android:text="@string/receive_paymentid_button"
-            android:textSize="12sp" />
+            android:text="@string/receive_paymentid_button" />
     </LinearLayout>
 
     <LinearLayout
@@ -75,16 +77,17 @@
         android:weightSum="10">
 
         <TextView
+            style="@style/MoneroText"
             android:layout_width="0sp"
             android:layout_height="wrap_content"
             android:layout_marginRight="8sp"
             android:layout_weight="3"
             android:text="@string/send_amount_label"
-            android:textAlignment="textEnd"
-            android:textSize="24sp" />
+            android:textAlignment="textEnd" />
 
         <EditText
             android:id="@+id/etAmount"
+            style="@style/MoneroEdit"
             android:layout_width="0sp"
             android:layout_height="wrap_content"
             android:layout_weight="7"
@@ -92,17 +95,16 @@
             android:hint="@string/receive_amount_hint"
             android:imeOptions="actionDone"
             android:inputType="numberDecimal"
-            android:textAlignment="textStart"
-            android:textSize="24sp" />
+            android:textAlignment="textStart" />
     </LinearLayout>
 
     <Button
         android:id="@+id/bGenerate"
+        style="@style/MoneroButton"
         android:layout_width="match_parent"
         android:layout_height="wrap_content"
         android:layout_marginBottom="4sp"
         android:layout_marginTop="4sp"
-        android:background="@color/colorPrimary"
         android:enabled="false"
         android:minHeight="36sp"
         android:text="@string/receive_generate_hint" />
diff --git a/app/src/main/res/layout/send_fragment.xml b/app/src/main/res/layout/send_fragment.xml
index f7e5cc44..f104efe5 100644
--- a/app/src/main/res/layout/send_fragment.xml
+++ b/app/src/main/res/layout/send_fragment.xml
@@ -5,17 +5,19 @@
 
     <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
         android:layout_width="match_parent"
-        android:layout_height="match_parent"
+        android:layout_height="wrap_content"
         android:orientation="vertical">
 
         <LinearLayout
             android:layout_width="match_parent"
             android:layout_height="wrap_content"
             android:orientation="horizontal"
+            android:layout_marginBottom="8sp"
             android:weightSum="2">
 
             <Spinner
                 android:id="@+id/sMixin"
+                style="@style/MoneroSpinner"
                 android:layout_width="0sp"
                 android:layout_height="match_parent"
                 android:layout_weight="1"
@@ -24,6 +26,7 @@
 
             <Spinner
                 android:id="@+id/sPriority"
+                style="@style/MoneroSpinner"
                 android:layout_width="0sp"
                 android:layout_height="match_parent"
                 android:layout_weight="1"
@@ -35,92 +38,90 @@
         <LinearLayout
             android:layout_width="match_parent"
             android:layout_height="wrap_content"
-            android:orientation="horizontal"
             android:layout_marginBottom="4sp"
             android:layout_marginTop="4sp"
+            android:orientation="horizontal"
             android:weightSum="10">
 
             <EditText
                 android:id="@+id/etAddress"
+                style="@style/MoneroEdit"
                 android:layout_width="0sp"
                 android:layout_height="wrap_content"
                 android:layout_weight="8"
                 android:hint="@string/send_address_hint"
                 android:imeOptions="actionNext"
                 android:inputType="textMultiLine"
-                android:textAlignment="center"
-                android:textSize="16sp" />
+                android:textAlignment="center" />
 
             <Button
                 android:id="@+id/bScan"
+                style="@style/MoneroButton.Small"
                 android:layout_width="0sp"
                 android:layout_height="wrap_content"
                 android:layout_gravity="center"
-                android:minHeight="36sp"
                 android:layout_weight="2"
-                android:background="@color/colorPrimary"
                 android:enabled="true"
-                android:text="@string/send_qr_hint"
-                android:textSize="12sp" />
+                android:minHeight="36sp"
+                android:text="@string/send_qr_hint" />
         </LinearLayout>
 
         <LinearLayout
             android:layout_width="match_parent"
             android:layout_height="wrap_content"
-            android:orientation="horizontal"
             android:layout_marginBottom="4sp"
             android:layout_marginTop="4sp"
+            android:orientation="horizontal"
             android:weightSum="10">
 
             <EditText
                 android:id="@+id/etPaymentId"
+                style="@style/MoneroEdit"
                 android:layout_width="0sp"
                 android:layout_height="wrap_content"
                 android:layout_weight="8"
                 android:hint="@string/send_paymentid_hint"
                 android:imeOptions="actionNext"
                 android:inputType="textMultiLine"
-                android:textAlignment="center"
-                android:textSize="16sp" />
+                android:textAlignment="center" />
 
             <Button
                 android:id="@+id/bPaymentId"
+                style="@style/MoneroButton.Small"
                 android:layout_width="0sp"
                 android:layout_height="wrap_content"
                 android:layout_gravity="center"
-                android:minHeight="36sp"
                 android:layout_weight="2"
-                android:background="@color/colorPrimary"
                 android:enabled="true"
-                android:text="@string/send_generate_paymentid_hint"
-                android:textSize="12sp" />
+                android:minHeight="36sp"
+                android:text="@string/send_generate_paymentid_hint" />
         </LinearLayout>
 
         <LinearLayout
             android:layout_width="match_parent"
             android:layout_height="wrap_content"
-            android:orientation="horizontal"
             android:layout_marginBottom="4sp"
             android:layout_marginTop="4sp"
+            android:orientation="horizontal"
             android:weightSum="10">
 
             <EditText
                 android:id="@+id/etAmount"
+                style="@style/MoneroEdit"
                 android:layout_width="0sp"
                 android:layout_height="wrap_content"
                 android:layout_weight="8"
                 android:hint="@string/send_amount_hint"
                 android:imeOptions="actionDone"
                 android:inputType="numberDecimal"
-                android:textAlignment="center"
-                android:textSize="16sp" />
+                android:textAlignment="center" />
 
             <Button
                 android:id="@+id/bSweep"
+                style="@style/MoneroButton"
                 android:layout_width="0sp"
                 android:layout_height="match_parent"
                 android:layout_weight="2"
-                android:background="@color/colorPrimary"
                 android:enabled="true"
                 android:text="@string/send_sweep_hint"
                 android:visibility="invisible" />
@@ -128,18 +129,18 @@
 
         <Button
             android:id="@+id/bPrepareSend"
+            style="@style/MoneroButton"
             android:layout_width="match_parent"
             android:layout_height="wrap_content"
             android:layout_marginBottom="4sp"
             android:layout_marginTop="4sp"
-            android:minHeight="36sp"
-            android:background="@color/colorPrimary"
             android:enabled="false"
+            android:minHeight="36sp"
             android:text="@string/send_prepare_hint" />
 
         <ProgressBar
             android:id="@+id/pbProgress"
-            style="@android:style/Widget.ProgressBar.Horizontal"
+            style="@style/MoneroProgress"
             android:layout_width="match_parent"
             android:layout_height="wrap_content"
             android:visibility="gone" />
@@ -148,18 +149,18 @@
             android:id="@+id/llConfirmSend"
             android:layout_width="match_parent"
             android:layout_height="wrap_content"
-            android:orientation="vertical"
             android:layout_marginBottom="4sp"
             android:layout_marginTop="4sp"
+            android:orientation="vertical"
             android:visibility="gone">
 
             <Button
                 android:id="@+id/bDispose"
+                style="@style/MoneroButton"
                 android:layout_width="match_parent"
                 android:layout_height="wrap_content"
-                android:minHeight="36sp"
                 android:layout_marginBottom="4sp"
-                android:background="@color/colorPrimary"
+                android:minHeight="36sp"
                 android:text="@string/send_dispose_hint" />
 
             <LinearLayout
@@ -170,23 +171,22 @@
 
                 <TextView
                     android:id="@+id/tvTxAmountLabel"
+                    style="@style/MoneroLabel"
                     android:layout_width="0sp"
                     android:layout_height="wrap_content"
                     android:layout_marginRight="8sp"
                     android:layout_weight="1"
                     android:text="@string/send_amount_label"
-                    android:textAlignment="textEnd"
-                    android:textColor="@color/colorAccent"
-                    android:textSize="20sp" />
+                    android:textAlignment="textEnd" />
 
                 <TextView
                     android:id="@+id/tvTxAmount"
+                    style="@style/MoneroText"
                     android:layout_width="0sp"
                     android:layout_height="wrap_content"
                     android:layout_marginLeft="8sp"
                     android:layout_weight="2"
-                    android:textAlignment="textEnd"
-                    android:textSize="20sp" />
+                    android:textAlignment="textEnd" />
             </LinearLayout>
 
             <LinearLayout
@@ -197,23 +197,22 @@
 
                 <TextView
                     android:id="@+id/tvTxFeeLabel"
+                    style="@style/MoneroLabel"
                     android:layout_width="0sp"
                     android:layout_height="wrap_content"
                     android:layout_marginRight="4sp"
                     android:layout_weight="1"
                     android:text="@string/send_fee_label"
-                    android:textAlignment="textEnd"
-                    android:textColor="@color/colorAccent"
-                    android:textSize="20sp" />
+                    android:textAlignment="textEnd" />
 
                 <TextView
                     android:id="@+id/tvTxFee"
+                    style="@style/MoneroText"
                     android:layout_width="0sp"
                     android:layout_height="wrap_content"
                     android:layout_marginLeft="8sp"
                     android:layout_weight="2"
-                    android:textAlignment="textEnd"
-                    android:textSize="20sp" />
+                    android:textAlignment="textEnd" />
             </LinearLayout>
 
             <LinearLayout
@@ -224,53 +223,52 @@
 
                 <TextView
                     android:id="@+id/tvTxDustLabel"
+                    style="@style/MoneroLabel"
                     android:layout_width="0sp"
                     android:layout_height="wrap_content"
                     android:layout_marginRight="8sp"
                     android:layout_weight="1"
                     android:text="@string/send_dust_label"
-                    android:textAlignment="textEnd"
-                    android:textColor="@color/colorAccent"
-                    android:textSize="20sp" />
+                    android:textAlignment="textEnd" />
 
                 <TextView
                     android:id="@+id/tvTxDust"
+                    style="@style/MoneroText"
                     android:layout_width="0sp"
                     android:layout_height="wrap_content"
                     android:layout_marginLeft="8sp"
                     android:layout_weight="2"
-                    android:textAlignment="textEnd"
-                    android:textSize="20sp" />
+                    android:textAlignment="textEnd" />
             </LinearLayout>
 
             <EditText
                 android:id="@+id/etNotes"
+                style="@style/MoneroEdit"
                 android:layout_width="match_parent"
                 android:layout_height="wrap_content"
                 android:layout_marginTop="4sp"
                 android:hint="@string/send_notes_hint"
                 android:imeOptions="actionDone"
                 android:inputType="textMultiLine"
-                android:textAlignment="center"
-                android:textSize="16sp" />
+                android:textAlignment="center" />
 
             <Button
                 android:id="@+id/bSend"
+                style="@style/MoneroButton"
                 android:layout_width="match_parent"
                 android:layout_height="wrap_content"
                 android:layout_marginBottom="4sp"
                 android:layout_marginTop="4sp"
                 android:minHeight="36sp"
-                android:background="@color/colorPrimary"
                 android:text="@string/send_send_hint" />
 
             <Button
                 android:id="@+id/bReallySend"
+                style="@style/MoneroButton.Alert"
                 android:layout_width="match_parent"
                 android:layout_height="wrap_content"
                 android:layout_marginBottom="4sp"
                 android:layout_marginTop="4sp"
-                android:background="@color/moneroOrange"
                 android:text="@string/send_really_send_hint"
                 android:visibility="gone" />
         </LinearLayout>
diff --git a/app/src/main/res/layout/toolbar.xml b/app/src/main/res/layout/toolbar.xml
new file mode 100644
index 00000000..12c9e089
--- /dev/null
+++ b/app/src/main/res/layout/toolbar.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="utf-8"?>
+<android.support.v7.widget.Toolbar xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:local="http://schemas.android.com/apk/res-auto"
+    android:id="@+id/toolbar"
+    android:layout_width="match_parent"
+    android:layout_height="wrap_content"
+    android:background="?attr/colorPrimary"
+    android:minHeight="?attr/actionBarSize"
+    local:popupTheme="@style/ThemeOverlay.AppCompat.Light"
+    local:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar" />
\ No newline at end of file
diff --git a/app/src/main/res/layout/transaction_item.xml b/app/src/main/res/layout/transaction_item.xml
index a404fc3b..5368b7d2 100644
--- a/app/src/main/res/layout/transaction_item.xml
+++ b/app/src/main/res/layout/transaction_item.xml
@@ -1,80 +1,70 @@
 <?xml version="1.0" encoding="utf-8"?>
 
 <android.support.v7.widget.CardView 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:id="@+id/card"
     android:layout_width="match_parent"
-    android:layout_height="wrap_content"
-    android:layout_margin="1sp"
-    app:cardBackgroundColor="@color/main_background">
+    android:layout_height="wrap_content">
 
-    <android.support.constraint.ConstraintLayout
+    <LinearLayout
         android:layout_width="match_parent"
         android:layout_height="wrap_content"
-        android:layout_marginBottom="8sp"
-        android:layout_marginTop="8sp"
-        tools:layout_editor_absoluteX="0sp"
-        tools:layout_editor_absoluteY="0sp">
+        android:background="@color/moneroBlack"
+        android:orientation="vertical"
+        android:padding="8dp">
 
-        <TextView
-            android:id="@+id/tx_amount"
-            android:layout_width="60sp"
+        <LinearLayout
+            android:layout_width="match_parent"
             android:layout_height="wrap_content"
-            android:gravity="end"
-            android:textSize="14sp"
-            android:textStyle="bold"
-            android:text="9999999"
-            android:textColor="@android:color/holo_red_light"
-            app:layout_constraintBottom_toBottomOf="parent"
-            app:layout_constraintLeft_toLeftOf="parent"
-            app:layout_constraintTop_toTopOf="parent" />
+            android:orientation="horizontal"
+            android:weightSum="2">
 
-        <TextView
-            android:id="@+id/tx_amount_point"
-            android:layout_width="wrap_content"
+            <TextView
+                android:id="@+id/tx_amount"
+                android:layout_width="0dp"
+                android:layout_height="wrap_content"
+                android:layout_weight="1"
+                android:gravity="right"
+                android:text="9999999.99999"
+                android:textColor="@color/moneroOrange"
+                android:textSize="20dp" />
+
+            <TextView
+                android:id="@+id/tx_datetime"
+                android:layout_width="0dp"
+                android:layout_height="wrap_content"
+                android:layout_weight="1"
+                android:gravity="right"
+                android:text="2017-05-22 21:32"
+                android:textColor="@color/textColorPrimary"
+                android:textSize="20dp" />
+        </LinearLayout>
+
+        <LinearLayout
+            android:layout_width="match_parent"
             android:layout_height="wrap_content"
-            android:textSize="14sp"
-            android:textStyle="bold"
-            android:text="."
-            android:textColor="@android:color/holo_red_light"
-            app:layout_constraintBaseline_toBaselineOf="@+id/tx_amount"
-            app:layout_constraintLeft_toRightOf="@+id/tx_amount"
-            app:layout_constraintTop_toTopOf="parent" />
+            android:orientation="horizontal"
+            android:weightSum="2">
 
-        <TextView
-            android:id="@+id/tx_amount_decimal"
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:textSize="14sp"
-            android:text="99999"
-            android:textColor="@android:color/holo_red_light"
-            app:layout_constraintBaseline_toBaselineOf="@+id/tx_amount"
-            app:layout_constraintLeft_toRightOf="@+id/tx_amount_point"
-            app:layout_constraintTop_toTopOf="parent" />
+            <TextView
+                android:id="@+id/tx_fee"
+                android:layout_width="0dp"
+                android:layout_height="wrap_content"
+                android:layout_weight="1"
+                android:gravity="right"
+                android:text="9999999.99999"
+                android:textColor="@color/moneroOrange"
+                android:textSize="16dp" />
 
-        <TextView
-            android:id="@+id/tx_paymentid"
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:layout_marginRight="8sp"
-            android:textSize="13sp"
-            android:text="0123456789abcdef"
-            app:layout_constraintBaseline_toBaselineOf="@+id/tx_amount"
-            app:layout_constraintRight_toLeftOf="@+id/tx_datetime"
-            app:layout_constraintTop_toTopOf="parent" />
-
-        <TextView
-            android:id="@+id/tx_datetime"
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:textSize="14sp"
-            android:text="2017-05-22 21:32"
-            android:textColor="@android:color/black"
-            app:layout_constraintBaseline_toBaselineOf="@+id/tx_amount"
-            app:layout_constraintRight_toLeftOf="parent"
-            app:layout_constraintTop_toTopOf="parent" />
-
-    </android.support.constraint.ConstraintLayout>
+            <TextView
+                android:id="@+id/tx_paymentid"
+                android:layout_width="0dp"
+                android:layout_height="wrap_content"
+                android:layout_weight="1"
+                android:gravity="right"
+                android:text="0123456789abcdef"
+                android:textColor="@color/textColorPrimary"
+                android:textSize="16dp" />
+        </LinearLayout>
 
+    </LinearLayout>
 </android.support.v7.widget.CardView>
diff --git a/app/src/main/res/layout/tx_fragment.xml b/app/src/main/res/layout/tx_fragment.xml
index 24fc1b34..e6aa4adb 100644
--- a/app/src/main/res/layout/tx_fragment.xml
+++ b/app/src/main/res/layout/tx_fragment.xml
@@ -17,15 +17,17 @@
             <TableRow>
 
                 <TextView
+                    style="@style/MoneroLabel"
                     android:gravity="right"
-                    android:padding="8dp"
+                    android:padding="8sp"
                     android:text="@string/tx_id"
                     android:textColor="@color/colorAccent" />
 
                 <TextView
                     android:id="@+id/tvTxId"
+                    style="@style/MoneroText"
                     android:gravity="left"
-                    android:padding="8dip"
+                    android:padding="8sp"
                     android:selectAllOnFocus="true"
                     android:textIsSelectable="true" />
             </TableRow>
@@ -33,15 +35,17 @@
             <TableRow>
 
                 <TextView
+                    style="@style/MoneroLabel"
                     android:gravity="right"
-                    android:padding="8dp"
+                    android:padding="8sp"
                     android:text="@string/tx_key"
                     android:textColor="@color/colorAccent" />
 
                 <TextView
                     android:id="@+id/tvTxKey"
+                    style="@style/MoneroText"
                     android:gravity="left"
-                    android:padding="8dip"
+                    android:padding="8sp"
                     android:selectAllOnFocus="true"
                     android:textIsSelectable="true" />
             </TableRow>
@@ -49,15 +53,17 @@
             <TableRow>
 
                 <TextView
+                    style="@style/MoneroLabel"
                     android:gravity="right"
-                    android:padding="8dp"
+                    android:padding="8sp"
                     android:text="@string/tx_destination"
                     android:textColor="@color/colorAccent" />
 
                 <TextView
                     android:id="@+id/tvDestination"
+                    style="@style/MoneroText"
                     android:gravity="left"
-                    android:padding="8dip"
+                    android:padding="8sp"
                     android:selectAllOnFocus="true"
                     android:textIsSelectable="true" />
             </TableRow>
@@ -65,15 +71,17 @@
             <TableRow>
 
                 <TextView
+                    style="@style/MoneroLabel"
                     android:gravity="right"
-                    android:padding="8dp"
+                    android:padding="8sp"
                     android:text="@string/tx_paymentId"
                     android:textColor="@color/colorAccent" />
 
                 <TextView
                     android:id="@+id/tvTxPaymentId"
+                    style="@style/MoneroText"
                     android:gravity="left"
-                    android:padding="8dip"
+                    android:padding="8sp"
                     android:selectAllOnFocus="true"
                     android:textIsSelectable="true" />
             </TableRow>
@@ -81,8 +89,9 @@
             <TableRow>
 
                 <TextView
+                    style="@style/MoneroLabel"
                     android:gravity="right"
-                    android:padding="8dp"
+                    android:padding="8sp"
                     android:selectAllOnFocus="true"
                     android:text="@string/tx_amount"
                     android:textColor="@color/colorAccent"
@@ -90,8 +99,9 @@
 
                 <TextView
                     android:id="@+id/tvTxAmount"
+                    style="@style/MoneroText"
                     android:gravity="left"
-                    android:padding="8dip"
+                    android:padding="8sp"
                     android:selectAllOnFocus="true"
                     android:textIsSelectable="true" />
             </TableRow>
@@ -99,15 +109,17 @@
             <TableRow>
 
                 <TextView
+                    style="@style/MoneroLabel"
                     android:gravity="right"
-                    android:padding="8dp"
+                    android:padding="8sp"
                     android:text="@string/tx_fee"
                     android:textColor="@color/colorAccent" />
 
                 <TextView
                     android:id="@+id/tvTxFee"
+                    style="@style/MoneroText"
                     android:gravity="left"
-                    android:padding="8dip"
+                    android:padding="8sp"
                     android:selectAllOnFocus="true"
                     android:textIsSelectable="true" />
             </TableRow>
@@ -115,8 +127,9 @@
             <TableRow>
 
                 <TextView
+                    style="@style/MoneroLabel"
                     android:gravity="right"
-                    android:padding="8dp"
+                    android:padding="8sp"
                     android:text="@string/tx_notes"
                     android:textColor="@color/colorAccent" />
 
@@ -129,25 +142,24 @@
 
                     <EditText
                         android:id="@+id/etTxNotes"
-                        android:layout_width="0dp"
+                        style="@style/MoneroEdit"
+                        android:layout_width="0sp"
                         android:layout_height="wrap_content"
                         android:layout_weight="8"
                         android:hint="@string/tx_notes_hint"
                         android:inputType="textMultiLine"
-                        android:textAlignment="textStart"
-                        android:textSize="14sp" />
+                        android:textAlignment="textStart"/>
 
                     <Button
                         android:id="@+id/bTxNotes"
-                        android:layout_width="0dp"
+                        style="@style/MoneroButton.Small"
+                        android:layout_width="0sp"
                         android:layout_height="match_parent"
-                        android:layout_marginBottom="8dp"
-                        android:layout_marginTop="8dp"
+                        android:layout_marginBottom="8sp"
+                        android:layout_marginTop="8sp"
                         android:layout_weight="2"
-                        android:background="@color/colorPrimary"
                         android:enabled="true"
-                        android:text="@string/tx_button_notes"
-                        android:textSize="8sp" />
+                        android:text="@string/tx_button_notes"/>
                 </LinearLayout>
 
             </TableRow>
@@ -155,15 +167,17 @@
             <TableRow>
 
                 <TextView
+                    style="@style/MoneroLabel"
                     android:gravity="right"
-                    android:padding="8dp"
+                    android:padding="8sp"
                     android:text="@string/tx_timestamp"
                     android:textColor="@color/colorAccent" />
 
                 <TextView
                     android:id="@+id/tvTxTimestamp"
+                    style="@style/MoneroText"
                     android:gravity="left"
-                    android:padding="8dip"
+                    android:padding="8sp"
                     android:selectAllOnFocus="true"
                     android:textIsSelectable="true" />
             </TableRow>
@@ -172,15 +186,17 @@
             <TableRow>
 
                 <TextView
+                    style="@style/MoneroLabel"
                     android:gravity="right"
-                    android:padding="8dp"
+                    android:padding="8sp"
                     android:text="@string/tx_blockheight"
                     android:textColor="@color/colorAccent" />
 
                 <TextView
                     android:id="@+id/tvTxBlockheight"
+                    style="@style/MoneroText"
                     android:gravity="left"
-                    android:padding="8dip"
+                    android:padding="8sp"
                     android:selectAllOnFocus="true"
                     android:textIsSelectable="true" />
             </TableRow>
@@ -188,15 +204,17 @@
             <TableRow>
 
                 <TextView
+                    style="@style/MoneroLabel"
                     android:gravity="right"
-                    android:padding="8dp"
+                    android:padding="8sp"
                     android:text="@string/tx_transfers"
                     android:textColor="@color/colorAccent" />
 
                 <TextView
                     android:id="@+id/tvTxTransfers"
+                    style="@style/MoneroText"
                     android:gravity="left"
-                    android:padding="8dip"
+                    android:padding="8sp"
                     android:selectAllOnFocus="true"
                     android:textIsSelectable="true" />
 
@@ -206,10 +224,10 @@
 
         <Button
             android:id="@+id/bCopy"
+            style="@style/MoneroButton"
             android:layout_width="match_parent"
             android:layout_height="wrap_content"
-            android:layout_marginTop="8dp"
-            android:background="@color/colorPrimary"
+            android:layout_marginTop="8sp"
             android:enabled="false"
             android:text="@string/tx_button_copy" />
 
diff --git a/app/src/main/res/layout/wallet_activity.xml b/app/src/main/res/layout/wallet_activity.xml
index 48d797bf..73508667 100644
--- a/app/src/main/res/layout/wallet_activity.xml
+++ b/app/src/main/res/layout/wallet_activity.xml
@@ -3,18 +3,15 @@
     android:layout_width="match_parent"
     android:layout_height="match_parent"
     android:gravity="center_horizontal"
+    android:background="@color/moneroBlack"
     android:orientation="vertical">
 
-    <android.support.v7.widget.Toolbar
+    <include
         android:id="@+id/toolbar"
-        android:layout_width="match_parent"
-        android:layout_height="?attr/actionBarSize"
-        android:background="?attr/colorPrimary"
-        android:elevation="4dp" />
+        layout="@layout/toolbar" />
 
     <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
         android:id="@+id/fragment_container"
-        android:layout_margin="4sp"
         android:layout_width="match_parent"
         android:layout_height="match_parent" />
 
diff --git a/app/src/main/res/layout/wallet_fragment.xml b/app/src/main/res/layout/wallet_fragment.xml
index 190cd2a4..067ea789 100644
--- a/app/src/main/res/layout/wallet_fragment.xml
+++ b/app/src/main/res/layout/wallet_fragment.xml
@@ -1,121 +1,79 @@
 <?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:background="@color/moneroBlack"
     android:orientation="vertical">
 
-    <android.support.constraint.ConstraintLayout xmlns:app="http://schemas.android.com/apk/res-auto"
-        xmlns:tools="http://schemas.android.com/tools"
+    <LinearLayout
         android:layout_width="match_parent"
         android:layout_height="wrap_content"
-        android:layout_marginBottom="4sp"
-        android:layout_marginLeft="4sp"
-        android:layout_marginRight="4sp">
-
-        <TextView
-            android:id="@+id/tvBlockHeightProgress"
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:text="Loading..."
-            android:textSize="12sp"
-            app:layout_constraintRight_toRightOf="parent"
-            app:layout_constraintTop_toTopOf="parent" />
+        android:background="@color/moneroOrange"
+        android:orientation="vertical"
+        android:paddingBottom="8sp">
 
         <android.support.constraint.ConstraintLayout xmlns:app="http://schemas.android.com/apk/res-auto"
             xmlns:tools="http://schemas.android.com/tools"
             android:id="@+id/clProgress"
-            android:layout_width="0dp"
+            android:layout_width="match_parent"
             android:layout_height="wrap_content"
             android:visibility="gone"
-            app:layout_constraintTop_toTopOf="parent"
-            app:layout_constraintLeft_toLeftOf="parent"
-            app:layout_constraintRight_toRightOf="parent">
+            app:layout_constraintTop_toTopOf="parent">
 
             <ProgressBar
                 android:id="@+id/pbProgress"
-                style="@android:style/Widget.ProgressBar.Horizontal"
-                android:layout_width="0dp"
+                style="@style/MoneroProgress"
+                android:layout_width="0sp"
                 android:layout_height="wrap_content"
+                android:layout_marginLeft="8dp"
+                android:layout_marginRight="8dp"
                 android:progress="0"
-                app:layout_constraintBottom_toBottomOf="parent"
+                app:layout_constraintBottom_toBottomOf="@+id/tvProgress"
                 app:layout_constraintLeft_toLeftOf="parent"
-                app:layout_constraintRight_toRightOf="parent" />
+                app:layout_constraintRight_toRightOf="parent"
+                app:layout_constraintTop_toTopOf="@+id/tvProgress" />
 
             <TextView
                 android:id="@+id/tvProgress"
-                android:layout_width="wrap_content"
+                android:layout_width="0dp"
                 android:layout_height="wrap_content"
+                android:gravity="center"
                 android:text="Loading..."
+                android:textColor="@color/moneroWhite"
                 android:textSize="16sp"
-                android:textColor="@color/white"
-                app:layout_constraintBottom_toBottomOf="parent"
                 app:layout_constraintLeft_toLeftOf="parent"
                 app:layout_constraintRight_toRightOf="parent" />
         </android.support.constraint.ConstraintLayout>
 
-        <LinearLayout
-            android:id="@+id/llBalance"
-            android:layout_width="wrap_content"
+        <TextView
+            android:id="@+id/tvBlockHeightProgress"
+            android:layout_width="match_parent"
             android:layout_height="wrap_content"
-            android:layout_marginTop="4dp"
-            android:orientation="horizontal"
-            app:layout_constraintLeft_toLeftOf="parent"
-            app:layout_constraintRight_toRightOf="parent"
-            app:layout_constraintTop_toBottomOf="@+id/tvBlockHeightProgress">
+            android:gravity="right"
+            android:text="Loading..."
+            android:textSize="12sp"
+            android:visibility="gone" />
 
-            <TextView
-                android:id="@+id/tvBalance"
-                android:layout_width="wrap_content"
-                android:layout_height="wrap_content"
-                android:text="00000000.000000000000"
-                android:textColor="@color/tx_green"
-                android:textSize="24sp" />
-
-            <TextView
-                android:layout_width="wrap_content"
-                android:layout_height="wrap_content"
-                android:layout_marginStart="4sp"
-                android:text="@string/label_xmr"
-                android:textColor="@color/tx_green"
-                android:textSize="24sp" />
-        </LinearLayout>
-
-        <LinearLayout
-            android:id="@+id/llUnconfirmedAmount"
-            android:layout_width="wrap_content"
+        <TextView
+            android:id="@+id/tvBalance"
+            android:layout_width="match_parent"
             android:layout_height="wrap_content"
-            android:orientation="horizontal"
-            android:visibility="visible"
-            app:layout_constraintLeft_toLeftOf="parent"
-            app:layout_constraintRight_toRightOf="parent"
-            app:layout_constraintTop_toBottomOf="@+id/llBalance">
+            android:gravity="center"
+            android:text="00000000.000000000000 XMR"
+            android:textColor="@color/tx_green"
+            android:textSize="24sp" />
 
-            <TextView
-                android:layout_width="wrap_content"
-                android:layout_height="wrap_content"
-                android:layout_marginEnd="4sp"
-                android:textColor="@color/tx_pending"
-                android:text="+"
-                android:textSize="16sp" />
-
-            <TextView
-                android:id="@+id/tvUnconfirmedAmount"
-                android:layout_width="wrap_content"
-                android:layout_height="wrap_content"
-                android:text="00000000.000000000000"
-                android:textColor="@color/tx_pending"
-                android:textSize="16sp" />
-
-            <TextView
-                android:layout_width="wrap_content"
-                android:layout_height="wrap_content"
-                android:layout_marginStart="4sp"
-                android:text="@string/label_unconfirmed_alance"
-                android:textColor="@color/tx_pending"
-                android:textSize="16sp" />
-        </LinearLayout>
-    </android.support.constraint.ConstraintLayout>
+        <TextView
+            android:id="@+id/tvUnconfirmedAmount"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:gravity="center"
+            android:text="+00000000.000000000000 unconfirmed"
+            android:textColor="@color/tx_pending"
+            android:textSize="16sp" />
+    </LinearLayout>
 
     <android.support.constraint.ConstraintLayout xmlns:app="http://schemas.android.com/apk/res-auto"
         xmlns:tools="http://schemas.android.com/tools"
@@ -136,9 +94,9 @@
 
         <Button
             android:id="@+id/bSend"
+            style="@style/MoneroButton"
             android:layout_width="0dp"
             android:layout_height="wrap_content"
-            android:background="@color/colorPrimary"
             android:enabled="true"
             android:text="@string/wallet_send_hint"
             android:visibility="gone"
diff --git a/app/src/main/res/values/attrs_my_view.xml b/app/src/main/res/values/attrs_my_view.xml
deleted file mode 100644
index 38a8727b..00000000
--- a/app/src/main/res/values/attrs_my_view.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<resources>
-    <declare-styleable name="MyView">
-        <attr name="exampleString" format="string" />
-        <attr name="exampleDimension" format="dimension" />
-        <attr name="exampleColor" format="color" />
-        <attr name="exampleDrawable" format="color|reference" />
-    </declare-styleable>
-</resources>
diff --git a/app/src/main/res/values/colors.xml b/app/src/main/res/values/colors.xml
index 45b9c151..c13b8a35 100644
--- a/app/src/main/res/values/colors.xml
+++ b/app/src/main/res/values/colors.xml
@@ -1,18 +1,21 @@
 <?xml version="1.0" encoding="utf-8"?>
 <resources>
-    <color name="colorPrimary">#3F51B5</color>
-    <color name="colorPrimaryDark">#303F9F</color>
-    <color name="colorAccent">#FF4081</color>
+    <color name="tx_green">#5C8447</color>
+    <color name="tx_red">#AC2527</color>
+    <color name="tx_pending">#4c4c4c</color>
+    <color name="tx_failed">#FF80AB</color>
 
-    <color name="main_background">#f0eeef</color>
-    <color name="menu_background_color">#1c1c1c</color>
+    <color name="moneroOrange">#ff6600</color>
+    <color name="moneroWhite">#ffffff</color>
+    <color name="moneroBlack">#000000</color>
+    <color name="moneroGray">#4c4c4c</color>
 
-    <color name="tx_green">#36b05b</color>
-    <color name="tx_red">#ff4f41</color>
-    <color name="tx_pending">#4835b0</color>
-    <color name="tx_failed">#d000ff</color>
-
-    <color name="moneroOrange">#fa6600</color>
-    <color name="white">#ffffff</color>
+    <color name="colorPrimary">#ff6600</color>
+    <color name="colorPrimaryDark">#61221A</color>
+    <color name="textColorPrimary">#dcdcdc</color>
+    <color name="windowBackground">#ffffff</color>
+    <color name="navigationBarColor">#2B4868</color>
+    <color name="colorAccent">#009ADA</color>
 
+    <color name="anotherColor">#F8CC5A</color>
 </resources>
diff --git a/app/src/main/res/values/dimens.xml b/app/src/main/res/values/dimens.xml
index 46c1ed25..bf080f4e 100644
--- a/app/src/main/res/values/dimens.xml
+++ b/app/src/main/res/values/dimens.xml
@@ -1,6 +1,6 @@
 <resources>
     <!-- Default screen margins, per the Android Design guidelines. -->
-    <dimen name="activity_horizontal_margin">8dp</dimen>
-    <dimen name="activity_vertical_margin">8dp</dimen>
-    <!--dimen name="text_margin">16dp</dimen-->
+    <dimen name="activity_horizontal_margin">16dp</dimen>
+    <dimen name="activity_vertical_margin">16dp</dimen>
+    <dimen name="nav_drawer_width">260dp</dimen>
 </resources>
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 64aafbfb..043d5c79 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -41,9 +41,9 @@
 
     <string name="service_busy">I am still busy with your last wallet &#8230;</string>
 
-    <string name="prompt_rename">Rename</string>
+    <string name="prompt_rename">Rename %1$s</string>
 
-    <string name="prompt_password">Password for</string>
+    <string name="prompt_password">Password for %1$s</string>
     <string name="bad_password">Incorrect password!</string>
     <string name="bad_wallet">Wallet does not exist!</string>
     <string name="error_not_wallet">This is not a wallet!</string>
@@ -58,10 +58,8 @@
 
     <string name="title_amount">Amount</string>
     <string name="title_date">Date</string>
-    <string name="label_balance">Unconfirmed</string>
-    <string name="label_unconfirmed_alance">unconfirmed</string>
-    <string name="label_xmr">XMR</string>
-    <string name="label_unlockedBalance">Available</string>
+    <string name="xmr_unconfirmed_amount">+ %1$s unconfirmed</string>
+    <string name="xmr_balance">%1$s XMR</string>
     <string name="label_transactions">Transactions</string>
     <string name="text_daemonConnected">Daemon connected!</string>
 
@@ -147,7 +145,12 @@
     <string name="send_fee_label">Fee</string>
     <string name="send_dust_label">Dust</string>
 
-    <string name="send_error_title">Trasaction Error</string>
+    <string name="send_error_title">Transaction Error</string>
+
+    <string name="tx_list_fee_pending">incl. %1$s fee</string>
+    <string name="tx_list_fee">+ %1$s fee</string>
+    <string name="tx_list_amount_failed">(%1$s)</string>
+    <string name="tx_list_amount_negative">-%1$s</string>
 
     <string name="tx_address">Address</string>
     <string name="tx_timestamp">Timestamp</string>
diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml
index e06db83d..9b99ba40 100644
--- a/app/src/main/res/values/styles.xml
+++ b/app/src/main/res/values/styles.xml
@@ -1,11 +1,60 @@
 <resources>
 
-    <!-- Base application theme. -->
-    <style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
+    <style name="MyMaterialTheme" parent="MyMaterialTheme.Base" />
+
+    <style name="MyMaterialTheme.Base" parent="Theme.AppCompat">
+        <item name="windowNoTitle">true</item>
         <item name="windowActionBar">false</item>
-        <item name="colorPrimary">@color/colorPrimary</item>
+
         <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
+        <item name="colorPrimary">@color/colorPrimary</item>
         <item name="colorAccent">@color/colorAccent</item>
     </style>
 
+    <style name="MoneroLabel" parent="@android:style/TextAppearance.DeviceDefault.Medium">
+        <item name="android:textColor">?colorAccent</item>
+    </style>
+
+    <style name="MoneroText" parent="@android:style/TextAppearance.DeviceDefault.Medium">
+        <item name="android:textColor">?colorPrimary</item>
+        <item name="android:textColorHint">?colorPrimaryDark</item>
+    </style>
+
+    <style name="MoneroButton" parent="@style/Widget.AppCompat.Button">
+        <item name="android:textColor">@color/text_color</item>
+        <item name="android:background">?colorPrimary</item>
+        <item name="android:textAppearance">@style/MoneroLabel</item>
+        <item name="android:textAllCaps">true</item>
+    </style>
+
+    <style name="MoneroButton.Small">
+        <item name="android:textSize">11sp</item>
+    </style>
+
+    <style name="MoneroButton.Alert">
+        <item name="android:textColor">@color/moneroBlack</item>
+        <item name="android:background">@color/moneroOrange</item>
+    </style>
+
+    <style name="MoneroEdit" parent="MoneroText">
+        <item name="android:textColor">?colorPrimary</item>
+        <item name="android:textColorHint">?colorPrimaryDark</item>
+        <item name="android:backgroundTint">?colorPrimary</item>
+        <item name="android:foregroundTint">@color/moneroWhite</item>
+    </style>
+
+    <style name="MoneroProgress" parent="@android:style/Widget.ProgressBar.Horizontal">
+        <item name="android:progressTint">?colorPrimaryDark</item>
+        <item name="android:progressBackgroundTint">?colorPrimary</item>
+    </style>
+
+    <style name="MoneroSpinner" parent="@style/Widget.AppCompat.Spinner">
+        <!--item name="android:backgroundTint">@color/moneroWhite</item-->
+    </style>
+
+    <style name="MoneroListView" parent="@android:style/Widget.ListView">
+        <item name="android:divider">@null</item>
+        <item name="android:dividerHeight">0dp</item>
+    </style>
+
 </resources>