/* RedAI-Web – Login page */
/* Footer siempre al fondo: main ocupa todo el espacio disponible (sticky footer) */
.main-content:has(.login-page-section) {
  display: flex !important;
  flex-direction: column !important;
  flex: 1 0 auto !important;
  min-height: calc(100dvh - 72px); /* viewport menos header aprox */
}

.main-content > .login-page-section {
  flex: 1 1 auto;
  min-height: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.form-panel.register-lg { 
  max-width: 420px; 
  margin: 0 auto; 
  padding: 2rem;
  background: var(--neo-surface);
  border-radius: 12px;
  border: 1px solid rgba(255,255,255,.08);
}

.form-panel h1 {
  text-align: center;
  margin-bottom: 1.5rem;
  font-size: 1.75rem;
}

.form-panel .form-group {
  margin-bottom: 1.25rem;
}

.form-panel .form-label {
  display: block;
  margin-bottom: 0.5rem;
  font-weight: 600;
  font-size: 14px;
}

.form-panel input {
  width: 100%;
  padding: 12px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,.1);
  background: rgba(255,255,255,.03);
  color: var(--neo-text);
  font-size: 15px;
}

/* Contraseña: contenedor con botón ojo */
.form-panel .input-with-toggle {
  display: flex;
  align-items: center;
  position: relative;
}
.form-panel .input-with-toggle input {
  padding-right: 44px;
  flex: 1;
  min-width: 0;
}
.form-panel .password-toggle-btn {
  position: absolute;
  right: 8px;
  top: 50%;
  transform: translateY(-50%);
  width: 36px;
  height: 36px;
  padding: 0;
  border: none;
  border-radius: 8px;
  background: transparent;
  color: var(--neo-text-muted, rgba(255,255,255,.5));
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: color .15s ease, background .15s ease;
}
.form-panel .password-toggle-btn:hover {
  color: var(--neo-text);
  background: rgba(255,255,255,.08);
}
.form-panel .password-toggle-btn:focus {
  outline: none;
  box-shadow: 0 0 0 2px var(--neo-primary, #6366f1);
}
.form-panel .password-toggle-btn .fa-eye-slash { display: none; }
.form-panel .password-toggle-btn[aria-pressed="true"] .fa-eye { display: none; }
.form-panel .password-toggle-btn[aria-pressed="true"] .fa-eye-slash { display: inline-block; }

.form-panel .btn {
  width: 100%;
  justify-content: center;
  padding: 12px;
  margin-top: 1rem;
}

/* ===== RESPONSIVE LOGIN ===== */

@media (max-width: 767px) {
  .form-panel.register-lg {
    max-width: 100%;
    margin: 1rem 0.75rem;
    padding: 1.5rem;
  }
  
  .form-panel h1 {
    font-size: 1.5rem;
  }
  
  .form-panel input {
    font-size: 16px; /* Previene zoom en iOS */
    min-height: 44px;
  }
}
