diff --git a/.idea/codeStyles/Project.xml b/.idea/codeStyles/Project.xml
index ef4f1b764da0f387cc8e23cf971a3be78405f4c8..ec09a9382294f23fd3267aab1b77737f8ea53f4a 100644
--- a/.idea/codeStyles/Project.xml
+++ b/.idea/codeStyles/Project.xml
@@ -68,6 +68,9 @@
     </codeStyleSettings>
     <codeStyleSettings language="kotlin">
       <option name="CODE_STYLE_DEFAULTS" value="KOTLIN_OFFICIAL" />
+      <indentOptions>
+        <option name="CONTINUATION_INDENT_SIZE" value="4" />
+      </indentOptions>
     </codeStyleSettings>
   </code_scheme>
-</component>
+</component>
\ No newline at end of file
diff --git a/src/main/kotlin/androidx/compose/material/ExposedDropDownMenu.kt b/src/main/kotlin/androidx/compose/material/ExposedDropDownMenu.kt
index ffbe92e8bdf00dbb2bb7e4d4424edd86eb77cf0a..0f4dc61f9fc6067c8ec0abbe5ced77e7cda76404 100644
--- a/src/main/kotlin/androidx/compose/material/ExposedDropDownMenu.kt
+++ b/src/main/kotlin/androidx/compose/material/ExposedDropDownMenu.kt
@@ -219,7 +219,7 @@ private fun ExposedDropDownMenuImpl(
                         expanded = false
                     }
                 ) {
-                    Text(v)
+                    Text(v, style = MaterialTheme.typography.body1)
                 }
             }
         }
