diff --git a/app/assets/stylesheets/sections/login.scss b/app/assets/stylesheets/sections/login.scss
index 487b647e9bd65f854867c1b9a1269e1238b93a76..0e9a6a0a39224067b8ddffb1e6bf1c2d38f28ed9 100644
--- a/app/assets/stylesheets/sections/login.scss
+++ b/app/assets/stylesheets/sections/login.scss
@@ -6,12 +6,6 @@
   }
 
   .login-box{
-    position: relative;
-    margin: auto;
-    padding: 20px;
-    background: #f5f5f5;
-    border: 1px solid #EEE;
-    @include box-shadow(0 1px 1px rgba(0, 0, 0, 0.05));
   }
 
   .brand-image {
@@ -27,7 +21,7 @@
   }
 
   .form-control {
-    background-color: #FFF;
+    background-color: #F5F5F5;
     font-size: 16px;
     padding: 14px 10px;
     width: 100%;
@@ -49,6 +43,10 @@
       margin-bottom:0px;
       @include border-radius(0);
     }
+
+    &:active, &:focus {
+      background-color: #FFF;
+    }
   }
 
   .login-box a.forgot {
diff --git a/app/views/devise/confirmations/new.html.haml b/app/views/devise/confirmations/new.html.haml
index bf634d9de60b9189658c490e1ae89ad18da2bb03..08e174908654f9585048cfd37b06d2dfbac6ee9e 100755
--- a/app/views/devise/confirmations/new.html.haml
+++ b/app/views/devise/confirmations/new.html.haml
@@ -1,15 +1,13 @@
-.login-box
-  %h3.page-title Resend confirmation instructions
-  = form_for(resource, as: resource_name, url: confirmation_path(resource_name), html: { method: :post }) do |f|
-    .devise-errors
-      = devise_error_messages!
-    .clearfix.append-bottom-20
-      = f.email_field :email, placeholder: 'Email', class: "form-control", required: true
-    .clearfix.append-bottom-10
-      = f.submit "Resend confirmation instructions", class: 'btn btn-success'
-  %hr
-  %p
-    %span.light
-      Already have login and password?
-    %strong
-      = link_to "Sign in", new_session_path(resource_name)
+.login-box.panel.panel-default
+  .panel-heading
+    %h3.panel-title Resend confirmation instructions
+  .panel-body
+    = form_for(resource, as: resource_name, url: confirmation_path(resource_name), html: { method: :post }) do |f|
+      .devise-errors
+        = devise_error_messages!
+      .clearfix.append-bottom-20
+        = f.email_field :email, placeholder: 'Email', class: "form-control", required: true
+      .clearfix.append-bottom-10
+        = f.submit "Resend confirmation instructions", class: 'btn btn-success'
+  .panel-footer
+    = render 'devise/shared/sign_in_link'
diff --git a/app/views/devise/passwords/edit.html.haml b/app/views/devise/passwords/edit.html.haml
index 95c52608e1f29b225fa713a52cc46ce80479cd5d..efcd0296176fff3d85c952bd1166c73c17ed6c1c 100644
--- a/app/views/devise/passwords/edit.html.haml
+++ b/app/views/devise/passwords/edit.html.haml
@@ -1,15 +1,18 @@
-= form_for(resource, as: resource_name, url: password_path(resource_name), html: { method: :put, class: "login-box" }) do |f|
-  %h3 Change your password
-  .devise-errors
-    = devise_error_messages!
-  = f.hidden_field :reset_password_token
-  %div
-    = f.password_field :password, class: "form-control top", placeholder: "New password", required: true
-  %div
-    = f.password_field :password_confirmation, class: "form-control bottom", placeholder: "Confirm new password", required: true
-  %div
-  .clearfix.append-bottom-10
-    = f.submit "Change my password", class: "btn btn-primary"
-    = link_to "Sign in", new_session_path(resource_name), class: "btn pull-right"
-  %div
-    = link_to "Didn't receive confirmation instructions?", new_confirmation_path(resource_name)
+.login-box.panel.panel-default
+  .panel-heading
+    %h3.panel-title Change your password
+  .panel-body
+    = form_for(resource, as: resource_name, url: password_path(resource_name), html: { method: :put }) do |f|
+      .devise-errors
+        = devise_error_messages!
+      = f.hidden_field :reset_password_token
+      %div
+        = f.password_field :password, class: "form-control top", placeholder: "New password", required: true
+      %div
+        = f.password_field :password_confirmation, class: "form-control bottom", placeholder: "Confirm new password", required: true
+      .clearfix.append-bottom-10
+        = f.submit "Change my password", class: "btn btn-primary"
+  .panel-footer
+    %p
+      = link_to "Didn't receive confirmation instructions?", new_confirmation_path(resource_name)
+    = render 'devise/shared/sign_in_link'
diff --git a/app/views/devise/passwords/new.html.haml b/app/views/devise/passwords/new.html.haml
index 040821ca32adf1c6c8b7c7af905355eefa2471db..bf44dee5ad78271bfa13962059a97272d6d07e70 100755
--- a/app/views/devise/passwords/new.html.haml
+++ b/app/views/devise/passwords/new.html.haml
@@ -1,14 +1,13 @@
-= form_for(resource, as: resource_name, url: password_path(resource_name), html: { class: "login-box", method: :post }) do |f|
-  %h3.page-title Reset password
-  .devise-errors
-    = devise_error_messages!
-  .clearfix.append-bottom-20
-    = f.email_field :email, placeholder: "Email",  class: "form-control", required: true
-  .clearfix.append-bottom-10
-    = f.submit "Reset password", class: "btn-primary btn"
-  %hr
-  %p
-    %span.light
-      Already have login and password?
-    %strong
-      = link_to "Sign in", new_session_path(resource_name)
+.login-box.panel.panel-default
+  .panel-heading
+    %h3.panel-title Reset password
+  .panel-body
+    = form_for(resource, as: resource_name, url: password_path(resource_name), html: { method: :post }) do |f|
+      .devise-errors
+        = devise_error_messages!
+      .clearfix.append-bottom-20
+        = f.email_field :email, placeholder: "Email",  class: "form-control", required: true
+      .clearfix.append-bottom-10
+        = f.submit "Reset password", class: "btn-primary btn"
+  .panel-footer
+    = render 'devise/shared/sign_in_link'
diff --git a/app/views/devise/registrations/new.html.haml b/app/views/devise/registrations/new.html.haml
index 24bc0406544541ca57cf5e449d3074757d5a7a62..52d484949b60b26b2ba98b7ba3a74a468b9abf87 100644
--- a/app/views/devise/registrations/new.html.haml
+++ b/app/views/devise/registrations/new.html.haml
@@ -1,24 +1,27 @@
-= form_for(resource, as: resource_name, url: registration_path(resource_name), html: { class: "login-box" }) do |f|
-  %h3.page-title Sign Up
-  .devise-errors
-    = devise_error_messages!
-  %div
-    = f.text_field :name, class: "form-control top", placeholder: "Name", required: true
-  %div
-    = f.text_field :username, class: "form-control middle", placeholder: "Username", required: true
-  %div
-    = f.email_field :email, class: "form-control middle", placeholder: "Email", required: true
-  %div
-    = f.password_field :password, class: "form-control middle", placeholder: "Password", required: true
-  %div
-    = f.password_field :password_confirmation, class: "form-control bottom", placeholder: "Confirm password", required: true
-  %div
-    = f.submit "Sign up", class: "btn-create btn"
-  %hr
-  %p
-    %span.light
-      Have an account?
-    %strong
-      = link_to "Sign in", new_session_path(resource_name)
-  %p
-    = link_to "Forgot your password?", new_password_path(resource_name)
+.login-box.panel.panel-success
+  .panel-heading
+    %h3.panel-title Sign up
+  .panel-body
+    = form_for(resource, as: resource_name, url: registration_path(resource_name)) do |f|
+      .devise-errors
+        = devise_error_messages!
+      %div
+        = f.text_field :name, class: "form-control top", placeholder: "Name", required: true
+      %div
+        = f.text_field :username, class: "form-control middle", placeholder: "Username", required: true
+      %div
+        = f.email_field :email, class: "form-control middle", placeholder: "Email", required: true
+      %div
+        = f.password_field :password, class: "form-control middle", placeholder: "Password", required: true
+      %div
+        = f.password_field :password_confirmation, class: "form-control bottom", placeholder: "Confirm password", required: true
+      %div
+        = f.submit "Sign up", class: "btn-create btn"
+  .panel-footer
+    %p
+      %span.light
+        Have an account?
+      %strong
+        = link_to "Sign in", new_session_path(resource_name)
+    %p
+      = link_to "Forgot your password?", new_password_path(resource_name)
diff --git a/app/views/devise/sessions/_new_base.html.haml b/app/views/devise/sessions/_new_base.html.haml
index 989fcb4a63fb3c466b6f5119866970a109b4d838..d26c0c92cb8676d199c648f5179bf0a922f8e322 100644
--- a/app/views/devise/sessions/_new_base.html.haml
+++ b/app/views/devise/sessions/_new_base.html.haml
@@ -8,7 +8,7 @@
         %span Remember me
   %div
     = hidden_field_tag 'return_to', params[:return_to]
-    = f.submit "Sign in", class: "btn-create btn"
+    = f.submit "Sign in", class: "btn-save btn"
 
     .pull-right
       = link_to "Forgot your password?", new_password_path(resource_name), class: "btn"
diff --git a/app/views/devise/sessions/_new_ldap.html.haml b/app/views/devise/sessions/_new_ldap.html.haml
index bb1d0a4001f0e217b9581594a4e30a7102ce2460..6c5a878e904abe7939de514b3951d2724fef29ad 100644
--- a/app/views/devise/sessions/_new_ldap.html.haml
+++ b/app/views/devise/sessions/_new_ldap.html.haml
@@ -2,4 +2,4 @@
   = text_field_tag :username, nil, {class: "form-control top", placeholder: "LDAP Login", autofocus: "autofocus"}
   = password_field_tag :password, nil, {class: "form-control bottom", placeholder: "Password"}
   %br/
-  = submit_tag "LDAP Sign in", class: "btn-create btn"
+  = submit_tag "LDAP Sign in", class: "btn-save btn"
diff --git a/app/views/devise/sessions/new.html.haml b/app/views/devise/sessions/new.html.haml
index 31221ae9c3797af2c2f04e265ba0b91f8a1517da..f53d6f09daf6da3cdefc312c856a7aca42c9b620 100644
--- a/app/views/devise/sessions/new.html.haml
+++ b/app/views/devise/sessions/new.html.haml
@@ -1,43 +1,42 @@
-.login-box
-  %h3.page-title Sign in
-  - if ldap_enabled? && gitlab_config.signin_enabled
-    %ul.nav.nav-tabs
-      %li.active
-        = link_to 'LDAP', '#tab-ldap', 'data-toggle' => 'tab'
-      %li
-        = link_to 'Standard', '#tab-signin', 'data-toggle' => 'tab'
-    .tab-content
-      %div#tab-ldap.tab-pane.active
-        = render partial: 'devise/sessions/new_ldap'
-      %div#tab-signin.tab-pane
-        = render partial: 'devise/sessions/new_base'
+.login-box.panel.panel-primary
+  .panel-heading
+    %h3.panel-title Sign in
+  .panel-body
+    - if ldap_enabled? && gitlab_config.signin_enabled
+      %ul.nav.nav-tabs
+        %li.active
+          = link_to 'LDAP', '#tab-ldap', 'data-toggle' => 'tab'
+        %li
+          = link_to 'Standard', '#tab-signin', 'data-toggle' => 'tab'
+      .tab-content
+        %div#tab-ldap.tab-pane.active
+          = render partial: 'devise/sessions/new_ldap'
+        %div#tab-signin.tab-pane
+          = render partial: 'devise/sessions/new_base'
+
+    - elsif ldap_enabled?
+      = render partial: 'devise/sessions/new_ldap'
+    - elsif gitlab_config.signin_enabled
+      = render partial: 'devise/sessions/new_base'
+    - else
+      %div
+        No authentication methods configured.
+
+    = render 'devise/sessions/oauth_providers' if Gitlab.config.omniauth.enabled && devise_mapping.omniauthable?
+
+  .panel-footer
+    - if gitlab_config.signup_enabled
+      %p
+        %span.light
+          Don't have an account?
+        %strong
+          = link_to "Sign up", new_registration_path(resource_name)
 
-  - elsif ldap_enabled?
-    = render partial: 'devise/sessions/new_ldap'
-
-  - elsif gitlab_config.signin_enabled
-    = render partial: 'devise/sessions/new_base'
-
-  - else
-    %div
-      No authentication methods configured.
-
-
-  = render 'devise/sessions/oauth_providers' if Gitlab.config.omniauth.enabled && devise_mapping.omniauthable?
-  %hr
-
-  - if gitlab_config.signup_enabled
     %p
-      %span.light
-        Don't have an account?
-      %strong
-        = link_to "Sign up", new_registration_path(resource_name)
-
-  %p
-    %span.light Did not receive confirmation email?
-    = link_to "Send again", new_confirmation_path(resource_name)
+      %span.light Did not receive confirmation email?
+      = link_to "Send again", new_confirmation_path(resource_name)
 
 
-  - if extra_config.has_key?('sign_in_text')
-    %hr
-    = markdown(extra_config.sign_in_text)
+    - if extra_config.has_key?('sign_in_text')
+      %hr
+      = markdown(extra_config.sign_in_text)
diff --git a/app/views/devise/shared/_sign_in_link.html.haml b/app/views/devise/shared/_sign_in_link.html.haml
new file mode 100644
index 0000000000000000000000000000000000000000..fafc4b82f5394cf258ddc2fda1310b153b9a3537
--- /dev/null
+++ b/app/views/devise/shared/_sign_in_link.html.haml
@@ -0,0 +1,5 @@
+%p
+  %span.light
+    Already have login and password?
+  %strong
+    = link_to "Sign in", new_session_path(resource_name)