diff --git a/password.html b/password.html
index 3ef0b278b..593a4c1d3 100644
--- a/password.html
+++ b/password.html
@@ -1,5 +1,14 @@
+<!DOCTYPE html>
 <html>
   <head>
+    <meta charset="utf-8" />
+    <meta
+      content="width=device-width, user-scalable=no, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0"
+      name="viewport"
+    />
+    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
+    <meta name="description" content="" />
+    <meta name="viewport" content="width=device-width, initial-scale=1" />
     <meta
       http-equiv="Content-Security-Policy"
       content="default-src 'none';
@@ -14,6 +23,7 @@
             script-src 'self' 'unsafe-inline';
             style-src 'self' 'unsafe-inline';"
     />
+    <link href="images/sesion/session_icon_128.png" rel="shortcut icon" />
     <link href="stylesheets/dist/manifest.css" rel="stylesheet" type="text/css" />
   </head>
   <body>
diff --git a/stylesheets/_session.scss b/stylesheets/_session.scss
index ab5c0a065..3e1ca5e9b 100644
--- a/stylesheets/_session.scss
+++ b/stylesheets/_session.scss
@@ -73,27 +73,17 @@ textarea {
 }
 
 .session-label {
-  color: var(--color-white-color);
+  font-weight: 700;
+  color: var(--white-color);
   padding: var(--margins-sm);
   width: 100%;
   border-radius: 2px;
   text-align: center;
   &.primary {
-    background-color: var(--color-dark-gray-color);
-  }
-  &.secondary {
-    background-color: var(--color-darkest-gray-color);
-  }
-  &.success {
-    /* TODO is this correct? */
-    background-color: var(--color-text);
+    background-color: var(--primary-color);
   }
   &.danger {
-    background-color: var(--color-destructive);
-  }
-  /* TODO Is this correct? */
-  &.warning {
-    background-color: var(--color-warning);
+    background-color: var(--danger-color);
   }
 }
 
diff --git a/stylesheets/_session_password.scss b/stylesheets/_session_password.scss
index c3016662e..a8d1153a7 100644
--- a/stylesheets/_session_password.scss
+++ b/stylesheets/_session_password.scss
@@ -22,23 +22,18 @@
       justify-content: center;
       align-items: center;
 
-      background-color: var(--color-black-color);
-
       width: 100%;
       height: 100%;
 