diff --git a/src/main/kotlin/org/briarproject/briar/desktop/contact/ContactCard.kt b/src/main/kotlin/org/briarproject/briar/desktop/contact/ContactCard.kt
index a2a6a8faabbfdfc8d1cb69128d3c0d24376047e7..0e98b2bb6f26449763a98af6a3e678ec59d7eb70 100644
--- a/src/main/kotlin/org/briarproject/briar/desktop/contact/ContactCard.kt
+++ b/src/main/kotlin/org/briarproject/briar/desktop/contact/ContactCard.kt
@@ -118,7 +118,7 @@ private fun RealContactRow(contactItem: ContactItem, padding: PaddingValues) {
 
     Row(horizontalArrangement = Arrangement.SpaceBetween, modifier = Modifier.padding(padding)) {
         Row(
-            modifier = Modifier.align(Alignment.CenterVertically).padding(horizontal = 16.dp)
+            modifier = Modifier.align(Alignment.CenterVertically).padding(start = 16.dp, end = 8.dp)
                 .weight(1f, fill = false)
         ) {
             Box(modifier = Modifier.align(Alignment.CenterVertically)) {
@@ -134,7 +134,7 @@ private fun RealContactRow(contactItem: ContactItem, padding: PaddingValues) {
             )
         }
         Canvas(
-            modifier = Modifier.padding(end = 18.dp).size(22.dp).align(Alignment.CenterVertically),
+            modifier = Modifier.size(24.dp).align(Alignment.CenterVertically),
             onDraw = {
                 val size = 16.dp
                 drawCircle(color = outlineColor, radius = size.toPx() / 2f)
@@ -149,9 +149,9 @@ private fun RealContactRow(contactItem: ContactItem, padding: PaddingValues) {
 
 @Composable
 private fun PendingContactRow(contactItem: PendingContactItem, onRemove: () -> Unit, padding: PaddingValues) {
-    Row(horizontalArrangement = Arrangement.SpaceBetween, modifier = Modifier.padding(padding)) {
+    Row(horizontalArrangement = Arrangement.SpaceBetween) {
         Row(
-            modifier = Modifier.align(Alignment.CenterVertically).padding(horizontal = 16.dp)
+            modifier = Modifier.align(Alignment.CenterVertically).padding(start = 16.dp, end = 8.dp)
                 .weight(1f, fill = false)
         ) {
             ProfileCircle(36.dp)
@@ -162,7 +162,7 @@ private fun PendingContactRow(contactItem: PendingContactItem, onRemove: () -> U
         }
         IconButton(
             onClick = onRemove,
-            modifier = Modifier.padding(end = 4.dp).align(Alignment.CenterVertically),
+            modifier = Modifier.padding(end = 4.dp).align(Alignment.CenterVertically)
         ) {
             Icon(Icons.Filled.Delete, i18n("access.contacts.pending.remove"))
         }
diff --git a/src/main/kotlin/org/briarproject/briar/desktop/contact/ContactList.kt b/src/main/kotlin/org/briarproject/briar/desktop/contact/ContactList.kt
index a4d9e5960c2b03e7e751aaab0049d6e1aa65675c..b0324ffa504334e1c6e59874df4246b2e4a0c1c4 100644
--- a/src/main/kotlin/org/briarproject/briar/desktop/contact/ContactList.kt
+++ b/src/main/kotlin/org/briarproject/briar/desktop/contact/ContactList.kt
@@ -77,7 +77,7 @@ fun ContactList(
                             onSel = { selectContact(contactItem) },
                             selected = isSelected(contactItem),
                             onRemovePending = { if (contactItem is PendingContactItem) removePendingContact(contactItem) },
-                            padding = PaddingValues(end = 12.dp),
+                            padding = PaddingValues(end = 16.dp),
                         )
                     }
                 }
diff --git a/src/main/kotlin/org/briarproject/briar/desktop/contact/ProfileCircle.kt b/src/main/kotlin/org/briarproject/briar/desktop/contact/ProfileCircle.kt
index 2fb9dbcc587f29db4d0169ecee7c1a2c25c171e2..b24a5653c82efa111b5beff9711809dde1f17495 100644
--- a/src/main/kotlin/org/briarproject/briar/desktop/contact/ProfileCircle.kt
+++ b/src/main/kotlin/org/briarproject/briar/desktop/contact/ProfileCircle.kt
@@ -70,7 +70,7 @@ fun ProfileCircle(size: Dp, contactItem: ContactItem) {
  */
 @Composable
 fun ProfileCircle(size: Dp, input: ByteArray) {
-    Canvas(Modifier.size(size).clip(CircleShape).border(2.dp, MaterialTheme.colors.outline, CircleShape)) {
+    Canvas(Modifier.size(size).clip(CircleShape).border(1.dp, MaterialTheme.colors.outline, CircleShape)) {
         Identicon(input, this.size.width, this.size.height).draw(this)
     }
 }
@@ -86,7 +86,7 @@ fun ProfileCircle(size: Dp, avatar: ImageBitmap) {
         bitmap = avatar,
         contentDescription = null,
         contentScale = ContentScale.FillBounds,
-        modifier = Modifier.size(size).clip(CircleShape).border(2.dp, MaterialTheme.colors.outline, CircleShape),
+        modifier = Modifier.size(size).clip(CircleShape).border(1.dp, MaterialTheme.colors.outline, CircleShape),
     )
 }
 
diff --git a/src/main/kotlin/org/briarproject/briar/desktop/contact/SearchTextField.kt b/src/main/kotlin/org/briarproject/briar/desktop/contact/SearchTextField.kt
index d9881f3b22dd02bbd23db5e876fd6336ba81cfef..fe45aedb62ea8fd8c82774f2bb8f2e19a926adc1 100644
--- a/src/main/kotlin/org/briarproject/briar/desktop/contact/SearchTextField.kt
+++ b/src/main/kotlin/org/briarproject/briar/desktop/contact/SearchTextField.kt
@@ -61,8 +61,9 @@ fun SearchTextField(searchValue: String, onValueChange: (String) -> Unit, onCont
         trailingIcon = {
             IconButton(
                 onClick = onContactAdd,
-                modifier = Modifier.padding(end = 10.dp).size(32.dp)
+                modifier = Modifier.padding(end = 8.dp)
                     .background(MaterialTheme.colors.primary, CircleShape).pointerHoverIcon(PointerIconDefaults.Default)
+                    .then(Modifier.size(32.dp))
             ) {
                 Icon(
                     Icons.Filled.PersonAdd,
diff --git a/src/main/kotlin/org/briarproject/briar/desktop/conversation/ConversationInput.kt b/src/main/kotlin/org/briarproject/briar/desktop/conversation/ConversationInput.kt
index 40a82c0cf25e24399aff676f97d589af196be472..0de396058942847051d565301ab5a28375648cb6 100644
--- a/src/main/kotlin/org/briarproject/briar/desktop/conversation/ConversationInput.kt
+++ b/src/main/kotlin/org/briarproject/briar/desktop/conversation/ConversationInput.kt
@@ -120,9 +120,10 @@ fun ConversationInput(
                             updateImage(null)
                         }
                     },
-                    Modifier.padding(4.dp).size(32.dp)
+                    Modifier.padding(4.dp)
                         .background(MaterialTheme.colors.primary, CircleShape)
-                        .pointerHoverIcon(PointerIconDefaults.Default),
+                        .pointerHoverIcon(PointerIconDefaults.Default)
+                        .then(Modifier.size(32.dp)),
                 ) {
                     if (image == null) {
                         Icon(Icons.Filled.Add, i18n("access.attachment_add"), Modifier.size(24.dp), Color.White)
@@ -133,7 +134,8 @@ fun ConversationInput(
             },
             trailingIcon = {
                 IconButton(
-                    onClick = onSend, modifier = Modifier.padding(4.dp).size(32.dp).pointerHoverIcon(PointerIconDefaults.Default),
+                    onClick = onSend,
+                    modifier = Modifier.padding(4.dp).size(32.dp).pointerHoverIcon(PointerIconDefaults.Default),
                 ) {
                     Icon(
                         Icons.Filled.Send,
diff --git a/src/main/kotlin/org/briarproject/briar/desktop/conversation/ConversationList.kt b/src/main/kotlin/org/briarproject/briar/desktop/conversation/ConversationList.kt
index 2764ecf3020c218412a22b97c43058b412dd66c2..cd7ff53c3802ee56d6cc6600f2b3434f71c1d641 100644
--- a/src/main/kotlin/org/briarproject/briar/desktop/conversation/ConversationList.kt
+++ b/src/main/kotlin/org/briarproject/briar/desktop/conversation/ConversationList.kt
@@ -183,7 +183,7 @@ fun ConversationList(
     Box(modifier = Modifier.padding(padding).fillMaxSize()) {
         LazyColumn(
             state = scrollState,
-            modifier = Modifier.fillMaxSize().padding(end = 12.dp, top = 8.dp, bottom = 8.dp)
+            modifier = Modifier.fillMaxSize().padding(end = 8.dp),
         ) {
             itemsIndexed(messages) { idx, m ->
                 if (idx == initialFirstUnreadMessageIndex) {
@@ -304,9 +304,10 @@ fun LazyListState.isScrolledToPenultimate(): Boolean {
 
 val LazyListState.lastVisibleItemIndex get() = layoutInfo.visibleItemsInfo.lastOrNull()?.index ?: -1
 
-val LazyListLayoutInfo.reallyVisibleItemsInfo get() = visibleItemsInfo.filter {
-    it.offset <= viewportEndOffset - 50 && it.offset + it.size >= viewportStartOffset + 50
-}
+val LazyListLayoutInfo.reallyVisibleItemsInfo
+    get() = visibleItemsInfo.filter {
+        it.offset <= viewportEndOffset - 50 && it.offset + it.size >= viewportStartOffset + 50
+    }
 
 val LazyListState.firstReallyVisibleItemIndex get() = layoutInfo.reallyVisibleItemsInfo.firstOrNull()?.index ?: -1
 val LazyListState.lastReallyVisibleItemIndex get() = layoutInfo.reallyVisibleItemsInfo.lastOrNull()?.index ?: -1
diff --git a/src/main/kotlin/org/briarproject/briar/desktop/introduction/ContactDrawerMakeIntro.kt b/src/main/kotlin/org/briarproject/briar/desktop/introduction/ContactDrawerMakeIntro.kt
index c616451dc5a4090c54bb43793b7b585aeb8e7944..ea12210b752777f5bb4ea3b2f8658df28a536cbe 100644
--- a/src/main/kotlin/org/briarproject/briar/desktop/introduction/ContactDrawerMakeIntro.kt
+++ b/src/main/kotlin/org/briarproject/briar/desktop/introduction/ContactDrawerMakeIntro.kt
@@ -20,6 +20,7 @@ package org.briarproject.briar.desktop.introduction
 
 import androidx.compose.foundation.layout.Arrangement
 import androidx.compose.foundation.layout.Column
+import androidx.compose.foundation.layout.PaddingValues
 import androidx.compose.foundation.layout.Row
 import androidx.compose.foundation.layout.fillMaxWidth
 import androidx.compose.foundation.layout.height
@@ -42,10 +43,12 @@ import androidx.compose.runtime.Composable
 import androidx.compose.runtime.LaunchedEffect
 import androidx.compose.ui.Alignment
 import androidx.compose.ui.Modifier
+import androidx.compose.ui.text.style.TextAlign
 import androidx.compose.ui.unit.dp
 import org.briarproject.briar.desktop.contact.ContactCard
 import org.briarproject.briar.desktop.contact.ContactItem
 import org.briarproject.briar.desktop.contact.ProfileCircle
+import org.briarproject.briar.desktop.theme.surfaceVariant
 import org.briarproject.briar.desktop.ui.Constants.HEADER_SIZE
 import org.briarproject.briar.desktop.ui.HorizontalDivider
 import org.briarproject.briar.desktop.utils.InternationalizationUtils
@@ -62,13 +65,13 @@ fun ContactDrawerMakeIntro(
     LaunchedEffect(contactItem) {
         viewModel.setFirstContact(contactItem)
     }
-    Surface {
+    Surface(color = MaterialTheme.colors.surfaceVariant, contentColor = MaterialTheme.colors.onSurface) {
         Column {
             if (!viewModel.secondScreen.value) {
                 Row(Modifier.fillMaxWidth().height(HEADER_SIZE)) {
                     IconButton(
                         onClick = { closeInfoDrawer(false) },
-                        Modifier.padding(start = 16.dp).size(32.dp).align(Alignment.CenterVertically)
+                        Modifier.padding(start = 24.dp).size(24.dp).align(Alignment.CenterVertically)
                     ) {
                         Icon(Icons.Filled.Close, i18n("access.introduction.close"))
                     }
@@ -86,7 +89,8 @@ fun ContactDrawerMakeIntro(
                                 contactItem,
                                 onSel = { viewModel.setSecondContact(contactItem) },
                                 selected = false,
-                                onRemovePending = {}
+                                onRemovePending = {},
+                                padding = PaddingValues(end = 16.dp),
                             )
                     }
                 }
@@ -94,32 +98,40 @@ fun ContactDrawerMakeIntro(
                 Row(Modifier.fillMaxWidth().height(HEADER_SIZE)) {
                     IconButton(
                         onClick = viewModel::backToFirstScreen,
-                        Modifier.padding(horizontal = 11.dp).size(32.dp).align(Alignment.CenterVertically)
+                        Modifier.padding(start = 24.dp).size(24.dp).align(Alignment.CenterVertically)
                     ) {
                         Icon(Icons.Filled.ArrowBack, i18n("access.introduction.back.contact"))
                     }
                     Text(
                         text = i18n("introduction.title_second"),
-                        modifier = Modifier.align(Alignment.CenterVertically),
+                        modifier = Modifier.align(Alignment.CenterVertically).padding(start = 16.dp),
                         style = MaterialTheme.typography.body1,
                     )
                 }
                 Row(Modifier.fillMaxWidth().padding(12.dp), horizontalArrangement = Arrangement.SpaceAround) {
-                    Column(Modifier.align(Alignment.Top).weight(1f)) {
+                    Column(
+                        Modifier.align(Alignment.Top).weight(1f),
+                        horizontalAlignment = Alignment.CenterHorizontally
+                    ) {
                         ProfileCircle(36.dp, viewModel.firstContact.value!!)
                         Text(
                             text = viewModel.firstContact.value!!.displayName,
-                            modifier = Modifier.padding(top = 4.dp),
+                            modifier = Modifier.padding(top = 4.dp).align(Alignment.CenterHorizontally),
                             style = MaterialTheme.typography.body1,
+                            textAlign = TextAlign.Center,
                         )
                     }
                     Icon(Icons.Filled.SwapHoriz, i18n("access.swap"), modifier = Modifier.size(48.dp))
-                    Column(Modifier.align(Alignment.Top).weight(1f)) {
+                    Column(
+                        Modifier.align(Alignment.Top).weight(1f),
+                        horizontalAlignment = Alignment.CenterHorizontally
+                    ) {
                         ProfileCircle(36.dp, viewModel.secondContact.value!!)
                         Text(
                             text = viewModel.secondContact.value!!.displayName,
-                            modifier = Modifier.padding(top = 4.dp),
+                            modifier = Modifier.padding(top = 4.dp).align(Alignment.CenterHorizontally),
                             style = MaterialTheme.typography.body1,
+                            textAlign = TextAlign.Center,
                         )
                     }
                 }
diff --git a/src/main/kotlin/org/briarproject/briar/desktop/ui/MessageCounter.kt b/src/main/kotlin/org/briarproject/briar/desktop/ui/MessageCounter.kt
index b03a23dc810a486fd0577d0a816be9cc61bcdc27..07f2c8d71f9b64e85901401ff4f8b77bd39f40b0 100644
--- a/src/main/kotlin/org/briarproject/briar/desktop/ui/MessageCounter.kt
+++ b/src/main/kotlin/org/briarproject/briar/desktop/ui/MessageCounter.kt
@@ -44,7 +44,7 @@ fun MessageCounter(unread: Int, modifier: Modifier = Modifier) {
             modifier = modifier
                 .height(20.dp)
                 .widthIn(min = 20.dp, max = Dp.Infinity)
-                .border(2.dp, outlineColor, CircleShape)
+                .border(1.dp, outlineColor, CircleShape)
                 .background(briarSecondary, CircleShape)
                 .padding(horizontal = 6.dp)
         ) {