diff --git a/app/src/edx/res/drawable/ic_launcher_foreground.xml b/app/src/edx/res/drawable/ic_launcher_foreground.xml
new file mode 100644
index 000000000..f542143cc
--- /dev/null
+++ b/app/src/edx/res/drawable/ic_launcher_foreground.xml
@@ -0,0 +1,24 @@
+
+
+
+
+
+
+
+
diff --git a/app/src/edx/res/mipmap-anydpi-v26/ic_launcher.xml b/app/src/edx/res/mipmap-anydpi-v26/ic_launcher.xml
new file mode 100644
index 000000000..6b78462d6
--- /dev/null
+++ b/app/src/edx/res/mipmap-anydpi-v26/ic_launcher.xml
@@ -0,0 +1,5 @@
+
+
+
+
+
diff --git a/app/src/edx/res/mipmap-anydpi-v26/ic_launcher_round.xml b/app/src/edx/res/mipmap-anydpi-v26/ic_launcher_round.xml
new file mode 100644
index 000000000..6b78462d6
--- /dev/null
+++ b/app/src/edx/res/mipmap-anydpi-v26/ic_launcher_round.xml
@@ -0,0 +1,5 @@
+
+
+
+
+
diff --git a/app/src/edx/res/mipmap-hdpi/ic_launcher.png b/app/src/edx/res/mipmap-hdpi/ic_launcher.png
new file mode 100644
index 000000000..3bcadcfdf
Binary files /dev/null and b/app/src/edx/res/mipmap-hdpi/ic_launcher.png differ
diff --git a/app/src/edx/res/mipmap-mdpi/ic_launcher.png b/app/src/edx/res/mipmap-mdpi/ic_launcher.png
new file mode 100644
index 000000000..4184318fd
Binary files /dev/null and b/app/src/edx/res/mipmap-mdpi/ic_launcher.png differ
diff --git a/app/src/edx/res/mipmap-xhdpi/ic_launcher.png b/app/src/edx/res/mipmap-xhdpi/ic_launcher.png
new file mode 100644
index 000000000..683b4aa56
Binary files /dev/null and b/app/src/edx/res/mipmap-xhdpi/ic_launcher.png differ
diff --git a/app/src/edx/res/mipmap-xxhdpi/ic_launcher.png b/app/src/edx/res/mipmap-xxhdpi/ic_launcher.png
new file mode 100644
index 000000000..f6467b999
Binary files /dev/null and b/app/src/edx/res/mipmap-xxhdpi/ic_launcher.png differ
diff --git a/app/src/edx/res/mipmap-xxxhdpi/ic_launcher.png b/app/src/edx/res/mipmap-xxxhdpi/ic_launcher.png
new file mode 100644
index 000000000..c82b65553
Binary files /dev/null and b/app/src/edx/res/mipmap-xxxhdpi/ic_launcher.png differ
diff --git a/core/src/edx/org/openedx/core/ui/theme/Colors.kt b/core/src/edx/org/openedx/core/ui/theme/Colors.kt
new file mode 100644
index 000000000..20d14e3f1
--- /dev/null
+++ b/core/src/edx/org/openedx/core/ui/theme/Colors.kt
@@ -0,0 +1,145 @@
+package org.openedx.core.ui.theme
+
+import androidx.compose.ui.graphics.Color
+
+// Light theme colors scheme
+val light_primary = Color(0xFF00262B) // Primary 500 | Dark 500 | Elm
+val light_primary_variant = Color(0xFF002121) // Primary 700 | Dark 700
+val light_secondary = Color(0xFFD23228) // Brand 500
+val light_secondary_variant = Color(0xFFD23228) // Brand 500
+val light_background = Color.White
+val light_surface = Color.White
+val light_error = Color(0xFFAB0D02) // Danger 500
+val light_warning = Color(0xFFF0CC00) // Accent B Oxide Yellow
+val light_info = Color(0xFF03C7E8) // Accent A Isotope Blue
+val light_info_variant = Color(0xFF00688D) // Info 500
+
+val light_onPrimary = Color.White
+val light_onSecondary = Color.White
+val light_onBackground = Color(0xFF454545)
+val light_onSurface = Color(0xFF454545)
+val light_onError = Color.White
+val light_onWarning = Color.White
+val light_onInfo = Color.White
+
+val light_text_primary = Color(0xFF00262B) // Primary 500 | Dark 500 | Elm
+val light_text_primary_variant = Color(0xFF454545) // Gray 700
+val light_text_primary_light = Color(0xFF707070) // Gray 500
+val light_text_hyper_link = Color(0xFF00688D) // Info 500
+
+val light_text_secondary = Color(0xFF00262B) // Primary 500 | Dark 500 | Elm
+val light_text_dark = Color(0xFF002121) // Primary 700 | Dark 700
+val light_text_warning = Color(0xFF002121) // Primary 700 | Dark 700
+
+val light_text_accent = Color(0xFF03C7E8) // Accent A Isotope Blue
+
+val light_text_field_background = Color.White
+val light_text_field_background_variant = Color.White
+val light_text_field_border = Color(0xFF707070) // Gray 500
+val light_text_field_text = Color(0xFF454545) // Gray 700
+val light_text_field_hint = Color(0xFF707070) // Gray 500
+
+val light_primary_button_background = Color(0xFF00262B) // Primary 500 | Dark 500 | Elm
+val light_primary_button_text = Color.White
+val light_primary_button_border = Color(0xFFD7D3D1) // Light 700
+val light_primary_button_bordered_text = Color(0xFF00262B) // Primary 500 | Dark 500 | Elm
+
+val light_secondary_button_background = Color(0xFFD23228) // Brand 500
+val light_secondary_button_text = Color(0xFFD23228) // Brand 500
+val light_secondary_button_border = Color(0xFFD7D3D1) // Light 700
+val light_secondary_button_bordered_background = Color.White
+val light_secondary_button_bordered_text = Color(0xFFD23228) // Brand 500
+
+val light_card_view_background = Color(0xFFF9FAFB)
+val light_card_view_border = Color(0xFFCCD4E0)
+
+val light_divider = Color(0xFFEAE6E5) //
+val light_certificate_foreground = Color.White
+val light_bottom_sheet_toggle = Color(0xFF03C7E8) // Accent A Isotope Blue
+
+val light_rate_stars = Color(0xFFF0CC00) // Accent B Oxide Yellow
+val light_inactive_button_background = Color(0xFFCCD4E0)
+val light_access_green = Color(0xFF23BCA0)
+val light_dates_section_bar_past_due = Color(0xFFF0CC00)
+val light_dates_section_bar_today = light_info
+val light_dates_section_bar_this_week = light_text_primary_variant
+val light_dates_section_bar_next_week = light_text_field_border
+val light_dates_section_bar_upcoming = Color(0xFFCCD4E0)
+val light_auth_google_button_background = Color.White
+val light_auth_facebook_button_background = Color(0xFF0866FF)
+val light_auth_microsoft_button_background = Color(0xFF2E2E2E)
+val light_component_horizontal_progress_completed_and_selected = light_primary
+val light_component_horizontal_progress_completed = Color(0xFF8F8F8F)
+val light_component_horizontal_progress_selected = light_primary
+val light_component_horizontal_progress_default = Color(0xFF8F8F8F)
+
+
+// Dark theme colors scheme
+val dark_primary = Color(0xFFFBFAF9) // Light 200
+val dark_primary_variant = Color(0xFFF2F0EF) // Light 300
+val dark_secondary = Color(0xFFD23228) // Brand 500
+val dark_secondary_variant = Color(0xFFD23228) // Brand 500
+val dark_background = Color(0xFF00262b) // Primary 500 | Dark 500
+val dark_surface = Color(0xFF002121) // Primary 700 | Dark 700
+val dark_error = Color(0xFFAB0D02) // Danger 500
+val dark_warning = Color(0xFFF0CC00) // Accent B Oxide Yellow
+val dark_info = Color(0xFF03C7E8) // Accent A Isotope Blue
+val dark_info_variant = Color(0xFF00688D) // Info 500
+
+val dark_onPrimary = Color(0xFF002121) // Primary 700 | Dark 700
+val dark_onSecondary = Color.White
+val dark_onBackground = Color.White
+val dark_onSurface = Color.White
+val dark_onError = Color.White
+val dark_onWarning = Color.White
+val dark_onInfo = Color.White
+
+
+val dark_text_primary = Color.White
+val dark_text_primary_variant = Color(0xFFF2F0EF) // Light 300
+val dark_text_primary_light = Color(0xFF707070) // Gray 500
+val dark_text_hyper_link = Color(0xFF00688D) // Info 500
+
+val dark_text_secondary = Color.White
+val dark_text_dark = Color(0xFFF2F0EF) // Light 300
+val dark_text_warning = Color(0xFFF2F0EF) // Light 300
+
+val dark_text_accent = Color(0xFF03C7E8) // Accent A Isotope Blue
+val dark_text_field_background = Color.White
+val dark_text_field_background_variant = Color.White
+val dark_text_field_border = Color(0xFF707070) // Gray 500
+val dark_text_field_text = Color.White
+val dark_text_field_hint = Color(0xFF707070) // Gray 500
+
+val dark_primary_button_background = Color(0xFF00262B) // Primary 500 | Dark 500 | Elm
+val dark_primary_button_text = Color.White
+val dark_primary_button_border = Color(0xFFD7D3D1) // Light 700
+val dark_primary_button_bordered_text = Color(0xFF00262B) // Primary 500 | Dark 500 | Elm
+
+val dark_secondary_button_background = Color(0xFFD23228) // Brand 500
+val dark_secondary_button_text = Color.White
+val dark_secondary_button_border = Color(0xFFD7D3D1) // Light 700
+val dark_secondary_button_bordered_background = Color.White
+val dark_secondary_button_bordered_text = Color(0xFFD23228) // Brand 500
+
+val dark_card_view_background = Color(0xFF003839)
+val dark_card_view_border = Color(0xFF4E5A70)
+val dark_divider = Color(0xFF0E3639) // Dark 400
+
+val dark_certificate_foreground = Color(0xD92EB865)
+val dark_bottom_sheet_toggle = Color(0xFF03C7E8) // Accent A Isotope Blue
+val dark_rate_stars = Color(0xFFF0CC00) // Accent B Oxide Yellow
+val dark_inactive_button_background = Color(0xFFCCD4E0)
+val dark_access_green = Color(0xFF23BCA0)
+val dark_dates_section_bar_past_due = Color(0xFFF0CC00) // Accent B Oxide Yellow
+val dark_dates_section_bar_today = Color(0xFF03C7E8) // Accent A Isotope Blue
+val dark_dates_section_bar_this_week = Color(0xFFF2F0EF) // Light 300
+val dark_dates_section_bar_next_week = Color(0xFF707070) // Gray 500
+val dark_dates_section_bar_upcoming = Color(0xFFCCD4E0)
+val dark_auth_google_button_background = Color.White
+val dark_auth_facebook_button_background = Color(0xFF0866FF)
+val dark_auth_microsoft_button_background = Color(0xFF2E2E2E)
+val dark_component_horizontal_progress_completed_and_selected = Color.White
+val dark_component_horizontal_progress_completed = Color(0xFF8F8F8F)
+val dark_component_horizontal_progress_selected = Color.White
+val dark_component_horizontal_progress_default = Color(0xFF8F8F8F)
diff --git a/core/src/edx/org/openedx/core/ui/theme/LocalShapes.kt b/core/src/edx/org/openedx/core/ui/theme/LocalShapes.kt
new file mode 100644
index 000000000..19da9b1c9
--- /dev/null
+++ b/core/src/edx/org/openedx/core/ui/theme/LocalShapes.kt
@@ -0,0 +1,25 @@
+package org.openedx.core.ui.theme
+
+import androidx.compose.foundation.shape.CornerSize
+import androidx.compose.foundation.shape.RoundedCornerShape
+import androidx.compose.material.Shapes
+import androidx.compose.runtime.staticCompositionLocalOf
+import androidx.compose.ui.unit.dp
+
+internal val LocalShapes = staticCompositionLocalOf {
+ AppShapes(
+ material = Shapes(
+ small = RoundedCornerShape(4.dp),
+ medium = RoundedCornerShape(8.dp),
+ large = RoundedCornerShape(0.dp)
+ ),
+ buttonShape = RoundedCornerShape(0.dp),
+ navigationButtonShape = RoundedCornerShape(0.dp),
+ textFieldShape = RoundedCornerShape(CornerSize(0.dp)),
+ screenBackgroundShape = RoundedCornerShape(topStart = 30.dp, topEnd = 30.dp),
+ cardShape = RoundedCornerShape(0.dp),
+ screenBackgroundShapeFull = RoundedCornerShape(24.dp),
+ courseImageShape = RoundedCornerShape(0.dp),
+ dialogShape = RoundedCornerShape(24.dp)
+ )
+}
diff --git a/core/src/edx/org/openedx/core/ui/theme/compose/LogistrationLogoView.kt b/core/src/edx/org/openedx/core/ui/theme/compose/LogistrationLogoView.kt
new file mode 100644
index 000000000..c9f1f77e8
--- /dev/null
+++ b/core/src/edx/org/openedx/core/ui/theme/compose/LogistrationLogoView.kt
@@ -0,0 +1,31 @@
+package org.openedx.core.ui.theme.compose
+
+import androidx.compose.foundation.Image
+import androidx.compose.foundation.layout.padding
+import androidx.compose.foundation.layout.wrapContentWidth
+import androidx.compose.runtime.Composable
+import androidx.compose.ui.Modifier
+import androidx.compose.ui.res.painterResource
+import androidx.compose.ui.tooling.preview.Preview
+import androidx.compose.ui.unit.dp
+import org.openedx.core.R
+import org.openedx.core.ui.theme.OpenEdXTheme
+
+@Composable
+fun LogistrationLogoView() {
+ Image(
+ modifier = Modifier
+ .padding(top = 64.dp, bottom = 20.dp)
+ .wrapContentWidth(),
+ painter = painterResource(id = R.drawable.core_ic_logo),
+ contentDescription = null,
+ )
+}
+
+@Preview(widthDp = 375)
+@Composable
+fun LogistrationLogoViewPreview() {
+ OpenEdXTheme {
+ LogistrationLogoView()
+ }
+}
diff --git a/core/src/edx/org/openedx/core/ui/theme/compose/SignInLogoView.kt b/core/src/edx/org/openedx/core/ui/theme/compose/SignInLogoView.kt
new file mode 100644
index 000000000..80e3f7967
--- /dev/null
+++ b/core/src/edx/org/openedx/core/ui/theme/compose/SignInLogoView.kt
@@ -0,0 +1,39 @@
+package org.openedx.core.ui.theme.compose
+
+import androidx.compose.foundation.Image
+import androidx.compose.foundation.layout.Box
+import androidx.compose.foundation.layout.fillMaxHeight
+import androidx.compose.foundation.layout.fillMaxWidth
+import androidx.compose.foundation.layout.padding
+import androidx.compose.runtime.Composable
+import androidx.compose.ui.Alignment
+import androidx.compose.ui.Modifier
+import androidx.compose.ui.res.painterResource
+import androidx.compose.ui.tooling.preview.Preview
+import androidx.compose.ui.unit.dp
+import org.openedx.core.R
+import org.openedx.core.ui.theme.OpenEdXTheme
+
+@Composable
+fun SignInLogoView() {
+ Box(
+ modifier = Modifier
+ .fillMaxWidth()
+ .fillMaxHeight(0.2f),
+ contentAlignment = Alignment.Center
+ ) {
+ Image(
+ painter = painterResource(id = R.drawable.core_ic_logo_white),
+ contentDescription = null,
+ modifier = Modifier.padding(top = 20.dp)
+ )
+ }
+}
+
+@Preview(widthDp = 375, heightDp = 400)
+@Composable
+fun SignInLogoViewPreview() {
+ OpenEdXTheme {
+ SignInLogoView()
+ }
+}
diff --git a/core/src/edx/res/drawable-night/core_ic_logo.xml b/core/src/edx/res/drawable-night/core_ic_logo.xml
new file mode 100644
index 000000000..8e08c5334
--- /dev/null
+++ b/core/src/edx/res/drawable-night/core_ic_logo.xml
@@ -0,0 +1,15 @@
+
+
+
+
+
diff --git a/core/src/edx/res/drawable-night/core_top_header.png b/core/src/edx/res/drawable-night/core_top_header.png
new file mode 100644
index 000000000..8e34e2d73
Binary files /dev/null and b/core/src/edx/res/drawable-night/core_top_header.png differ
diff --git a/core/src/edx/res/drawable/core_ic_logo.xml b/core/src/edx/res/drawable/core_ic_logo.xml
new file mode 100644
index 000000000..e94781b5f
--- /dev/null
+++ b/core/src/edx/res/drawable/core_ic_logo.xml
@@ -0,0 +1,18 @@
+
+
+
+
+
+
diff --git a/core/src/edx/res/drawable/core_ic_logo_white.xml b/core/src/edx/res/drawable/core_ic_logo_white.xml
new file mode 100644
index 000000000..8e08c5334
--- /dev/null
+++ b/core/src/edx/res/drawable/core_ic_logo_white.xml
@@ -0,0 +1,15 @@
+
+
+
+
+
diff --git a/core/src/edx/res/drawable/core_top_header.png b/core/src/edx/res/drawable/core_top_header.png
new file mode 100644
index 000000000..8e34e2d73
Binary files /dev/null and b/core/src/edx/res/drawable/core_top_header.png differ
diff --git a/core/src/edx/res/font/black.ttf b/core/src/edx/res/font/black.ttf
new file mode 100644
index 000000000..5aecf7dc4
Binary files /dev/null and b/core/src/edx/res/font/black.ttf differ
diff --git a/core/src/edx/res/font/bold.ttf b/core/src/edx/res/font/bold.ttf
new file mode 100644
index 000000000..8e82c70d1
Binary files /dev/null and b/core/src/edx/res/font/bold.ttf differ
diff --git a/core/src/edx/res/font/extra_light.ttf b/core/src/edx/res/font/extra_light.ttf
new file mode 100644
index 000000000..c993e8221
Binary files /dev/null and b/core/src/edx/res/font/extra_light.ttf differ
diff --git a/core/src/edx/res/font/light.ttf b/core/src/edx/res/font/light.ttf
new file mode 100644
index 000000000..71188f5cb
Binary files /dev/null and b/core/src/edx/res/font/light.ttf differ
diff --git a/core/src/edx/res/font/medium.ttf b/core/src/edx/res/font/medium.ttf
new file mode 100644
index 000000000..b53fb1c4a
Binary files /dev/null and b/core/src/edx/res/font/medium.ttf differ
diff --git a/core/src/edx/res/font/regular.ttf b/core/src/edx/res/font/regular.ttf
new file mode 100644
index 000000000..3b7e686e5
Binary files /dev/null and b/core/src/edx/res/font/regular.ttf differ
diff --git a/core/src/edx/res/font/semi_bold.ttf b/core/src/edx/res/font/semi_bold.ttf
new file mode 100644
index 000000000..556e972f4
Binary files /dev/null and b/core/src/edx/res/font/semi_bold.ttf differ
diff --git a/core/src/edx/res/font/thin.ttf b/core/src/edx/res/font/thin.ttf
new file mode 100644
index 000000000..fe77243fc
Binary files /dev/null and b/core/src/edx/res/font/thin.ttf differ
diff --git a/core/src/edx/res/values-night/colors.xml b/core/src/edx/res/values-night/colors.xml
new file mode 100644
index 000000000..80155c620
--- /dev/null
+++ b/core/src/edx/res/values-night/colors.xml
@@ -0,0 +1,7 @@
+
+
+
+ #FF00262b
+ #FFFBFAF9
+ #00262B
+
diff --git a/core/src/edx/res/values/colors.xml b/core/src/edx/res/values/colors.xml
new file mode 100644
index 000000000..96839eb98
--- /dev/null
+++ b/core/src/edx/res/values/colors.xml
@@ -0,0 +1,7 @@
+
+
+ #FFFFFF
+
+ #00262B
+ #FFFFFF
+