:root,
[data-bs-theme="light"] {
  --tblr-primary: #0ca678;
  --tblr-primary-rgb: 12, 166, 120;
  --tblr-primary-text-emphasis: #0b5d44;
  --tblr-primary-bg-subtle: #daf5ec;
  --tblr-link-color: #0ca678;
  --tblr-link-hover-color: #0b8c65;
}

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

body.portal-auth-page {
  font-family: "Inter", sans-serif;
}

.portal-auth-page .row.g-0.flex-fill {
  min-height: 100vh;
}

.portal-auth-brand {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.875rem;
  color: inherit;
  text-decoration: none;
}

.portal-auth-brand:hover {
  color: inherit;
  text-decoration: none;
}

.portal-auth-brand-mark {
  width: auto;
  height: auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0;
}

.portal-auth-brand-mark img {
  width: auto;
  height: 4.5rem;
  object-fit: contain;
}

.portal-auth-brand-text {
  display: block;
  max-width: 14rem;
  text-align: left;
  font-size: 1.1rem;
  line-height: 1.25;
  font-weight: 700;
  color: var(--tblr-body-color);
}

.portal-auth-heading-note {
  font-size: 0.9375rem;
}

.portal-auth-field-icon {
  color: var(--tblr-secondary);
}

.portal-auth-field-icon .input-group-text {
  background: transparent;
}

.portal-auth-cover {
  position: relative;
  background-position: center;
}

.portal-auth-cover::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(5, 23, 18, 0.04), rgba(5, 23, 18, 0.18));
}

@media (max-width: 991.98px) {
  .portal-auth-brand {
    gap: 0.75rem;
  }

  .portal-auth-brand-text {
    max-width: none;
    font-size: 1rem;
  }
}
