/* =========================================================
   LUZENTI – login.css  (colores teal corporativos)
   ========================================================= */

.login-page {
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1.25rem;
  background:
    radial-gradient(1200px 600px at 20% 10%, rgba(66,184,188,.18), transparent 60%),
    radial-gradient(1000px 500px at 80% 90%, rgba(45,157,162,.12), transparent 55%),
    linear-gradient(180deg, #f5fafb 0%, #eaf6f7 100%);
}

.login-card {
  width: 100%;
  max-width: 420px;
  border: 0;
  border-radius: 1.25rem;
  overflow: hidden;
  box-shadow: 0 18px 45px rgba(66,184,188,.15);
  background: #fff;
}

.login-top {
  padding: 1.4rem 1.4rem 1rem;
  text-align: center;
  border-bottom: 1px solid rgba(66,184,188,.15);
  background: linear-gradient(180deg, rgba(66,184,188,.12), rgba(255,255,255,0));
}

.login-logo { width:140px; height:auto; display:inline-block; margin-bottom:.5rem; }

.login-title {
  margin: 0;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
  font-size: .95rem;
  color: #2D9DA2;
}

.login-subtitle { margin:.35rem 0 0; color:#6c757d; font-size:.95rem; }

.login-body { padding:1.4rem; }

.input-group-text { border-radius:.9rem 0 0 .9rem !important; border-right:0; background:#fff; }
.form-control     { border-radius:0 .9rem .9rem 0 !important; border-left:0; height:calc(2.6rem + 2px); }
.form-control:focus { box-shadow:none; border-color:rgba(66,184,188,.50); }
.input-group:focus-within .input-group-text { border-color:rgba(66,184,188,.50); }

.btn-login {
  width: 100%;
  border-radius: .95rem;
  padding: .8rem 1rem;
  font-weight: 800;
  letter-spacing: .06em;
  text-transform: uppercase;
  border: 0;
  background: linear-gradient(135deg, #6CCED2 0%, #42B8BC 55%, #2D9DA2 100%);
  color: #fff;
}
.btn-login:hover  { filter:brightness(.95); }
.btn-login:active { transform:translateY(1px); }

.login-help { display:flex; align-items:center; justify-content:space-between; gap:.75rem; margin-top:.75rem; font-size:.9rem; }
.login-help a { color:#2D9DA2; font-weight:700; text-decoration:none; }
.login-help a:hover { text-decoration:underline; }

.alert-login {
  border-radius: .95rem;
  border: 1px solid rgba(220,53,69,.25);
  background: rgba(220,53,69,.06);
  color: #b02a37;
  padding: .75rem .9rem;
  margin-bottom: 1rem;
  display: flex;
  gap: .6rem;
  align-items: center;
  font-weight: 600;
}

.login-footer { text-align:center; padding:0 1.4rem 1.2rem; color:#98a2ad; font-size:.85rem; }

@media (max-width:420px) {
  .login-body { padding:1.1rem; }
  .login-top  { padding:1.2rem 1.1rem .9rem; }
}
