body.login-container {
  min-height: 100vh;
  background: #f8fafc !important;
  overflow-x: hidden;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}

body.login-container #wrapper {
  min-height: 100vh;
  height: auto;
  display: flex;
  align-items: center;
  justify-content: safe center;
  padding: 3rem 1rem;
}

body.login-container #main-wrapper,
body.login-container .page-content,
body.login-container .content-wrapper {
  width: 100%;
  min-height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
}

body.login-container .sidebar,
body.login-container .sidebar-main,
body.login-container .sidebar-secondary,
body.login-container .sidebar-end,
body.login-container .sidebar-component,
body.login-container .navbar,
body.login-container .page-header {
  display: none !important;
}

.login-register-background,
.auth-page {
  position: relative;
  width: 100%;
  min-height: 100vh;
  background: transparent;
  background-image: none !important;
  display: flex;
  padding: 3rem 1rem !important;
}

body.login-container .login-register-background,
body.login-container .auth-page {
  min-height: auto;
  padding: 0 !important;
}

.login-register-background::before {
  display: none;
}

.login-register,
.auth-page__inner {
  position: relative;
  z-index: 1;
  width: 100%;
  max-width: 30rem;
  min-height: auto;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 1.5rem;
  margin: auto;
}

.auth-page__inner > * {
  width: 100%;
}

.auth-page__inner--wide {
  max-width: 64rem;
}

.login-box,
.register-box {
  width: 100%;
  margin: 0 auto;
}

.login-box {
  max-width: 30rem;
}

.register-box {
  max-width: 64rem;
}

.logo_title {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
  max-width: 18rem;
  margin: 0 auto;
  padding: 0.75rem 0;
  text-align: center;
}

.logo_title a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.logo_title img {
  display: block;
  width: 100%;
  max-width: 15rem;
  height: auto;
}

.margin-top {
  margin-top: 0;
}

.label-beta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-top: 0.75rem;
  padding: 0.35rem 0.75rem;
  border-radius: 999px;
  background: rgba(14, 165, 233, 0.12);
  color: #334155;
  font-size: 0.75rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.auth-card {
  border: 1px solid rgba(148, 163, 184, 0.18);
  border-radius: 1.25rem;
  background: #ffffff;
  box-shadow: 0 1rem 2.5rem rgba(15, 23, 42, 0.08);
  overflow: hidden;
}

.auth-card .card-body {
  padding: 2rem;
}

.auth-card .card-body--wide {
  padding: 2rem;
}

.auth-title {
  margin-bottom: 0.25rem;
}

.auth-subtitle {
  margin-bottom: 0;
  color: #64748b;
}

.auth-icon-circle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 4rem;
  height: 4rem;
  margin-bottom: 1rem;
  border-radius: 999px;
  background: rgba(37, 99, 235, 0.12);
  color: #2563eb;
  font-size: 1.5rem;
}

.auth-links a,
.auth-page a:not(.btn) {
  text-decoration: none;
}

.auth-links a:hover,
.auth-page a:not(.btn):hover {
  text-decoration: underline;
}

.auth-actions {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

.auth-actions .btn {
  width: 100%;
}

.auth-form .form-label {
  font-weight: 600;
}

.auth-form .form-check-label,
.auth-form .form-text,
.auth-copy {
  color: #64748b;
}

.auth-divider {
  margin: 1.5rem 0;
}

.auth-legal {
  font-size: 0.875rem;
  line-height: 1.5;
}

.auth-register-notice {
  margin-bottom: 1.5rem;
}

.auth-panel-note {
  border-radius: 1rem;
}

.auth-stack {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.auth-stack-sm {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

#recoverform {
  display: none;
}

@media (min-width: 768px) {
  .auth-actions {
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
  }

  .auth-actions .btn {
    width: auto;
  }
}

@media (min-width: 992px) {
  .auth-card .card-body--wide {
    padding: 2.5rem;
  }
}

@media (max-width: 575.98px) {
  body.login-container #wrapper {
    padding: 2rem 1rem;
  }

  .login-register-background,
  .auth-page {
    padding: 2rem 1rem !important;
  }

  body.login-container .login-register-background,
  body.login-container .auth-page {
    padding: 0 !important;
  }

  .auth-page__inner {
    gap: 1.25rem;
  }

  .logo_title {
    padding: 0.5rem 0;
  }

  .auth-card .card-body,
  .auth-card .card-body--wide {
    padding: 1.5rem;
  }
}