-      padding: 3 * $session-margin-lg;
+      padding: calc(3 * var(--margins-lg));
     }
 
     &-error-section {
       width: 100%;
-      color: white;
-      margin: -var(--margins-sm) 0px 2 * $session-margin-lg 0px;
+      color: var(--text-primary-color);
+      margin: -var(--margins-sm) 0px calc(2 * var(--margins-lg)) 0px;
 
       .session-label {
-        &.primary {
-          background-color: rgba(var(--color-dark-gray-color-rgb), 0.3);
-        }
         padding: var(--margins-xs) var(--margins-sm);
         text-align: center;
       }
@@ -46,7 +41,7 @@
 
     &-container {
       font-family: $session-font-default;
-      color: white;
+      color: var(--text-primary-color);
       display: inline-flex;
       flex-direction: column;
       align-items: center;
@@ -54,10 +49,10 @@
 
       width: 600px;
       min-width: 420px;
-      padding: 3 * $session-margin-lg 2 * $session-margin-lg;
+      padding: calc(3 * var(--margins-lg)) calc(2 * var(--margins-lg));
       box-sizing: border-box;
-      background-color: var(--color-darkest-gray-color);
-      border: 1px solid var(--color-darker-gray-color);
+      background-color: var(--background-secondary-color);
+      border: 1px solid var(--border-color);
       border-radius: 2px;
 
       .warning-info-area,
@@ -67,7 +62,7 @@
         align-items: center;
 
         h1 {
-          color: white;
+          color: var(--text-primary-color);
         }
         svg {
           margin-inline-end: var(--margins-lg);
@@ -85,13 +80,13 @@
 
       #password-prompt-input {
         width: 100%;
-        color: var(--color-white-color);
-        background-color: var(--color-darker-gray-color);
-        margin-top: 2 * $session-margin-lg;
+        background-color: var(--text-box-background-color);
+        color: var(--text-box-text-user-color);
+        margin-top: calc(2 * var(--margins-lg));
         padding: var(--margins-xs) var(--margins-lg);
         outline: none;
-        border: none;
-        border-radius: 2px;
+        border: 1px solid var(--border-color);
+        border-radius: 7px;
         text-align: center;
         font-size: 24px;
         letter-spacing: 5px;
diff --git a/ts/components/SessionPasswordPrompt.tsx b/ts/components/SessionPasswordPrompt.tsx
index 40055805b..0c189af71 100644
--- a/ts/components/SessionPasswordPrompt.tsx
+++ b/ts/components/SessionPasswordPrompt.tsx
@@ -1,12 +1,16 @@
-import React from 'react';
+import React, { useEffect } from 'react';
 import classNames from 'classnames';
 
 import { SessionIcon } from './icon';
-import { withTheme } from 'styled-components';
 import autoBind from 'auto-bind';
-import { SessionButton, SessionButtonColor } from './basic/SessionButton';
-import { Constants } from '../session';
+import { SessionButton, SessionButtonColor, SessionButtonType } from './basic/SessionButton';
 import { SessionSpinner } from './basic/SessionSpinner';
+import {
+  SessionTheme,
+  switchHtmlToDarkTheme,
+  switchHtmlToLightTheme,
+} from '../themes/SessionTheme';
+import styled from 'styled-components';
 
 interface State {
   error: string;
@@ -17,11 +21,16 @@ interface State {
 
 export const MAX_LOGIN_TRIES = 3;
 
+const StyledTextPleaseWait = styled.div`
+  margin: var(--margins-sm) 0;
+  font-weight: 700;
+`;
+
 const TextPleaseWait = (props: { isLoading: boolean }) => {
   if (!props.isLoading) {
     return null;
   }
-  return <div>{window.i18n('pleaseWaitOpenAndOptimizeDb')}</div>;
+  return <StyledTextPleaseWait>{window.i18n('pleaseWaitOpenAndOptimizeDb')}</StyledTextPleaseWait>;
 };
 
 class SessionPasswordPromptInner extends React.PureComponent<{}, State> {
@@ -78,18 +87,18 @@ class SessionPasswordPromptInner extends React.PureComponent<{}, State> {
       />
     );
     const infoIcon = this.state.clearDataView ? (
-      <SessionIcon iconType="warning" iconSize={35} iconColor="#ce0000" />
+      <SessionIcon iconType="warning" iconSize={35} iconColor="var(--danger-color)" />
     ) : (
-      <SessionIcon iconType="lock" iconSize={35} iconColor={Constants.UI.COLORS.GREEN} />
+      <SessionIcon iconType="lock" iconSize={35} iconColor={'var(--primary-color)'} />
     );
     const errorSection = !this.state.clearDataView && (
       <div className="password-prompt-error-section">
         {this.state.error && (
           <>
             {showResetElements ? (
-              <div className="session-label warning">{window.i18n('maxPasswordAttempts')}</div>
+              <div className="session-label danger">{window.i18n('maxPasswordAttempts')}</div>
             ) : (
-              <div className="session-label primary">{this.state.error}</div>
+              <div className="session-label danger">{this.state.error}</div>
             )}
           </>
         )}
@@ -174,7 +183,7 @@ class SessionPasswordPromptInner extends React.PureComponent<{}, State> {
       <div className={classNames(showResetElements && 'button-group')}>
         <SessionButton
           text={window.i18n('unlock')}
-          buttonColor={SessionButtonColor.Primary}
+          buttonType={SessionButtonType.Simple}
           onClick={this.initLogin}
         />
         {showResetElements && (
@@ -182,6 +191,7 @@ class SessionPasswordPromptInner extends React.PureComponent<{}, State> {
             <SessionButton
               text="Reset Database"
               buttonColor={SessionButtonColor.Danger}
+              buttonType={SessionButtonType.Simple}
               onClick={this.initClearDataView}
             />
           </>
@@ -196,10 +206,12 @@ class SessionPasswordPromptInner extends React.PureComponent<{}, State> {
         <SessionButton
           text={window.i18n('clearAllData')}
           buttonColor={SessionButtonColor.Danger}
+          buttonType={SessionButtonType.Simple}
           onClick={window.clearLocalData}
         />
         <SessionButton
           text={window.i18n('cancel')}
+          buttonType={SessionButtonType.Simple}
           onClick={() => {
             this.setState({ clearDataView: false });
           }}
@@ -209,4 +221,18 @@ class SessionPasswordPromptInner extends React.PureComponent<{}, State> {
   }
 }
 
-export const SessionPasswordPrompt = withTheme(SessionPasswordPromptInner);
+export const SessionPasswordPrompt = () => {
+  useEffect(() => {
+    if ((window as any).theme === 'dark') {
+      switchHtmlToDarkTheme();
+    } else {
+      switchHtmlToLightTheme();
+    }
+  }, []);
+
+  return (
+    <SessionTheme>
+      <SessionPasswordPromptInner />
+    </SessionTheme>
+  );
+};
diff --git a/ts/components/dialog/SessionPasswordDialog.tsx b/ts/components/dialog/SessionPasswordDialog.tsx
index 09a8daa39..4bbb8cb03 100644
--- a/ts/components/dialog/SessionPasswordDialog.tsx
+++ b/ts/components/dialog/SessionPasswordDialog.tsx
@@ -140,7 +140,7 @@ export class SessionPasswordDialog extends React.Component<Props, State> {
       <>
         {message && (
           <>
-            <div className="session-label warning">{message}</div>
+            <div className="session-label danger">{message}</div>
             <SpacerLG />
           </>
         )}
diff --git a/ts/components/settings/SessionSettings.tsx b/ts/components/settings/SessionSettings.tsx
index ac5c63d53..78f7b12a3 100644
--- a/ts/components/settings/SessionSettings.tsx
+++ b/ts/components/settings/SessionSettings.tsx
@@ -127,7 +127,7 @@ const PasswordLock = ({
           autoFocus={true}
         />
 
-        {pwdLockError && <div className="session-label warning">{pwdLockError}</div>}
+        {pwdLockError && <div className="session-label danger">{pwdLockError}</div>}
 
         <SessionButton
           buttonType={SessionButtonType.Simple}