/* Identidade visual BPONexo aplicada às telas de autenticação (login,
   registro, recuperar-senha, redefinir-senha). Escopo isolado em
   .bponexo-auth para não afetar nenhuma outra tela — este arquivo só é
   carregado por essas 4 páginas, que compartilham a mesma estrutura de
   card do Falcon. Tokens de cor derivados da referência de marca (ver
   assets/img): navy #03192E/#021326, verde #5B9B4D/#68A035/#75A938. */

.bponexo-auth {
  --bn-navy: #03192e;
  --bn-navy-deep: #021326;
  --bn-navy-mid: #16415a;
  --bn-green: #5b9b4d;
  --bn-green-bright: #68a035;
  --bn-green-light: #75a938;
}

.bponexo-auth .card {
  border-radius: 1rem;
  box-shadow: 0 1.5rem 3rem rgba(3, 25, 46, 0.14);
}

/* ===================== Painel de marca (lado esquerdo) ===================== */
.bponexo-panel {
  position: relative;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  min-height: 100%;
  padding: 2.25rem 1.75rem 1.75rem;
  background: linear-gradient(135deg, #03172b 0%, var(--bn-navy-deep) 55%, #071d35 100%);
}

.bponexo-panel__curve {
  position: absolute;
  right: -8%;
  bottom: -6%;
  width: 65%;
  height: auto;
  pointer-events: none;
}

.bponexo-panel__curve path {
  fill: none;
  stroke: var(--bn-green-bright);
  stroke-width: 2.5;
  stroke-linecap: round;
  opacity: 0.9;
}

.bponexo-panel__body {
  position: relative;
  z-index: 1;
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  padding-block: 1.75rem;
}

.bponexo-brand {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.9rem;
  max-width: 240px;
}

.bponexo-brand__icon {
  width: 128px;
  height: 128px;
  flex: none;
  display: block;
}

.bponexo-brand__icon img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: contain;
}

.bponexo-brand__text {
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
}

.bponexo-brand__word {
  margin: 0;
  font-family: "Poppins", sans-serif;
  font-weight: 600;
  font-size: 1.625rem;
  line-height: 1;
  letter-spacing: -0.02em;
  white-space: nowrap;
}

.bponexo-brand__bpo {
  color: #ffffff;
}

.bponexo-brand__nexo {
  color: var(--bn-green-bright);
}

.bponexo-brand__tagline {
  margin: 0;
  font-family: "Poppins", sans-serif;
  font-weight: 500;
  font-size: 0.8125rem;
  line-height: 1.5;
}

.bponexo-brand__tagline-line1 {
  display: block;
  color: rgba(255, 255, 255, 0.92);
}

.bponexo-brand__tagline-line2 {
  display: block;
  color: var(--bn-green-bright);
}

.bponexo-panel__footer {
  position: relative;
  z-index: 1;
  font-size: 0.8125rem;
  color: rgba(255, 255, 255, 0.85);
}

.bponexo-panel__footer a {
  color: var(--bn-green-bright);
  font-weight: 500;
  text-decoration: underline;
  transition: color 0.15s ease-in-out;
}

.bponexo-panel__footer a:hover,
.bponexo-panel__footer a:focus-visible {
  color: var(--bn-green-light);
}

@media (max-width: 767.98px) {
  .bponexo-panel {
    padding: 1.75rem 1.5rem;
  }

  .bponexo-panel__body {
    padding-block: 0.25rem;
  }

  .bponexo-brand {
    flex-direction: row;
    align-items: center;
    text-align: left;
    max-width: none;
    gap: 0.9rem;
  }

  .bponexo-brand__icon {
    width: 84px;
    height: 84px;
  }
}

/* ===================== Lado do formulário ===================== */
.bponexo-auth h3,
.bponexo-auth h4 {
  font-family: "Poppins", sans-serif;
  font-weight: 600;
  color: var(--bn-navy);
}

.bponexo-auth .form-label {
  color: var(--bn-navy);
}

.bponexo-auth .form-control:focus {
  border-color: var(--bn-green);
  box-shadow: 0 0 0 0.25rem rgba(91, 155, 77, 0.2);
}

.bponexo-auth .btn-primary {
  --falcon-btn-bg: var(--bn-navy);
  --falcon-btn-border-color: var(--bn-navy);
  --falcon-btn-hover-bg: #052239;
  --falcon-btn-hover-border-color: #052239;
  --falcon-btn-focus-shadow-rgb: 91, 155, 77;
  --falcon-btn-active-bg: #010d18;
  --falcon-btn-active-border-color: #010d18;
  --falcon-btn-disabled-bg: var(--bn-navy);
  --falcon-btn-disabled-border-color: var(--bn-navy);
}

.bponexo-auth .col-md-7 a {
  color: var(--bn-green);
  transition: color 0.15s ease-in-out;
}

.bponexo-auth .col-md-7 a:hover,
.bponexo-auth .col-md-7 a:focus-visible {
  color: var(--bn-green-bright);
}
