diff --git a/data/web/css/build/014-mailcow.css b/data/web/css/build/014-mailcow.css
index 3e1ace79d2..3467c3c390 100644
--- a/data/web/css/build/014-mailcow.css
+++ b/data/web/css/build/014-mailcow.css
@@ -432,4 +432,25 @@ button[aria-expanded='true'] > .caret {
.hr-title:not(:empty)::after {
margin-left: 10px;
-}
\ No newline at end of file
+}
+/* Visual differentiation of login portals */
+body.login-portal-user {
+ background-color: #f2faf5 !important;
+}
+body.login-portal-user .card {
+ border-top: 4px solid #198754 !important;
+}
+
+body.login-portal-domainadmin {
+ background-color: #f3f4fc !important;
+}
+body.login-portal-domainadmin .card {
+ border-top: 4px solid #0d6efd !important;
+}
+
+body.login-portal-admin {
+ background-color: #fdf3f3 !important;
+}
+body.login-portal-admin .card {
+ border-top: 4px solid #dc3545 !important;
+}
diff --git a/data/web/css/themes/mailcow-darkmode.css b/data/web/css/themes/mailcow-darkmode.css
index 83befeaf52..bbeb87bc75 100644
--- a/data/web/css/themes/mailcow-darkmode.css
+++ b/data/web/css/themes/mailcow-darkmode.css
@@ -454,4 +454,38 @@ input::placeholder {
}
.btn-light, .btn-light:hover {
background-image: none;
-}
\ No newline at end of file
+}
+
+/* Dark Mode Login Portals */
+body.login-portal-user {
+ background-color: #121814 !important;
+}
+body.login-portal-user .card {
+ background-color: #1d2520 !important;
+ border-color: #27332c !important;
+}
+body.login-portal-user .card-header {
+ background-color: #121814 !important;
+}
+
+body.login-portal-domainadmin {
+ background-color: #13151c !important;
+}
+body.login-portal-domainadmin .card {
+ background-color: #1d202b !important;
+ border-color: #282c3c !important;
+}
+body.login-portal-domainadmin .card-header {
+ background-color: #13151c !important;
+}
+
+body.login-portal-admin {
+ background-color: #1a1111 !important;
+}
+body.login-portal-admin .card {
+ background-color: #281b1b !important;
+ border-color: #382525 !important;
+}
+body.login-portal-admin .card-header {
+ background-color: #1a1111 !important;
+}
diff --git a/data/web/templates/admin_index.twig b/data/web/templates/admin_index.twig
index 0dcb9145e0..c934ffa839 100644
--- a/data/web/templates/admin_index.twig
+++ b/data/web/templates/admin_index.twig
@@ -2,6 +2,8 @@
{% block navbar %}{% endblock %}
+{% block body_class %}login-portal login-portal-admin{% endblock %}
+
{% block content %}
-
+
{{ lang.login.other_logins }}
@@ -90,12 +92,17 @@
{% if custom_login.hide_user_quicklink != 1 or custom_login.hide_domainadmin_quicklink != 1 %}
-
- {{ lang.login.login_linkstext }}
- {% if custom_login.hide_user_quicklink != 1 %}{{ lang.login.login_usertext }}{% endif %}
- {% if custom_login.hide_user_quicklink != 1 and custom_login.hide_domainadmin_quicklink != 1 %}|{% endif %}
- {% if custom_login.hide_domainadmin_quicklink != 1 %}{{ lang.login.login_domainadmintext }}{% endif %}
-
+
+
{{ lang.login.login_linkstext }}
+
+ {% if custom_login.hide_user_quicklink != 1 %}
+
{{ lang.login.login_usertext }}
+ {% endif %}
+ {% if custom_login.hide_domainadmin_quicklink != 1 %}
+
{{ lang.login.login_domainadmintext }}
+ {% endif %}
+
+
{% endif %}
diff --git a/data/web/templates/base.twig b/data/web/templates/base.twig
index 9e20b08a5d..ef82d03f33 100644
--- a/data/web/templates/base.twig
+++ b/data/web/templates/base.twig
@@ -26,7 +26,7 @@
-
+
{% block navbar %}