diff --git a/app/src/main/java/com/x8bit/bitwarden/ui/auth/feature/landing/LandingScreen.kt b/app/src/main/java/com/x8bit/bitwarden/ui/auth/feature/landing/LandingScreen.kt
index 65961bcdd..7df24cf69 100644
--- a/app/src/main/java/com/x8bit/bitwarden/ui/auth/feature/landing/LandingScreen.kt
+++ b/app/src/main/java/com/x8bit/bitwarden/ui/auth/feature/landing/LandingScreen.kt
@@ -2,6 +2,7 @@ package com.x8bit.bitwarden.ui.auth.feature.landing
 
 import androidx.compose.foundation.Image
 import androidx.compose.foundation.clickable
+import androidx.compose.foundation.interaction.MutableInteractionSource
 import androidx.compose.foundation.layout.Arrangement
 import androidx.compose.foundation.layout.Box
 import androidx.compose.foundation.layout.Column
@@ -16,7 +17,9 @@ import androidx.compose.foundation.layout.padding
 import androidx.compose.foundation.layout.width
 import androidx.compose.foundation.layout.wrapContentHeight
 import androidx.compose.foundation.rememberScrollState
+import androidx.compose.foundation.shape.RoundedCornerShape
 import androidx.compose.foundation.verticalScroll
+import androidx.compose.material.ripple.rememberRipple
 import androidx.compose.material3.ExperimentalMaterial3Api
 import androidx.compose.material3.Icon
 import androidx.compose.material3.MaterialTheme
@@ -31,6 +34,7 @@ import androidx.compose.runtime.saveable.rememberSaveable
 import androidx.compose.runtime.setValue
 import androidx.compose.ui.Alignment
 import androidx.compose.ui.Modifier
+import androidx.compose.ui.draw.clip
 import androidx.compose.ui.graphics.ColorFilter
 import androidx.compose.ui.input.nestedscroll.nestedScroll
 import androidx.compose.ui.res.painterResource
@@ -262,7 +266,7 @@ private fun LandingScreenContent(
             keyboardType = KeyboardType.Email,
         )
 
