/* css/pages/login/login.css */

.auth{
  min-height:100vh;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:24px;
}

.auth-card{
  width:100%;
  max-width:520px;
  padding:22px;
}

.auth-header{
  display:flex;
  align-items:center;
  gap:12px;
  margin-bottom:10px;
}

.auth-logo{
  width:44px;
  height:44px;
  border-radius:14px;
  background:linear-gradient(135deg, rgba(20,184,166,.55), rgba(124,58,237,.25));
  display:flex;
  align-items:center;
  justify-content:center;
  font-weight:900;
  color:#0F172A;
  border:1px solid var(--border);
}

.auth-brand strong{
  display:block;
  font-size:14px;
}

.auth-brand span{
  display:block;
  font-size:12px;
  color:var(--muted);
  margin-top:2px;
}

.auth-title{
  margin:12px 0 14px 0;
  font-size:26px;
  letter-spacing:-.4px;
}

/* OBS: .btn existe no global, então aqui só ajusta espaçamento do botão nessa tela */
.auth-form .btn{
  margin-top:8px;
}

/* ===== SENHA COM ÍCONE DISCRETO ===== */
.input-password{
  position:relative;
  display:flex;
  align-items:center;
}

.input-password .input{
  width:100%;
  padding-right:46px;
}

.toggle-password{
  position:absolute;
  right:12px;
  top:50%;
  transform:translateY(-50%);
  width:22px;
  height:22px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:0;
  margin:0;
  background:transparent;
  border:none;
  outline:none;
  cursor:pointer;
  z-index:2;
}

.toggle-password:focus-visible{
  border-radius:8px;
  box-shadow:0 0 0 3px rgba(124,58,237,.16);
}

.icon-eye{
  width:18px;
  height:18px;
  fill:none;
  stroke:var(--muted);
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
  opacity:.72;
  transition:opacity .15s ease, transform .15s ease;
}

.toggle-password:hover .icon-eye{
  opacity:1;
}

.toggle-password:active .icon-eye{
  transform:scale(.96);
}

.eye-closed{
  display:none;
}

.toggle-password.is-active .eye-open{
  display:none;
}

.toggle-password.is-active .eye-closed{
  display:block;
}

/* ===== ALERTA SIMPLES ===== */
.alert-danger{
  margin:0 0 14px 0;
  padding:12px 14px;
  border-radius:14px;
  border:1px solid rgba(239,68,68,.18);
  background:rgba(239,68,68,.08);
  color:#991b1b;
  font-size:14px;
  font-weight:700;
}

@media (max-width: 560px){
  .auth{padding:16px}
  .auth-card{padding:18px}
  .auth-title{font-size:22px}
  .auth-logo{width:40px;height:40px;border-radius:12px}
}