/* Databank2u theme for the sign-in pages of a tenant (admin sign-in, customer sign-in, register, forgot password):
   same glass card and fields as the Databank2u sign-in, centred, with the instance's own logo (no Databank2u artwork).
   Loaded only on tenants, from application/config/databank2u_theme.php. */

body.login_admin,
body.authentication,
body.customers_login,
body.customers.register {
  font-family: Inter, "Segoe UI", Helvetica, Arial, sans-serif;
  color: #0b1f44;
  min-height: 100vh;
  background: transparent !important;
}
body.login_admin::before,
body.authentication::before,
body.customers_login::before,
body.customers.register::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background:
    radial-gradient(520px 520px at 8% 22%, rgba(205, 223, 255, .95), transparent 70%),
    radial-gradient(460px 460px at 96% 58%, rgba(211, 234, 249, .95), transparent 70%),
    radial-gradient(420px 420px at 42% 108%, rgba(223, 230, 243, .95), transparent 70%),
    linear-gradient(180deg, #fff 0%, #f2f5fb 100%);
}

/* ---------- glass card ---------- */
.login_admin .authentication-form-wrapper > div.tw-bg-white,
.authentication .authentication-form-wrapper > div.tw-bg-white,
.customers_login .panel_s,
.customers.register .panel_s {
  background: rgba(255, 255, 255, .66) !important;
  -webkit-backdrop-filter: blur(18px) saturate(160%);
  backdrop-filter: blur(18px) saturate(160%);
  border: 1px solid rgba(15, 35, 80, .08) !important;
  border-radius: 22px !important;
  box-shadow: 0 10px 30px rgba(20, 40, 90, .08), inset 0 1px 0 rgba(255, 255, 255, .95) !important;
}
.login_admin .authentication-form-wrapper > div.tw-bg-white,
.authentication .authentication-form-wrapper > div.tw-bg-white {
  padding: 34px 34px !important;
}
.customers_login .panel_s .panel-body,
.customers.register .panel_s .panel-body {
  padding: 34px;
  background: transparent;
  border: 0;
}

/* one centred column so the heading stays on one line */
.customers_login .mtop40 > [class*="col-md-4"],
.customers.register .mtop40 > [class*="col-md-4"] {
  float: none;
  width: 100%;
  max-width: 480px;
  margin-left: auto;
  margin-right: auto;
}