-        Spacer(modifier = Modifier.height(10.dp))
+        Spacer(modifier = Modifier.height(2.dp))
 
         EnvironmentSelector(
             selectedOption = state.selectedEnvironmentType,
@@ -273,8 +277,6 @@ private fun LandingScreenContent(
                 .fillMaxWidth(),
         )
 
-        Spacer(modifier = Modifier.height(8.dp))
-
         BitwardenSwitch(
             label = stringResource(id = R.string.remember_me),
             isChecked = state.isRememberMeEnabled,
@@ -345,15 +347,25 @@ private fun EnvironmentSelector(
     onOptionSelected: (Environment.Type) -> Unit,
     modifier: Modifier,
 ) {
-    val options = Environment.Type.values()
+    val options = Environment.Type.entries.toTypedArray()
     var shouldShowDialog by rememberSaveable { mutableStateOf(false) }
 
     Box(modifier = modifier) {
         Row(
             modifier = Modifier
-                .clickable { shouldShowDialog = !shouldShowDialog }
-                .fillMaxWidth()
-                .padding(start = 16.dp),
+                .clip(RoundedCornerShape(28.dp))
+                .clickable(
+                    indication = rememberRipple(
+                        bounded = true,
+                        color = MaterialTheme.colorScheme.primary,
+                    ),
+                    interactionSource = remember { MutableInteractionSource() },
+                    onClick = { shouldShowDialog = !shouldShowDialog },
+                )
+                .padding(
+                    vertical = 8.dp,
+                    horizontal = 16.dp,
+                ),
             verticalAlignment = Alignment.CenterVertically,
         ) {
             Text(
diff --git a/app/src/main/java/com/x8bit/bitwarden/ui/auth/feature/login/LoginScreen.kt b/app/src/main/java/com/x8bit/bitwarden/ui/auth/feature/login/LoginScreen.kt
index ffaad0058..e9d4728a8 100644
--- a/app/src/main/java/com/x8bit/bitwarden/ui/auth/feature/login/LoginScreen.kt
+++ b/app/src/main/java/com/x8bit/bitwarden/ui/auth/feature/login/LoginScreen.kt
@@ -1,8 +1,8 @@
 package com.x8bit.bitwarden.ui.auth.feature.login
 
 import android.widget.Toast
-import androidx.compose.foundation.clickable
 import androidx.compose.foundation.layout.Column
+import androidx.compose.foundation.layout.PaddingValues
 import androidx.compose.foundation.layout.Spacer
 import androidx.compose.foundation.layout.fillMaxSize
 import androidx.compose.foundation.layout.fillMaxWidth
@@ -230,20 +230,13 @@ private fun LoginScreenContent(
             showPasswordTestTag = "PasswordVisibilityToggle",
         )
 
-        // TODO: Need to figure out better handling for very small clickable text (BIT-724)
-        Text(
-            text = stringResource(id = R.string.get_password_hint),
+        BitwardenClickableText(
+            label = stringResource(id = R.string.get_password_hint),
+            onClick = onMasterPasswordClick,
             style = MaterialTheme.typography.bodySmall,
-            color = MaterialTheme.colorScheme.primary,
             modifier = Modifier
-                .semantics { testTag = "GetMasterPasswordHintLabel" }
                 .padding(horizontal = 16.dp)
-                .fillMaxWidth()
-                .clickable { onMasterPasswordClick() }
-                .padding(
-                    vertical = 4.dp,
-                    horizontal = 16.dp,
-                ),
+                .semantics { testTag = "GetMasterPasswordHintLabel" },
         )
 
         Spacer(modifier = Modifier.height(20.dp))
@@ -301,14 +294,12 @@ private fun LoginScreenContent(
                 .fillMaxWidth(),
         )
 
-        Spacer(modifier = Modifier.height(8.dp))
-
         BitwardenClickableText(
-            modifier = Modifier
-                .semantics { testTag = "NotYouLabel" }
-                .padding(horizontal = 16.dp),
-            onClick = onNotYouButtonClick,
             label = stringResource(id = R.string.not_you),
+            onClick = onNotYouButtonClick,
+            style = MaterialTheme.typography.labelLarge,
+            innerPadding = PaddingValues(vertical = 8.dp, horizontal = 16.dp),
+            modifier = Modifier.semantics { testTag = "NotYouLabel" },
         )
         Spacer(modifier = Modifier.navigationBarsPadding())
     }
diff --git a/app/src/main/java/com/x8bit/bitwarden/ui/auth/feature/loginwithdevice/LoginWithDeviceScreen.kt b/app/src/main/java/com/x8bit/bitwarden/ui/auth/feature/loginwithdevice/LoginWithDeviceScreen.kt
index 3b5bc9fd5..f46e5552c 100644
--- a/app/src/main/java/com/x8bit/bitwarden/ui/auth/feature/loginwithdevice/LoginWithDeviceScreen.kt
+++ b/app/src/main/java/com/x8bit/bitwarden/ui/auth/feature/loginwithdevice/LoginWithDeviceScreen.kt
@@ -2,6 +2,7 @@ package com.x8bit.bitwarden.ui.auth.feature.loginwithdevice
 
 import android.widget.Toast
 import androidx.compose.foundation.layout.Column
+import androidx.compose.foundation.layout.PaddingValues
 import androidx.compose.foundation.layout.Spacer
 import androidx.compose.foundation.layout.defaultMinSize
 import androidx.compose.foundation.layout.fillMaxSize
@@ -137,7 +138,6 @@ private fun LoginWithDeviceScreenContent(
     modifier: Modifier = Modifier,
 ) {
     Column(
-        horizontalAlignment = Alignment.CenterHorizontally,
         modifier = modifier
             .imePadding()
             .verticalScroll(rememberScrollState()),
@@ -202,11 +202,11 @@ private fun LoginWithDeviceScreenContent(
                 .fillMaxWidth(),
         )
 
-        Spacer(modifier = Modifier.height(24.dp))
+        Spacer(modifier = Modifier.height(16.dp))
 
         Column(
             modifier = Modifier
-                .defaultMinSize(minHeight = 32.dp)
+                .defaultMinSize(minHeight = 36.dp)
                 .align(Alignment.Start),
         ) {
             if (state.isResendNotificationLoading) {
@@ -217,17 +217,16 @@ private fun LoginWithDeviceScreenContent(
                 )
             } else {
                 BitwardenClickableText(
-                    modifier = Modifier
-                        .padding(horizontal = 16.dp)
-                        .semantics { testTag = "ResendNotificationButton" }
-                        .fillMaxWidth(),
+                    modifier = Modifier.semantics { testTag = "ResendNotificationButton" },
                     label = stringResource(id = R.string.resend_notification),
+                    style = MaterialTheme.typography.labelLarge,
+                    innerPadding = PaddingValues(vertical = 8.dp, horizontal = 16.dp),
                     onClick = onResendNotificationClick,
                 )
             }
         }
 
-        Spacer(modifier = Modifier.height(24.dp))
+        Spacer(modifier = Modifier.height(28.dp))
 
         Text(
             text = stringResource(id = R.string.need_another_option),
@@ -239,14 +238,11 @@ private fun LoginWithDeviceScreenContent(
                 .fillMaxWidth(),
         )
 
-        Spacer(modifier = Modifier.height(8.dp))
-
         BitwardenClickableText(
-            modifier = Modifier
-                .padding(horizontal = 16.dp)
-                .semantics { testTag = "ViewAllLoginOptionsButton" }
-                .fillMaxWidth(),
+            modifier = Modifier.semantics { testTag = "ViewAllLoginOptionsButton" },
             label = stringResource(id = R.string.view_all_login_options),
+            innerPadding = PaddingValues(vertical = 8.dp, horizontal = 16.dp),
+            style = MaterialTheme.typography.labelLarge,
             onClick = onViewAllLogInOptionsClick,
         )
 
diff --git a/app/src/main/java/com/x8bit/bitwarden/ui/platform/components/BitwardenClickableText.kt b/app/src/main/java/com/x8bit/bitwarden/ui/platform/components/BitwardenClickableText.kt
index 6521cb175..8d0889b7c 100644
--- a/app/src/main/java/com/x8bit/bitwarden/ui/platform/components/BitwardenClickableText.kt
+++ b/app/src/main/java/com/x8bit/bitwarden/ui/platform/components/BitwardenClickableText.kt
@@ -1,12 +1,23 @@
 package com.x8bit.bitwarden.ui.platform.components
 
 import androidx.compose.foundation.clickable
+import androidx.compose.foundation.interaction.MutableInteractionSource
+import androidx.compose.foundation.layout.PaddingValues
+import androidx.compose.foundation.layout.padding
+import androidx.compose.foundation.shape.RoundedCornerShape
+import androidx.compose.material.ripple.rememberRipple
 import androidx.compose.material3.MaterialTheme
 import androidx.compose.material3.Text
 import androidx.compose.runtime.Composable
+import androidx.compose.runtime.remember
 import androidx.compose.ui.Modifier
+import androidx.compose.ui.draw.clip
+import androidx.compose.ui.graphics.Color
+import androidx.compose.ui.text.TextStyle
 import androidx.compose.ui.text.style.TextAlign
 import androidx.compose.ui.tooling.preview.Preview
+import androidx.compose.ui.unit.Dp
+import androidx.compose.ui.unit.dp
 
 /**
  * Represents a Bitwarden-styled clickable text.
@@ -19,16 +30,28 @@ import androidx.compose.ui.tooling.preview.Preview
 fun BitwardenClickableText(
     label: String,
     onClick: () -> Unit,
+    style: TextStyle,
     modifier: Modifier = Modifier,
+    innerPadding: PaddingValues = PaddingValues(vertical = 4.dp, horizontal = 16.dp),
+    cornerSize: Dp = 28.dp,
+    color: Color = MaterialTheme.colorScheme.primary,
 ) {
     Text(
         modifier = modifier
-            // TODO: Need to figure out better handling for very small clickable text (BIT-724)
-            .clickable { onClick() },
+            .clip(RoundedCornerShape(cornerSize))
+            .clickable(
+                indication = rememberRipple(
+                    bounded = true,
+                    color = MaterialTheme.colorScheme.primary,
+                ),
+                interactionSource = remember { MutableInteractionSource() },
+                onClick = onClick,
+            )
+            .padding(innerPadding),
         text = label,
         textAlign = TextAlign.Start,
-        color = MaterialTheme.colorScheme.primary,
-        style = MaterialTheme.typography.labelLarge,
+        color = color,
+        style = style,
     )
 }