diff --git a/include/RegisterPage.h b/include/RegisterPage.h
index 26d9f2c0e1c9688e82244d52810aefcb69d8d2ae..2d1d954b14f02104a3d4f52949e7edee92f970dd 100644
--- a/include/RegisterPage.h
+++ b/include/RegisterPage.h
@@ -21,7 +21,6 @@
 #include <QLayout>
 #include <QSharedPointer>
 
-class Avatar;
 class FlatButton;
 class MatrixClient;
 class RaisedButton;
@@ -55,7 +54,7 @@ private:
         QHBoxLayout *logo_layout_;
         QHBoxLayout *button_layout_;
 
-        Avatar *logo_;
+        QLabel *logo_;
         QLabel *error_label_;
 
         FlatButton *back_button_;
diff --git a/include/ui/TextField.h b/include/ui/TextField.h
index c215a1f8166b3706d2b60f5ccc9c139e620e2ea0..f66a74514d1c05748dbfccad9be1ee5455a5d765 100644
--- a/include/ui/TextField.h
+++ b/include/ui/TextField.h
@@ -18,6 +18,7 @@ class TextField : public QLineEdit
         Q_PROPERTY(QColor textColor WRITE setTextColor READ textColor)
         Q_PROPERTY(QColor inkColor WRITE setInkColor READ inkColor)
         Q_PROPERTY(QColor underlineColor WRITE setUnderlineColor READ underlineColor)
+        Q_PROPERTY(QColor backgroundColor WRITE setBackgroundColor READ backgroundColor)
 
 public:
         explicit TextField(QWidget *parent = 0);
diff --git a/resources/styles/system.qss b/resources/styles/system.qss
index c81b8652bff39a82c59d99f4ff02127341bce3a3..0683a48de25689ac54f118517b04666d6c2c3620 100644
--- a/resources/styles/system.qss
+++ b/resources/styles/system.qss
@@ -5,41 +5,70 @@ OverlayWidget > * {
 
 #mainContent,
 #mainContent > * {
-    background-color: palette(base);
+    background-color: palette(window);
 }
 
 TimelineView,
 TimelineView > *,
 TimelineItem,
 TimelineItem > * {
-    background-color: palette(base);
+    background-color: palette(window);
 }
 
 FlatButton {
     qproperty-foregroundColor: palette(text);
 }
 
+RaisedButton {
+    qproperty-foregroundColor: palette(light);
+}
+
+TextField {
+    qproperty-backgroundColor: palette(window);
+}
+
+WelcomePage,
+LoginPage,
+RegisterPage {
+    background-color: palette(window);
+}
+
 RoomInfoListItem {
     qproperty-highlightedBackgroundColor: palette(highlight);
-    qproperty-hoverBackgroundColor: palette(dark);
+    qproperty-hoverBackgroundColor: palette(mid);
     qproperty-backgroundColor: palette(window);
 
     qproperty-titleColor: palette(text);
     qproperty-subtitleColor: palette(text);
 
-    qproperty-highlightedTitleColor: palette(text);
-    qproperty-highlightedSubtitleColor: palette(text);
+    qproperty-highlightedTitleColor: palette(light);
+    qproperty-highlightedSubtitleColor: palette(light);
 }
 
 LoadingIndicator {
-    qproperty-color: palette(text);
+    qproperty-color: palette(highlight);
 }
 
 #ChatPageLoadSpinner {
-    qproperty-color: #acc7dc;
+    qproperty-color: palette(light);
 }
 
 UserInfoWidget,
 UserInfoWidget > * {
     background-color: palette(window);
 }
+
+EmojiCategory,
+EmojiCategory > * {
+    background-color: palette(window);
+}
+
+EmojiPanel,
+EmojiPanel > * {
+    background-color: palette(window);
+}
+
+QTextEdit,
+QLineEdit {
+    background-color: palette(window);
+}
diff --git a/src/RegisterPage.cc b/src/RegisterPage.cc
index c03fae4cda3ead0a2aea172c1137e5ee309eebc9..28d0a8a4ddc96ae2d54e42660984e24dab2e6313 100644
--- a/src/RegisterPage.cc
+++ b/src/RegisterPage.cc
@@ -17,7 +17,6 @@
 
 #include <QStyleOption>
 
-#include "Avatar.h"
 #include "Config.h"
 #include "FlatButton.h"
 #include "InputValidator.h"
@@ -51,9 +50,8 @@ RegisterPage::RegisterPage(QSharedPointer<MatrixClient> client, QWidget *parent)
         QIcon logo;
         logo.addFile(":/logos/register.png");
 
-        logo_ = new Avatar(this);
-        logo_->setIcon(logo);
-        logo_->setSize(128);
+        logo_ = new QLabel(this);
+        logo_->setPixmap(logo.pixmap(128));
 
         logo_layout_ = new QHBoxLayout();
         logo_layout_->setMargin(0);
diff --git a/src/WelcomePage.cc b/src/WelcomePage.cc
index 30d8f692d9edd8a37f97429f10bf5406fe2d90a2..b21da92a98fa5868feaa6e54972c7eda7fd7a741 100644
--- a/src/WelcomePage.cc
+++ b/src/WelcomePage.cc
@@ -31,8 +31,8 @@ WelcomePage::WelcomePage(QWidget *parent)
         auto topLayout_ = new QVBoxLayout(this);
         topLayout_->setSpacing(20);
 
-        QFont headingFont("Open Sans", 22);
-        QFont subTitleFont("Open Sans", 21);
+        QFont headingFont("Open Sans", 20);
+        QFont subTitleFont("Open Sans", 19);
 
         QIcon icon;
         icon.addFile(":/logos/splash.png");
diff --git a/src/ui/TextField.cc b/src/ui/TextField.cc
index d80d6466ba0e5f963f633b88896f573d8628b8d7..ff662a11e65b7ed4f801eea6d7e1f5f71d7ece1c 100644
--- a/src/ui/TextField.cc
+++ b/src/ui/TextField.cc
@@ -15,7 +15,7 @@ TextField::TextField(QWidget *parent)
 
         state_machine_    = new TextFieldStateMachine(this);
         label_            = 0;
-        label_font_size_  = 13;
+        label_font_size_  = 15;
         show_label_       = false;
         background_color_ = QColor("white");
 
@@ -25,7 +25,7 @@ TextField::TextField(QWidget *parent)
         setTextMargins(0, 4, 0, 6);
 
         QFont font("Open Sans");
-        font.setPixelSize(12);
+        font.setPixelSize(14);
         setFont(font);
 
         state_machine_->start();
@@ -341,8 +341,8 @@ TextFieldLabel::TextFieldLabel(TextField *parent)
         scale_ = 1;
         color_ = parent->labelColor();
 
-        QFontDatabase db;
-        QFont font(db.font("Open Sans", "Medium", parent->labelFontSize()));
+        QFont font("Open Sans SemiBold");
+        font.setPixelSize(parent->labelFontSize());
         font.setLetterSpacing(QFont::PercentageSpacing, 102);
         setFont(font);
 }