/* ---------- headings and copy ---------- */
.login_admin .authentication-form-wrapper h1,
.authentication .authentication-form-wrapper h1,
.customers_login .login-heading,
.customers.register .login-heading {
  color: #0b1f44 !important;
  font-weight: 800;
  letter-spacing: -.02em;
}
.customers_login .login-heading,
.customers.register .login-heading { font-size: 30px; margin-bottom: 24px; }
.login_admin .authentication-form-wrapper p,
.authentication .authentication-form-wrapper p { color: #64748b; }
.login_admin .authentication-form-wrapper { padding-top: 7vh; }

/* ---------- logo ---------- */
.login_admin .company-logo img,
.authentication .company-logo img { max-height: 58px; width: auto; mix-blend-mode: multiply; }
.customers_login .navbar-brand img,
.customers.register .navbar-brand img { max-height: 40px; width: auto; mix-blend-mode: multiply; }

/* ---------- fields ---------- */
.login_admin label,
.authentication label,
.customers_login label,
.customers.register label {
  color: #334155;
  font-weight: 600;
}
.login_admin .form-control,
.authentication .form-control,
.customers_login .form-control,
.customers.register .form-control {
  height: 46px;
  padding: 0 15px;
  color: #0b1f44;
  background: rgba(255, 255, 255, .85);
  border: 1px solid rgba(15, 35, 80, .14);
  border-radius: 12px;
  box-shadow: none;
  transition: border-color .15s, box-shadow .15s;
}
.login_admin .form-control:focus,
.authentication .form-control:focus,
.customers_login .form-control:focus,
.customers.register .form-control:focus {
  border-color: #1f56d6;
  box-shadow: 0 0 0 4px rgba(31, 86, 214, .14);
}

/* ---------- buttons ---------- */
.login_admin .btn-primary,
.authentication .btn-primary,
.customers_login .btn-primary,
.customers.register .btn-primary {
  height: 46px;
  color: #fff;
  font-weight: 600;
  background: linear-gradient(135deg, #1f56d6 0%, #2a8fe6 100%) !important;
  border: 0 !important;
  border-radius: 999px;
  box-shadow: 0 6px 18px rgba(31, 86, 214, .28);
  transition: transform .15s, box-shadow .15s;
}
.login_admin .btn-primary:hover,
.authentication .btn-primary:hover,
.customers_login .btn-primary:hover,
.customers.register .btn-primary:hover {
  transform: translateY(-1px);
  box-shadow: 0 8px 24px rgba(31, 86, 214, .38);
}
.customers_login .btn-default,
.customers.register .btn-default {
  height: 46px;
  line-height: 32px;
  color: #0b1f44;
  font-weight: 600;
  background: rgba(255, 255, 255, .78);
  border: 1px solid rgba(15, 35, 80, .14);
  border-radius: 999px;
  box-shadow: none;
}
.customers_login .btn-default:hover,
.customers.register .btn-default:hover { background: #fff; border-color: rgba(31, 86, 214, .4); }

.login_admin a.text-muted,
.authentication a.text-muted,
.customers_login a.text-muted,
.customers.register a.text-muted { color: #64748b; }
.login_admin a.text-muted:hover,
.authentication a.text-muted:hover,
.customers_login a.text-muted:hover,
.customers.register a.text-muted:hover { color: #1f56d6; }

/* ---------- client top bar: glass pill links like the landing page ---------- */
.customers_login .navbar.header,
.customers.register .navbar.header {
  margin-bottom: 0;
  /* no backdrop-filter here: it isolates the bar, so the logo's multiply blend could not hide a white logo background */
  background: rgba(255, 255, 255, .72);
  border: 0;
  border-bottom: 1px solid rgba(15, 35, 80, .07);
  box-shadow: none;
}
.customers_login .navbar-default .navbar-nav > li > a,
.customers.register .navbar-default .navbar-nav > li > a {
  margin: 10px 3px;
  padding: 8px 15px;
  color: #475569;
  font-weight: 500;
  border-radius: 999px;
  transition: color .15s, background .15s;
}
.customers_login .navbar-default .navbar-nav > li > a:hover,
.customers_login .navbar-default .navbar-nav > li > a:focus,
.customers_login .navbar-default .navbar-nav > .active > a,
.customers_login .navbar-default .navbar-nav > .active > a:hover,
.customers_login .navbar-default .navbar-nav > .active > a:focus,
.customers.register .navbar-default .navbar-nav > li > a:hover,
.customers.register .navbar-default .navbar-nav > li > a:focus,
.customers.register .navbar-default .navbar-nav > .active > a,
.customers.register .navbar-default .navbar-nav > .active > a:hover,
.customers.register .navbar-default .navbar-nav > .active > a:focus {
  color: #1f56d6;
  background: rgba(31, 86, 214, .11);
}
.customers_login .footer,
.customers.register .footer {
  background: transparent;
  border: 0;
  color: #94a3b8;
}

@media (max-width: 767px) {
  .login_admin .authentication-form-wrapper > div.tw-bg-white,
.authentication .authentication-form-wrapper > div.tw-bg-white,
.customers_login .panel_s .panel-body,
.customers.register .panel_s .panel-body { padding: 24px !important; }
  .customers_login .login-heading,
.customers.register .login-heading { font-size: 26px; }
  .login_admin .authentication-form-wrapper { padding-top: 4vh; }
}

/* ---------- register page specifics ---------- */
.customers.register .register-heading {
  text-align: center !important;
  margin: 28px 0 20px;
  color: #0b1f44;
  font-weight: 800;
  letter-spacing: -.02em;
  font-size: 30px;
}
.customers.register .col-md-10.row > .col-md-6 { width: 100%; float: none; }
.customers.register .register-contact-info-heading,
.customers.register .register-company-info-heading { color: #0b1f44; font-weight: 700; }
/* dropdowns (bootstrap-select) must look like the other fields, not like pill buttons */
.customers.register .bootstrap-select > .dropdown-toggle,
.customers.register .bootstrap-select .btn-default {
  height: 46px;
  line-height: 32px;
  text-align: left;
  border-radius: 12px;
  background: rgba(255, 255, 255, .85);
  border: 1px solid rgba(15, 35, 80, .14);
  font-weight: 400;
}
.customers.register .bootstrap-select.form-control {
  height: auto;
  padding: 0;
  background: transparent;
  border: 0;
  box-shadow: none;
}
.customers.register .bootstrap-select > .dropdown-toggle { width: 100%; }
.customers.register .panel_s .panel-body { padding: 30px 34px; }
.customers.register .checkbox label,
.customers.register .control-label { font-weight: 600; }

/* logos are often uploaded on a near-white (not pure white) background, e.g. rgb(251, 251, 251): lift it to white so multiply hides it */
.login_admin .company-logo img,
.authentication .company-logo img,
.customers_login .navbar-brand img,
.customers.register .navbar-brand img { filter: brightness(1.03); }
