diff --git a/include/LeaveRoomDialog.h b/include/LeaveRoomDialog.h
index 231556dcff3c359b4f698b88ba09b165c398ae91..1a2f003c71d59984dcbfd70e9016a20ef9c3373d 100644
--- a/include/LeaveRoomDialog.h
+++ b/include/LeaveRoomDialog.h
@@ -10,6 +10,9 @@ class LeaveRoomDialog : public QFrame
 public:
         explicit LeaveRoomDialog(QWidget *parent = nullptr);
 
+protected:
+	void paintEvent(QPaintEvent *event) override;
+
 signals:
         void closing(bool isLeaving);
 
diff --git a/include/LoginPage.h b/include/LoginPage.h
index d5f46f76dcc8e341969614cd88cc7c654d74285b..b83a146b70bca63acb0a7669caed6bc4c481a4f2 100644
--- a/include/LoginPage.h
+++ b/include/LoginPage.h
@@ -42,6 +42,9 @@ public:
 signals:
         void backButtonClicked();
 
+protected:
+	void paintEvent(QPaintEvent *event) override;
+
 public slots:
         // Displays errors produced during the login.
         void loginError(QString error_message);
diff --git a/include/LogoutDialog.h b/include/LogoutDialog.h
index e081986eeaafd7aa259c76087dad7443f1da997f..6b698221801afe10c8dda9c9e3dc71af5e0564e4 100644
--- a/include/LogoutDialog.h
+++ b/include/LogoutDialog.h
@@ -27,6 +27,9 @@ class LogoutDialog : public QFrame
 public:
         explicit LogoutDialog(QWidget *parent = nullptr);
 
+protected:
+	void paintEvent(QPaintEvent *event) override;
+
 signals:
         void closing(bool isLoggingOut);
 
diff --git a/include/RegisterPage.h b/include/RegisterPage.h
index e0a3b6d8f3db78370d19f755d38b26c7cbf3224c..34fdf268c7adeaa632160edb28eae78b4e1eb3c1 100644
--- a/include/RegisterPage.h
+++ b/include/RegisterPage.h
@@ -35,6 +35,9 @@ public:
         RegisterPage(QSharedPointer<MatrixClient> client, QWidget *parent = 0);
         ~RegisterPage();
 
+protected:
+	void paintEvent(QPaintEvent *event) override;
+
 signals:
         void backButtonClicked();
 
diff --git a/include/UserSettingsPage.h b/include/UserSettingsPage.h
index d8160cbee987aabafe8b1ae74931b670144eca3a..3d4d9be409077f9859f7548dde7841172d064f5f 100644
--- a/include/UserSettingsPage.h
+++ b/include/UserSettingsPage.h
@@ -65,6 +65,7 @@ public:
 protected:
         void showEvent(QShowEvent *event) override;
         void resizeEvent(QResizeEvent *event) override;
+	void paintEvent(QPaintEvent *event) override;
 
 signals:
         void moveBack();
diff --git a/include/WelcomePage.h b/include/WelcomePage.h
index 73b612a84c3342a0641666da500d8d28d5aeba50..4f6b63a675a89eaca0f334c28fe40088273cb8f4 100644
--- a/include/WelcomePage.h
+++ b/include/WelcomePage.h
@@ -28,6 +28,9 @@ class WelcomePage : public QWidget
 public:
         explicit WelcomePage(QWidget *parent = 0);
 
+protected:
+	void paintEvent(QPaintEvent *event) override;
+
 signals:
         // Notify that the user wants to login in.
         void userLogin();
diff --git a/resources/styles/nheko.qss b/resources/styles/nheko.qss
index caaac6b95b0da30e6e10590873352e06c2f32576..76ff7b5ed905edd7d27934401ec95d1970dc42b8 100644
--- a/resources/styles/nheko.qss
+++ b/resources/styles/nheko.qss
@@ -1,7 +1,3 @@
-* {
-        color: #333;
-}
-
 QLabel {
         color: #333;
 }
