diff --git a/vector/src/main/res/layout/fragment_login.xml b/vector/src/main/res/layout/fragment_login.xml
index 28eeee1549..977c694952 100644
--- a/vector/src/main/res/layout/fragment_login.xml
+++ b/vector/src/main/res/layout/fragment_login.xml
@@ -6,143 +6,123 @@
android:layout_width="match_parent"
android:layout_height="match_parent">
-
+
-
+
+
+
+
+
+
+
+
+ android:layout_marginTop="32dp"
+ android:hint="@string/login_signup_username_hint"
+ app:errorEnabled="true">
-
-
-
-
-
+ android:inputType="textEmailAddress"
+ android:maxLines="1" />
-
+
-
+
+ android:hint="@string/login_signup_password_hint"
+ app:errorEnabled="true"
+ app:errorIconDrawable="@null">
+ android:ems="10"
+ android:inputType="textPassword"
+ android:maxLines="1"
+ android:paddingEnd="48dp"
+ android:paddingRight="48dp"
+ tools:ignore="RtlSymmetry" />
-
+
+
+
+
+
+
+ android:layout_gravity="start"
+ android:text="@string/auth_forgot_password" />
-
-
-
-
-
-
-
-
-
-
-
+ android:layout_alignParentEnd="true"
+ android:layout_gravity="end"
+ android:text="@string/auth_login"
+ tools:enabled="false"
+ tools:ignore="RelativeOverlap" />
-
+
-
-
-
-
-
-
-
+
diff --git a/vector/src/main/res/layout/fragment_login_captcha.xml b/vector/src/main/res/layout/fragment_login_captcha.xml
index 762b6af4c0..31e1e882b1 100644
--- a/vector/src/main/res/layout/fragment_login_captcha.xml
+++ b/vector/src/main/res/layout/fragment_login_captcha.xml
@@ -2,49 +2,47 @@
+ android:layout_height="match_parent">
-
+
-
-
-
-
+ android:orientation="vertical"
+ android:paddingStart="16dp"
+ android:paddingTop="8dp"
+ android:paddingEnd="16dp"
+ android:paddingBottom="16dp">
+
+
+
+
+
+
+
+ app:layout_constraintBottom_toBottomOf="@id/loginFormContainer"
+ app:layout_constraintEnd_toEndOf="@id/loginFormContainer"
+ app:layout_constraintStart_toStartOf="@id/loginFormContainer"
+ app:layout_constraintTop_toTopOf="@id/loginFormContainer" />
diff --git a/vector/src/main/res/layout/fragment_login_generic_text_input_form.xml b/vector/src/main/res/layout/fragment_login_generic_text_input_form.xml
index c61babea95..20e050fe9e 100644
--- a/vector/src/main/res/layout/fragment_login_generic_text_input_form.xml
+++ b/vector/src/main/res/layout/fragment_login_generic_text_input_form.xml
@@ -6,94 +6,77 @@
android:layout_width="match_parent"
android:layout_height="match_parent">
-
+
-
+
+
+
+
+
+
+ android:layout_marginTop="26dp"
+ app:errorEnabled="true"
+ tools:hint="@string/login_set_email_optional_hint">
-
-
-
-
-
-
-
+ android:imeOptions="actionDone"
+ android:maxLines="1"
+ tools:inputType="textEmailAddress" />
-
+
-
+
-
+ android:layout_gravity="start"
+ android:visibility="gone"
+ tools:text="@string/login_msisdn_confirm_send_again"
+ tools:visibility="visible" />
-
+
-
+
-
-
-
-
-
+
diff --git a/vector/src/main/res/layout/fragment_login_reset_password.xml b/vector/src/main/res/layout/fragment_login_reset_password.xml
index 7f09f0444b..b1dd495417 100644
--- a/vector/src/main/res/layout/fragment_login_reset_password.xml
+++ b/vector/src/main/res/layout/fragment_login_reset_password.xml
@@ -5,115 +5,98 @@
android:layout_width="match_parent"
android:layout_height="match_parent">
-
+
-
+
+
+
+
+
+
+ android:layout_marginTop="32dp"
+ android:hint="@string/login_reset_password_email_hint"
+ app:errorEnabled="true">
-
-
-
+ android:inputType="textEmailAddress"
+ android:maxLines="1" />
-
+
+
+
+ android:hint="@string/login_reset_password_password_hint"
+ app:errorEnabled="true"
+ app:errorIconDrawable="@null">
+ android:ems="10"
+ android:inputType="textPassword"
+ android:maxLines="1"
+ android:paddingEnd="48dp"
+ android:paddingRight="48dp"
+ tools:ignore="RtlSymmetry" />
-
-
-
-
-
-
-
-
-
-
-
-
-
+ android:layout_marginTop="8dp"
+ android:background="?attr/selectableItemBackground"
+ android:scaleType="center"
+ android:src="@drawable/ic_eye_black"
+ android:tint="?attr/colorAccent"
+ tools:contentDescription="@string/a11y_show_password" />
-
+
-
+
+
+
diff --git a/vector/src/main/res/layout/fragment_login_reset_password_success.xml b/vector/src/main/res/layout/fragment_login_reset_password_success.xml
index aaa54937a2..bffb9c11ef 100644
--- a/vector/src/main/res/layout/fragment_login_reset_password_success.xml
+++ b/vector/src/main/res/layout/fragment_login_reset_password_success.xml
@@ -1,63 +1,45 @@
-
+
-
+
+
+ android:text="@string/login_reset_password_success_title"
+ android:textAppearance="@style/TextAppearance.Vector.Login.Title" />
-
+
-
+
-
+
-
-
-
-
-
-
-
+
diff --git a/vector/src/main/res/layout/fragment_login_server_selection.xml b/vector/src/main/res/layout/fragment_login_server_selection.xml
index a5b2c32084..d120aa3a75 100644
--- a/vector/src/main/res/layout/fragment_login_server_selection.xml
+++ b/vector/src/main/res/layout/fragment_login_server_selection.xml
@@ -1,200 +1,188 @@
-
-
+
-
+
+
+
+
+
+
+ android:layout_height="wrap_content"
+ android:layout_marginTop="24dp"
+ android:background="@drawable/bg_login_server_selector"
+ android:contentDescription="@string/login_a11y_choose_matrix_org"
+ android:minHeight="80dp"
+ android:paddingStart="@dimen/layout_horizontal_margin"
+ android:paddingEnd="@dimen/layout_horizontal_margin"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintTop_toBottomOf="@+id/loginServerText">
+ app:layout_constraintTop_toTopOf="parent"
+ app:layout_constraintVertical_chainStyle="packed" />
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+ app:layout_constraintTop_toBottomOf="@+id/loginServerChoiceMatrixOrgIcon" />
-
+
-
+
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/vector/src/main/res/layout/fragment_login_server_url_form.xml b/vector/src/main/res/layout/fragment_login_server_url_form.xml
index a6bf98bbe4..a0476673e3 100644
--- a/vector/src/main/res/layout/fragment_login_server_url_form.xml
+++ b/vector/src/main/res/layout/fragment_login_server_url_form.xml
@@ -6,99 +6,82 @@
android:layout_width="match_parent"
android:layout_height="match_parent">
-
+
-
+
+
+
+
+
+
+
+
+
+
+ android:layout_marginTop="26dp"
+ app:errorEnabled="true"
+ tools:hint="@string/login_server_url_form_modular_hint">
-
-
-
-
-
-
-
-
-
-
-
+ android:imeOptions="actionDone"
+ android:inputType="textUri"
+ android:maxLines="1" />
-
+
-
+
-
-
-
-
-
-
+
+
diff --git a/vector/src/main/res/layout/fragment_login_signup_signin_selection.xml b/vector/src/main/res/layout/fragment_login_signup_signin_selection.xml
index de9a7e403c..32bc445884 100644
--- a/vector/src/main/res/layout/fragment_login_signup_signin_selection.xml
+++ b/vector/src/main/res/layout/fragment_login_signup_signin_selection.xml
@@ -1,91 +1,79 @@
-
-
+
-
+
-
+
-
+
-
+
-
+
+
-
-
+
+
-
-
+
-
-
-
-
+
diff --git a/vector/src/main/res/layout/fragment_login_terms.xml b/vector/src/main/res/layout/fragment_login_terms.xml
index e44139e18b..ecad15079c 100644
--- a/vector/src/main/res/layout/fragment_login_terms.xml
+++ b/vector/src/main/res/layout/fragment_login_terms.xml
@@ -2,52 +2,49 @@
-
+
-
+
-
+
-
+
-
+
+
+
+
diff --git a/vector/src/main/res/values-land/styles_login.xml b/vector/src/main/res/values-land/styles_login.xml
new file mode 100644
index 0000000000..29ddebedd2
--- /dev/null
+++ b/vector/src/main/res/values-land/styles_login.xml
@@ -0,0 +1,19 @@
+
+
+
+
+
+
diff --git a/vector/src/main/res/values/styles_login.xml b/vector/src/main/res/values/styles_login.xml
index 9e74e8abec..989b1615d9 100644
--- a/vector/src/main/res/values/styles_login.xml
+++ b/vector/src/main/res/values/styles_login.xml
@@ -8,10 +8,39 @@
- 36dp
-
+
+
+
+
+
+