/* =========================================================
   Lead Gain — Auth screens (login / cadastro / senha)
   Carregado DEPOIS de app.css — corrige layout e olho.
   ========================================================= */

.auth-shell {
  min-height: 100vh;
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
  background: #F8FAFC;
  overflow: hidden;
}

.auth-brand {
  position: relative;
  z-index: 1;
  min-width: 0;
  overflow: hidden;
  isolation: isolate;
}

.auth-brand > .lg-wordmark,
.auth-brand-link {
  position: relative;
  z-index: 2;
  display: inline-flex;
  align-items: center;
}

.auth-brand-logo {
  display: block;
  max-height: 36px;
  width: auto;
  max-width: 200px;
  object-fit: contain;
}

.auth-brand-content {
  max-width: min(420px, 100%);
}

/* Painel do formulário: opaco, acima de qualquer vazamento da esquerda */
.auth-panel {
  position: relative;
  z-index: 5;
  background: #F8FAFC;
  min-width: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 2rem;
}

.auth-card {
  position: relative;
  z-index: 6;
  background: #fff;
}

/* Nunca mostrar branding duplicado no desktop */
.auth-brand-mobile {
  display: none !important;
}

/* ---------- Password eye (sem SVG filho — à prova de bug) ---------- */
.password-field {
  position: relative !important;
  display: block !important;
  width: 100%;
}

.password-field .form-control {
  display: block;
  width: 100%;
  padding-right: 2.85rem !important;
  box-sizing: border-box;
}

/* Esconde revelar nativo do Edge/IE (conflita com nosso olho) */
.password-field input::-ms-reveal,
.password-field input::-ms-clear {
  display: none;
}

button.password-toggle {
  position: absolute !important;
  right: 0.35rem !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  z-index: 8 !important;
  width: 2.1rem !important;
  height: 2.1rem !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 6px !important;
  background-color: transparent !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  background-size: 1.15rem 1.15rem !important;
  /* olho aberto */
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='%2364748B' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M1 12s4-7 11-7 11 7 11 7-4 7-11 7S1 12 1 12z'/%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3C/svg%3E") !important;
  cursor: pointer;
  color: transparent !important;
  font-size: 0 !important;
  line-height: 0 !important;
  overflow: hidden !important;
  appearance: none !important;
  -webkit-appearance: none !important;
}

button.password-toggle:hover {
  background-color: #F1F5F9 !important;
}

button.password-toggle.is-visible {
  /* olho riscado */
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='%2364748B' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M17.94 17.94A10.94 10.94 0 0 1 12 19c-7 0-11-7-11-7a21.8 21.8 0 0 1 5.06-5.94'/%3E%3Cpath d='M9.9 4.24A10.94 10.94 0 0 1 12 5c7 0 11 7 11 7a21.8 21.8 0 0 1-2.16 3.19'/%3E%3Cpath d='M14.12 14.12a3 3 0 1 1-4.24-4.24'/%3E%3Cline x1='1' y1='1' x2='23' y2='23'/%3E%3C/svg%3E") !important;
}

button.password-toggle svg,
button.password-toggle * {
  display: none !important;
}

@media (max-width: 900px) {
  .auth-shell {
    grid-template-columns: 1fr;
  }
  .auth-brand {
    display: none !important;
  }
  .auth-panel {
    background: #fff;
    align-items: flex-start;
    padding: 1.5rem 1rem 2rem;
  }
  .auth-card {
    box-shadow: none;
    border: 0;
    max-width: 100%;
  }
  .auth-card-mobile-logo {
    display: block !important;
    margin-bottom: 1.25rem;
  }
}

.auth-card-mobile-logo {
  display: none;
}