@@ -10,8 +6,6 @@ QLabel {
 
 TimelineView, TimelineView > * { background-color: white; }
 
-QMenu, QMenu > * { background-color: white; }
-
 FlatButton { qproperty-foregroundColor: #333; }
 
 RaisedButton { qproperty-foregroundColor: white; }
@@ -42,6 +36,10 @@ UserInfoWidget, UserInfoWidget > * {
         color: #ebebeb;
 }
 
+UserSettingsPage {
+    background-color: white;
+}
+
 Avatar {
         qproperty-textColor: black;
         qproperty-backgroundColor: #eee;
@@ -54,3 +52,28 @@ Avatar {
 #userIdLabel {
         color: #555459;
 }
+
+LogoutDialog {
+    background-color: white;
+    color: #333;
+}
+
+LeaveRoomDialog {
+    background-color: white;
+    color: #333;
+}
+
+WelcomePage {
+    background-color: white;
+    color: #333;
+}
+
+LoginPage {
+    background-color: white;
+    color: #333;
+}
+
+RegisterPage {
+    background-color: white;
+    color: #333;
+}
diff --git a/src/LeaveRoomDialog.cc b/src/LeaveRoomDialog.cc
index cd4a32606e41e56d4fa4ac9412e2652879be811f..a6aedbfee422ea4f608cbfc82ce18127737e9c2a 100644
--- a/src/LeaveRoomDialog.cc
+++ b/src/LeaveRoomDialog.cc
@@ -1,5 +1,6 @@
 #include <QLabel>
 #include <QVBoxLayout>
+#include <QStyleOption>
 
 #include "Config.h"
 #include "FlatButton.h"
@@ -43,3 +44,12 @@ LeaveRoomDialog::LeaveRoomDialog(QWidget *parent)
         connect(confirmBtn_, &QPushButton::clicked, [=]() { emit closing(true); });
         connect(cancelBtn_, &QPushButton::clicked, [=]() { emit closing(false); });
 }
+
+void
+LeaveRoomDialog::paintEvent(QPaintEvent *)
+{
+        QStyleOption opt;
+        opt.init(this);
+        QPainter p(this);
+        style()->drawPrimitive(QStyle::PE_Widget, &opt, &p, this);
+}
diff --git a/src/LoginPage.cc b/src/LoginPage.cc
index 5c766b785a15c9a7d4788e6c89d6a9ced6ce2fa1..c4923c7daadee72b6820a01d3a46bbd783e01b5e 100644
--- a/src/LoginPage.cc
+++ b/src/LoginPage.cc
@@ -15,6 +15,8 @@
  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
  */
 
+#include <QStyleOption>
+
 #include "LoginPage.h"
 #include "Config.h"
 #include "FlatButton.h"
@@ -301,4 +303,13 @@ LoginPage::onBackButtonClicked()
         emit backButtonClicked();
 }
 
+void
+LoginPage::paintEvent(QPaintEvent *)
+{
+        QStyleOption opt;
+        opt.init(this);
+        QPainter p(this);
+        style()->drawPrimitive(QStyle::PE_Widget, &opt, &p, this);
+}
+
 LoginPage::~LoginPage() {}
diff --git a/src/LogoutDialog.cc b/src/LogoutDialog.cc
index c0db1270c20b8173d20b5373c2e285a59fdd0285..8be6e1665a85964c0a67a214be61cf3cd99d59ac 100644
--- a/src/LogoutDialog.cc
+++ b/src/LogoutDialog.cc
@@ -17,6 +17,8 @@
 
 #include <QLabel>
 #include <QVBoxLayout>
+#include <QPaintEvent>
+#include <QStyleOption>
 
 #include "Config.h"
 #include "FlatButton.h"
@@ -27,7 +29,6 @@ LogoutDialog::LogoutDialog(QWidget *parent)
   : QFrame(parent)
 {
         setMaximumSize(400, 400);
-        //        setStyleSheet("background-color: #fff");
 
         auto layout = new QVBoxLayout(this);
         layout->setSpacing(30);
@@ -52,7 +53,6 @@ LogoutDialog::LogoutDialog(QWidget *parent)
 
         auto label = new QLabel(tr("Logout. Are you sure?"), this);
         label->setFont(font);
-        //        label->setStyleSheet("color: #333333");
 
         layout->addWidget(label);
         layout->addLayout(buttonLayout);
@@ -60,3 +60,12 @@ LogoutDialog::LogoutDialog(QWidget *parent)
         connect(confirmBtn_, &QPushButton::clicked, [=]() { emit closing(true); });
         connect(cancelBtn_, &QPushButton::clicked, [=]() { emit closing(false); });
 }
+
+void
+LogoutDialog::paintEvent(QPaintEvent *)
+{
+        QStyleOption opt;
+        opt.init(this);
+        QPainter p(this);
+        style()->drawPrimitive(QStyle::PE_Widget, &opt, &p, this);
+}
diff --git a/src/RegisterPage.cc b/src/RegisterPage.cc
index 01f3b28fcf96eaed69f0cf50aa727832ed8d9b28..52a0ac021cfda3c714e63239f49d4c92921514ab 100644
--- a/src/RegisterPage.cc
+++ b/src/RegisterPage.cc
@@ -15,6 +15,8 @@
  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
  */
 
+#include <QStyleOption>
+
 #include "RegisterPage.h"
 #include "Avatar.h"
 #include "Config.h"
@@ -186,4 +188,13 @@ RegisterPage::onRegisterButtonClicked()
         }
 }
 
+void
+RegisterPage::paintEvent(QPaintEvent *)
+{
+        QStyleOption opt;
+        opt.init(this);
+        QPainter p(this);
+        style()->drawPrimitive(QStyle::PE_Widget, &opt, &p, this);
+}
+
 RegisterPage::~RegisterPage() {}
diff --git a/src/UserSettingsPage.cc b/src/UserSettingsPage.cc
index e53ad668470dd300b8ba04012d2270b18b62115e..997f3eef577186aef506b6696d871d4651fd2214 100644
--- a/src/UserSettingsPage.cc
+++ b/src/UserSettingsPage.cc
@@ -152,3 +152,12 @@ UserSettingsPage::resizeEvent(QResizeEvent *event)
 
         QWidget::resizeEvent(event);
 }
+
+void
+UserSettingsPage::paintEvent(QPaintEvent *)
+{
+        QStyleOption opt;
+        opt.init(this);
+        QPainter p(this);
+        style()->drawPrimitive(QStyle::PE_Widget, &opt, &p, this);
+}
diff --git a/src/WelcomePage.cc b/src/WelcomePage.cc
index f361ca053d70125cce59ca4aed357f4a5d0e18f4..e1c74d3e87a54dab97a38041b1be2f68cc5ea207 100644
--- a/src/WelcomePage.cc
+++ b/src/WelcomePage.cc
@@ -15,6 +15,7 @@
  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
  */
 
+#include <QStyleOption>
 #include <QLabel>
 #include <QLayout>
 
@@ -83,3 +84,12 @@ WelcomePage::WelcomePage(QWidget *parent)
         connect(registerBtn_, &QPushButton::clicked, this, &WelcomePage::userRegister);
         connect(loginBtn_, &QPushButton::clicked, this, &WelcomePage::userLogin);
 }
+
+void
+WelcomePage::paintEvent(QPaintEvent *)
+{
+        QStyleOption opt;
+        opt.init(this);
+        QPainter p(this);
+        style()->drawPrimitive(QStyle::PE_Widget, &opt, &p, this);
+}