/* Retail HUB login page */

:root {
  --retail-primary: #4b00a8;
  --retail-primary-dark: #1b064f;
  --retail-accent: #7c3aed;
  --retail-bg: #f7f5fb;
  --retail-border: #e2e5ea;
  --retail-text: #111827;
  --retail-muted: #6b7280;
  --retail-field: #f9fafb;
  --retail-shadow: 0 28px 90px rgba(27, 6, 79, 0.16);
}

html,
body {
  min-height: 100%;
}

body.bg-100 {
  /* background:
        radial-gradient(circle at 12% 18%, rgba(124, 58, 237, 0.10), transparent 30%),
        radial-gradient(circle at 86% 8%, rgba(75, 0, 168, 0.10), transparent 28%),
        var(--retail-bg) !important; */
  color: var(--retail-text);
  font-family: var(--gt-font-family);
  line-height: var(--gt-line-height);
}

.retail-login-page {
  --rls: 0.9;
  align-items: center;
  display: flex;
  font-family: var(--gt-font-family);
  line-height: var(--gt-line-height);
  justify-content: center;
  min-height: 100vh;
  padding: calc(30px * var(--rls));
}

.retail-login-page input,
.retail-login-page button,
.retail-login-page select,
.retail-login-page textarea,
.retail-login-page .form-control,
.retail-login-page .btn {
  font-family: var(--gt-font-family);
}

.retail-login-shell {
  background: #fff;
  border: 1px solid rgba(226, 229, 234, 0.78);
  border-radius: calc(22px * var(--rls));
  box-shadow: var(--retail-shadow);
  display: grid;
  grid-template-columns: minmax(calc(380px * var(--rls)), 40%) minmax(0, 60%);
  min-height: min(calc(820px * var(--rls)), calc(100vh - calc(80px * var(--rls))));
  overflow: hidden;
  width: min(calc(1500px * var(--rls)), 100%);
}

.retail-login-panel {
  min-width: 0;
}

.retail-login-panel--form {
  background: #fff;
}

.retail-login-form-inner {
  display: flex;
  flex-direction: column;
  min-height: 100%;
  padding: clamp(calc(36px * var(--rls)), 5vw, calc(64px * var(--rls)));
  position: relative;
}

.retail-login-logo {
  align-items: center;
  display: flex;
  justify-content: center;
  /* margin-bottom: clamp(46px, 7vh, 76px); */
  margin-bottom: calc(20px * var(--rls));
  margin-top: calc(26px * var(--rls));
  text-align: center;
}

.retail-login-logo-img {
  display: block;
  height: auto;
  max-height: calc(96px * var(--rls));
  /* max-width: 220px; */
  width: auto;
}

.oe_structure {
  min-height: 0;
}

.oe_login_form {
  margin: 0;
  width: 100%;
  max-width: none !important;
}

/* Forcefully hide the Apps Switcher (3x3 grid) on the frontend Website Edit bar 
   to keep tenants locked inside the Retail HUB SPA dashboard */
.o_main_navbar .o_menu_apps,
.o_main_navbar .dropdown.o_navbar_apps_menu,
.o_frontend_navbar .o_menu_apps,
.o_frontend_navbar .dropdown.o_navbar_apps_menu {
    display: none !important;
}

.retail-login-page .oe_login_form.d-none {
  display: block !important;
}

.retail-login-intro {
  margin-bottom: calc(46px * var(--rls));
  text-align: center;
}

.retail-login-intro h1 {
  color: var(--retail-text);
  font-family: var(--gt-font-family);
  font-size: clamp(calc(32px * var(--rls)), 4vw, calc(42px * var(--rls)));
  font-weight: 800;
  letter-spacing: 0;
  line-height: var(--gt-line-height);
  margin: 0 0 calc(12px * var(--rls));
}

.retail-login-intro p {
  color: var(--retail-muted);
  font-size: calc(17px * var(--rls));
  line-height: 1.55;
  margin: 0;
}

.oe_login_form .mb-3,
.oe_login_form .o_caps_lock_warning {
  margin-bottom: calc(28px * var(--rls)) !important;
}

.retail-login-label,
.oe_login_form .col-form-label,
.field-organization > label,
.field-organization .form-label {
  color: var(--retail-text);
  font-size: calc(15px * var(--rls));
  font-weight: 700 !important;
  line-height: 1.3;
  margin-bottom: calc(12px * var(--rls));
}

.retail-login-password-row {
  align-items: center;
  display: flex;
  justify-content: space-between;
  margin-bottom: calc(12px * var(--rls));
}

.retail-login-password-row .form-label {
  margin-bottom: 0;
}

.retail-login-forgot,
.oe_login_form a,
.o_database_list a {
  color: var(--retail-primary) !important;
  font-weight: 700;
  text-decoration: none;
}

.retail-login-forgot {
  display: none !important;
}

.retail-login-forgot:hover,
.retail-login-forgot:focus-visible,
.oe_login_form a:hover,
.oe_login_form a:focus-visible,
.o_database_list a:hover,
.o_database_list a:focus-visible {
  color: var(--retail-accent) !important;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.retail-login-input-wrap,
.o_caps_lock_warning .input-group {
  position: relative;
}

.retail-field-icon {
  color: #75819a;
  font-size: calc(18px * var(--rls));
  left: calc(20px * var(--rls));
  line-height: 1;
  pointer-events: none;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 7;
}

.oe_login_form .form-control {
  background-color: var(--retail-field);
  border: 1px solid #cbd2de;
  border-radius: calc(10px * var(--rls)) !important;
  box-shadow: none;
  color: var(--retail-text);
  font-size: calc(16px * var(--rls));
  font-weight: 600;
  min-height: calc(58px * var(--rls));
  padding: calc(6px * var(--rls)) calc(18px * var(--rls)) calc(6px * var(--rls))
    calc(56px * var(--rls));
  transition:
    border-color 160ms ease,
    box-shadow 160ms ease,
    background-color 160ms ease;
}

.oe_login_form .form-control::placeholder {
  color: #75819a;
  font-weight: 500;
}

.oe_login_form .form-control:focus {
  background-color: #fff;
  border-color: var(--retail-primary) !important;
  box-shadow: 0 0 0 4px rgba(124, 58, 237, 0.15) !important;
}

.oe_login_form .input-group .form-control {
  border-right: 1px solid #cbd2de;
  border-radius: calc(10px * var(--rls)) !important;
  padding-right: calc(56px * var(--rls));
  position: relative;
  width: 100%;
  z-index: 1;
}

.retail-login-input-wrap .form-control {
  position: relative;
  z-index: 1;
}

.retail-login-recent-stores {
  background: #fff;
  border: 1px solid var(--retail-border);
  border-radius: calc(12px * var(--rls));
  box-shadow: 0 14px 36px rgba(27, 6, 79, 0.16);
  left: 0;
  margin-top: 0;
  max-height: min(calc(168px * var(--rls)), 40vh);
  overflow-y: auto;
  padding: calc(10px * var(--rls)) calc(12px * var(--rls));
  position: absolute;
  right: 0;
  top: calc(100% + calc(6px * var(--rls)));
  z-index: 30;
}

.retail-login-recent-stores[hidden] {
  display: none !important;
}

.retail-login-recent-stores-label {
  color: var(--retail-muted);
  display: block;
  font-size: calc(11px * var(--rls));
  font-weight: 600;
  letter-spacing: 0.02em;
  margin-bottom: calc(6px * var(--rls));
}

.retail-login-recent-stores-chips {
  display: flex;
  flex-wrap: wrap;
  gap: calc(6px * var(--rls));
}

.retail-login-store-chip {
  align-items: center;
  background: var(--retail-field);
  border: 1px solid var(--retail-border);
  border-radius: 999px;
  display: inline-flex;
  max-width: 100%;
  overflow: hidden;
}

.retail-login-store-chip-select {
  background: transparent;
  border: 0;
  color: var(--retail-text);
  cursor: pointer;
  font: inherit;
  font-size: calc(13px * var(--rls));
  font-weight: 600;
  max-width: calc(180px * var(--rls));
  overflow: hidden;
  padding: calc(6px * var(--rls)) calc(4px * var(--rls)) calc(6px * var(--rls))
    calc(12px * var(--rls));
  text-overflow: ellipsis;
  white-space: nowrap;
}

.retail-login-store-chip-select:hover,
.retail-login-store-chip-select:focus-visible {
  color: var(--retail-primary);
  outline: none;
}

.retail-login-store-chip-remove {
  align-items: center;
  background: transparent;
  border: 0;
  color: var(--retail-muted);
  cursor: pointer;
  display: inline-flex;
  font-size: calc(16px * var(--rls));
  justify-content: center;
  line-height: 1;
  min-height: calc(30px * var(--rls));
  min-width: calc(30px * var(--rls));
  padding: 0;
}

.retail-login-store-chip-remove:hover,
.retail-login-store-chip-remove:focus-visible {
  color: #b42318;
  outline: none;
}

.oe_login_form .input-group .o_show_password {
  align-items: center;
  background-color: transparent;
  border: 0 !important;
  border-radius: calc(8px * var(--rls)) !important;
  color: #75819a;
  display: inline-flex;
  justify-content: center;
  min-height: calc(42px * var(--rls));
  min-width: calc(42px * var(--rls));
  position: absolute;
  right: calc(8px * var(--rls));
  top: 50%;
  transform: translateY(-50%);
  transition:
    background-color 160ms ease,
    border-color 160ms ease,
    color 160ms ease;
  z-index: 8;
}

.oe_login_form .input-group .form-control:focus {
  z-index: 1;
}

.oe_login_form .input-group .form-control:focus + .o_show_password {
  background-color: transparent;
  box-shadow: none;
}

.oe_login_form .input-group .o_show_password:hover,
.oe_login_form .input-group .o_show_password:focus-visible {
  background-color: rgba(124, 58, 237, 0.08);
  color: var(--retail-primary);
}

.oe_login_form .input-group .o_show_password:focus-visible {
  box-shadow: 0 0 0 4px rgba(124, 58, 237, 0.18);
  outline: none;
}

.oe_login_buttons {
  margin-bottom: 0 !important;
  padding-top: calc(18px * var(--rls)) !important;
}

.oe_login_buttons .btn-primary {
  background: linear-gradient(
    135deg,
    var(--retail-primary) 0%,
    #5b00d6 52%,
    #3b008f 100%
  ) !important;
  border: 0 !important;
  border-radius: calc(10px * var(--rls));
  /* box-shadow: 0 18px 34px rgba(75, 0, 168, 0.25); */
  color: #fff !important;
  font-size: calc(18px * var(--rls));
  font-weight: 800;
  letter-spacing: 0;
  min-height: calc(64px * var(--rls));
  transition:
    box-shadow 180ms ease,
    filter 180ms ease,
    transform 180ms ease;
}

.oe_login_buttons .btn-primary:hover,
.oe_login_buttons .btn-primary:focus {
  /* box-shadow: 0 22px 42px rgba(75, 0, 168, 0.34); */
  filter: saturate(1.08) brightness(1.04);
  transform: translateY(-1px);
}

.oe_login_buttons .btn-primary:focus-visible {
  outline: 4px solid rgba(124, 58, 237, 0.25);
  outline-offset: 3px;
}

.oe_login_buttons .btn-primary:active {
  transform: translateY(0);
}

.oe_login_buttons .btn-primary:disabled,
.oe_login_buttons .btn-primary.disabled {
  cursor: not-allowed;
  filter: grayscale(0.25);
  opacity: 0.7;
  transform: none;
}

.oe_login_buttons .btn-link {
  margin-top: 20px;
}

.retail-login-choose-user {
  display: none !important;
}

.retail-login-choose-user:hover,
.retail-login-choose-user:focus-visible {
  color: var(--retail-accent) !important;
  text-decoration: underline;
  text-underline-offset: 4px;
}

.retail-login-choose-user:focus-visible {
  border-radius: 6px;
  box-shadow: 0 0 0 4px rgba(124, 58, 237, 0.16);
  outline: none;
}

.o_login_auth {
  display: none !important;
}

.o_user_switch_btn,
.o_user_switch {
  display: none !important;
}

.field-db {
  display: none !important;
}

body:has(.retail-login-page)
  > .text-center.mt-2:has(> a[href="/web/login/tenant"]),
body:has(.retail-login-page) a[href="/web/login/tenant"] {
  display: none !important;
}

a[href*="/web/signup"] {
  display: none !important;
}

.alert {
  border-radius: calc(10px * var(--rls));
  font-size: calc(14px * var(--rls));
  font-weight: 600;
}

.retail-login-language-switch {
  align-items: center;
  background: #f4f7fb;
  border: 1px solid var(--retail-border);
  border-radius: 999px;
  display: inline-flex;
  gap: calc(3px * var(--rls));
  margin: 0;
  padding: calc(4px * var(--rls));
  position: absolute;
  right: clamp(calc(20px * var(--rls)), 3vw, calc(34px * var(--rls)));
  top: clamp(calc(18px * var(--rls)), 3vw, calc(30px * var(--rls)));
  z-index: 2;
}

.retail-login-language-option {
  align-items: center;
  background: transparent;
  border: 0;
  border-radius: 999px;
  color: #687589;
  cursor: pointer;
  display: inline-flex;
  font-size: calc(12px * var(--rls));
  /* font-weight: 900; */
  gap: calc(6px * var(--rls));
  justify-content: center;
  letter-spacing: 0;
  line-height: 1;
  min-height: calc(24px * var(--rls));
  min-width: calc(48px * var(--rls));
  padding: 0 calc(12px * var(--rls));
  transition:
    background-color 0.18s ease,
    box-shadow 0.18s ease,
    color 0.18s ease;
}

.retail-login-language-flag {
  font-family:
    "Apple Color Emoji", "Segoe UI Emoji", "Noto Color Emoji", sans-serif;
  font-size: calc(15px * var(--rls));
  line-height: 1;
}

.retail-login-language-option:hover,
.retail-login-language-option:focus-visible {
  color: var(--retail-primary);
}

.retail-login-language-option:focus-visible {
  box-shadow: 0 0 0 4px rgba(124, 58, 237, 0.16);
  outline: none;
}

.retail-login-language-option.is-active {
  background: #ffffff;
  /* box-shadow: 0 8px 20px rgba(17, 24, 39, 0.12); */
  color: var(--retail-primary);
}

.retail-login-legal-copy {
  color: #748096;
  font-size: calc(12px * var(--rls));
  font-weight: 400;
  line-height: 1.55;
  margin: calc(18px * var(--rls)) auto 0;
  max-width: calc(500px * var(--rls));
  text-align: center;
}

.retail-login-legal-link {
  background: transparent;
  border: 0;
  color: var(--retail-primary);
  cursor: pointer;
  display: inline;
  font: inherit;
  font-weight: 600;
  padding: 0;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}

.retail-login-legal-link:hover,
.retail-login-legal-link:focus-visible {
  color: var(--retail-accent);
}

.retail-login-legal-link:focus-visible {
  border-radius: 4px;
  box-shadow: 0 0 0 4px rgba(124, 58, 237, 0.16);
  outline: none;
}

.retail-login-legal-modal .modal-dialog {
  max-width: min(calc(560px * var(--rls)), calc(100vw - calc(32px * var(--rls))));
}

.retail-login-legal-dialog {
  border: 0;
  border-radius: calc(12px * var(--rls));
  box-shadow: 0 24px 80px rgba(17, 24, 39, 0.22);
  overflow: hidden;
}

.retail-login-legal-dialog .modal-header,
.retail-login-legal-dialog .modal-footer {
  border-color: var(--retail-border);
  padding: calc(20px * var(--rls)) calc(24px * var(--rls));
}

.retail-login-legal-dialog .modal-title {
  color: var(--retail-text);
  font-family: var(--gt-font-family);
  font-size: calc(22px * var(--rls));
  font-weight: 800;
  letter-spacing: 0;
  line-height: var(--gt-line-height);
}

.retail-login-legal-dialog .modal-body {
  color: #4b5563;
  font-size: calc(15px * var(--rls));
  font-weight: 400;
  line-height: 1.65;
  padding: calc(22px * var(--rls)) calc(24px * var(--rls));
}

.retail-login-legal-dialog .modal-body p {
  margin: 0;
  font-weight: 400;
}

.retail-login-legal-dialog .modal-body p + p {
  margin-top: calc(14px * var(--rls));
}

.retail-login-legal-dialog .modal-footer .btn-primary {
  background: var(--retail-primary) !important;
  border: 0 !important;
  border-radius: calc(8px * var(--rls));
  font-size: calc(14px * var(--rls));
  font-weight: 800;
  min-height: calc(44px * var(--rls));
  padding: 0 calc(18px * var(--rls));
}

.retail-login-trust {
  align-items: center;
  color: #596579;
  display: flex;
  gap: calc(14px * var(--rls));
  justify-content: center;
  margin-top: auto;
  padding-top: calc(56px * var(--rls));
  text-align: center;
}

.retail-login-trust-icon {
  align-items: center;
  background: #ede5ff;
  border-radius: 999px;
  color: var(--retail-primary);
  display: inline-flex;
  flex: 0 0 46px;
  height: 46px;
  justify-content: center;
  width: 46px;
}

.retail-login-trust-icon,
.retail-login-trust strong {
  display: none !important;
}

.retail-login-trust strong,
.retail-login-trust small {
  display: block;
}

.retail-login-trust strong {
  color: #536074;
  font-size: calc(13px * var(--rls));
  line-height: 1.35;
}

.retail-login-trust small {
  color: #748096;
  font-size: calc(13px * var(--rls));
  margin-top: calc(4px * var(--rls));
}

.retail-login-panel--brand {
  background: var(--retail-primary-dark);
  isolation: isolate;
  min-height: 100%;
  overflow: hidden;
  position: relative;
}

/* .retail-login-panel--brand::before {
    background:
        radial-gradient(circle at 0% 100%, rgba(255, 255, 255, 0.86) 0, rgba(255, 255, 255, 0.62) 26%, rgba(255, 255, 255, 0.28) 48%, rgba(255, 255, 255, 0) 72%);
    bottom: -28%;
    content: "";
    height: min(560px, 72%);
    left: -20%;
    pointer-events: none;
    position: absolute;
    width: min(620px, 74%);
    z-index: 1;
} */

.retail-login-brand-img,
.retail-login-brand-overlay {
  inset: 0;
  position: absolute;
}

.retail-login-brand-img {
  height: 100%;
  object-fit: cover;
  object-position: center;
  width: 100%;
  z-index: 0;
}

/* .retail-login-brand-corner-logo {
    bottom: clamp(26px, 3.4vw, 46px);
    display: block;
    height: auto;
    left: clamp(28px, 4vw, 58px);
    max-width: min(260px, 32%);
    pointer-events: none;
    position: absolute;
    width: 260px;
    z-index: 3;
} */

.retail-login-brand-overlay {
  background: rgba(0, 0, 0, 0.2);
  pointer-events: none;
  z-index: 1;
}

.retail-login-brand-content {
  align-items: flex-start;
  top: 0;
  color: #fff;
  display: flex;
  flex-direction: column;
  gap: calc(18px * var(--rls));
  left: 0;
  /* max-width: min(calc(800px * var(--rls)), 95%); */
  max-width: 75%;
  padding: clamp(calc(40px * var(--rls)), 6vw, calc(40px * var(--rls)));
  position: absolute;
  white-space: normal;
  z-index: 4;
}

.retail-login-brand-content h2 {
  color: #fff;
  font-family: var(--gt-font-family);
  font-size: clamp(calc(32px * var(--rls)), 3.8vw, calc(54px * var(--rls)));
  font-weight: 800;
  letter-spacing: 0;
  line-height: var(--gt-line-height);
  margin: 0;
  text-shadow:
    0 1px 2px rgba(0, 0, 0, 0.7),
    0 4px 16px rgba(0, 0, 0, 0.45);
  white-space: pre-line;
}

.retail-login-brand-content p {
  color: rgba(255, 255, 255, 0.86);
  font-size: calc(18px * var(--rls));
  font-weight: 600;
  line-height: 1.5;
  margin: 0;
  /* max-width: calc(440px * var(--rls)); */
  text-shadow:
    0 1px 2px rgba(0, 0, 0, 0.65),
    0 3px 12px rgba(0, 0, 0, 0.4);
  white-space: pre-line;
}

.retail-login-feature-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.retail-login-feature-tags span {
  align-items: center;
  background: rgba(255, 255, 255, 0.12);
  border: 1px solid rgba(255, 255, 255, 0.24);
  border-radius: 999px;
  color: #fff;
  display: inline-flex;
  font-size: 13px;
  font-weight: 800;
  gap: 8px;
  min-height: 36px;
  padding: 0 14px;
}

.retail-login-feature-tags i {
  color: rgba(255, 255, 255, 0.82);
  font-size: 13px;
}

.input-group .btn:not(.o_show_password) {
  border-color: #cbd2de;
  color: var(--retail-text);
  font-weight: 700;
}

.input-group .btn:not(.o_show_password):hover,
.input-group .btn:not(.o_show_password):focus-visible {
  background-color: rgba(124, 58, 237, 0.08);
  border-color: var(--retail-primary);
  color: var(--retail-primary);
}

@media (max-width: 1100px) {
  .retail-login-page {
    padding: calc(28px * var(--rls));
  }

  .retail-login-shell {
    grid-template-columns: minmax(calc(340px * var(--rls)), 45%) minmax(0, 55%);
  }

  .retail-login-form-inner {
    padding: calc(40px * var(--rls));
  }

  .retail-login-brand-content {
    padding: calc(64px * var(--rls)) calc(46px * var(--rls));
  }
}

@media (max-height: 800px) and (min-width: 861px) {
  .retail-login-page {
    padding-bottom: calc(24px * var(--rls));
    padding-top: calc(24px * var(--rls));
  }

  .retail-login-shell {
    min-height: calc(100vh - calc(48px * var(--rls)));
  }

  .retail-login-form-inner {
    padding-bottom: calc(24px * var(--rls));
    padding-top: calc(24px * var(--rls));
  }

  .retail-login-logo {
    margin-bottom: calc(14px * var(--rls));
    margin-top: calc(36px * var(--rls));
  }

  .retail-login-logo-img {
    max-height: calc(54px * var(--rls));
  }

  .retail-login-intro {
    margin-bottom: calc(14px * var(--rls));
  }

  .retail-login-intro h1 {
    font-size: calc(34px * var(--rls));
    margin-bottom: calc(8px * var(--rls));
  }

  .retail-login-intro p {
    font-size: calc(15px * var(--rls));
  }

  .oe_login_form .mb-3,
  .oe_login_form .o_caps_lock_warning {
    margin-bottom: calc(14px * var(--rls)) !important;
  }

  .oe_login_form .form-control,
  .oe_login_form .input-group .o_show_password {
    min-height: calc(48px * var(--rls));
  }

  .oe_login_form .form-control {
    padding-bottom: calc(10px * var(--rls));
    padding-top: calc(10px * var(--rls));
  }

  .oe_login_buttons .btn-primary {
    min-height: calc(48px * var(--rls));
  }

  .retail-login-choose-user {
    margin-top: calc(8px * var(--rls));
  }

  .retail-login-trust {
    gap: calc(10px * var(--rls));
    padding-top: calc(14px * var(--rls));
  }

  .retail-login-trust-icon {
    flex-basis: calc(36px * var(--rls));
    height: calc(36px * var(--rls));
    width: calc(36px * var(--rls));
  }

  .retail-login-trust strong,
  .retail-login-trust small {
    font-size: calc(11px * var(--rls));
  }
}

@media (max-width: 860px) {
  .retail-login-page {
    align-items: stretch;
    padding: calc(18px * var(--rls));
  }

  .retail-login-shell {
    display: block;
    min-height: calc(100vh - calc(36px * var(--rls)));
    width: 100%;
  }

  .retail-login-panel--brand {
    display: none;
  }

  .retail-login-form-inner {
    min-height: calc(100vh - calc(36px * var(--rls)));
    padding: calc(32px * var(--rls)) calc(24px * var(--rls));
  }

  .retail-login-logo {
    margin-bottom: calc(42px * var(--rls));
    margin-top: calc(42px * var(--rls));
  }

  .retail-login-logo-img {
    max-height: calc(88px * var(--rls));
    max-width: calc(280px * var(--rls));
  }

  .retail-login-intro {
    margin-bottom: calc(34px * var(--rls));
  }

  .retail-login-intro h1 {
    font-size: calc(34px * var(--rls));
  }

  .retail-login-intro p {
    font-size: calc(16px * var(--rls));
  }

  .retail-login-trust {
    padding-top: calc(44px * var(--rls));
  }
}

@media (max-width: 420px) {
  .retail-login-page {
    padding: 0;
  }

  .retail-login-shell {
    border: 0;
    border-radius: 0;
    min-height: 100vh;
  }

  .retail-login-form-inner {
    min-height: 100vh;
    padding: calc(28px * var(--rls)) calc(18px * var(--rls));
  }

  .retail-login-language-switch {
    right: calc(16px * var(--rls));
    top: calc(16px * var(--rls));
  }

  .retail-login-language-option {
    gap: calc(5px * var(--rls));
    min-width: calc(58px * var(--rls));
    padding: 0 calc(10px * var(--rls));
  }

  .retail-login-password-row {
    align-items: flex-start;
    gap: calc(8px * var(--rls));
  }

  .oe_login_form .form-control,
  .oe_login_form .input-group .o_show_password {
    min-height: calc(56px * var(--rls));
  }
}
