/* Login / recuperar senha — extensão home/institucional v2 */

.page-login .login-shell{
  min-height:calc(100vh - 72px);
  display:flex;align-items:center;justify-content:center;
  padding:120px 0 72px;
  background:#06111f;
  position:relative;overflow:hidden
}
.page-login .login-shell::before{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:
    radial-gradient(ellipse 58% 52% at 78% 28%,rgba(25,103,255,.2) 0%,transparent 70%),
    radial-gradient(ellipse 48% 40% at 12% 68%,rgba(52,212,255,.08) 0%,transparent 72%),
    radial-gradient(ellipse 70% 58% at 24% 32%,rgba(4,14,28,.35) 0%,transparent 75%),
    linear-gradient(180deg,rgba(4,14,28,.18),rgba(4,14,28,.06));
}
.page-login .login-shell > .container{position:relative;z-index:1;width:100%;max-width:480px}

.page-login .login-card{
  background:#fff;border:1px solid rgba(255,255,255,.12);
  border-radius:28px;padding:36px 34px 32px;
  box-shadow:0 24px 60px rgba(4,14,28,.35)
}
.page-login .login-card .eyebrow{margin-bottom:10px}
.page-login .login-card h1{
  margin:0 0 8px;font-size:clamp(1.55rem,3vw,1.9rem);
  letter-spacing:-.03em;line-height:1.15;color:var(--home-text)
}
.page-login .login-card .login-lead{
  margin:0 0 28px;color:var(--home-muted);font-size:.95rem;line-height:1.5
}

.page-login .login-alert{
  display:flex;gap:10px;align-items:flex-start;
  margin:0 0 22px;padding:12px 14px;border-radius:14px;
  font-size:.88rem;line-height:1.45;font-weight:600
}
.page-login .login-alert--error{
  background:#fef2f2;border:1px solid #fecaca;color:#b91c1c
}
.page-login .login-alert--ok{
  background:#ecfdf5;border:1px solid #a7f3d0;color:#047857
}

.page-login .login-form{display:grid;gap:16px}
.page-login .field{display:grid;gap:7px}
.page-login .field-head{
  display:flex;align-items:center;justify-content:space-between;gap:12px
}
.page-login .field label{
  font-size:.82rem;font-weight:700;color:#475569;letter-spacing:-.01em
}
.page-login .field-link{
  font-size:.78rem;font-weight:700;color:var(--home-blue);text-decoration:none
}
.page-login .field-link:hover{text-decoration:underline;text-underline-offset:3px}

.page-login .field-control{position:relative}
.page-login .field input{
  width:100%;border:1.5px solid var(--home-line);border-radius:14px;
  padding:13px 14px;font:inherit;font-size:.95rem;color:var(--home-text);
  background:#fff;transition:border-color .2s ease,box-shadow .2s ease
}
.page-login .field input:focus{
  outline:none;border-color:var(--home-blue);
  box-shadow:0 0 0 3px rgba(25,103,255,.14)
}
.page-login .field input.has-toggle{padding-right:48px}
.page-login .field-toggle{
  position:absolute;top:0;right:0;bottom:0;width:46px;
  border:0;background:transparent;color:#94a3b8;cursor:pointer;
  display:inline-flex;align-items:center;justify-content:center
}
.page-login .field-toggle:hover{color:#475569}
.page-login .field-toggle svg{width:18px;height:18px}

.page-login .login-form .btn{width:100%;min-height:50px;margin-top:4px}
.page-login .login-sep{
  display:flex;align-items:center;gap:14px;margin:26px 0 18px;
  color:#94a3b8;font-size:.78rem;font-weight:600
}
.page-login .login-sep::before,.page-login .login-sep::after{
  content:"";flex:1;height:1px;background:var(--home-line)
}
.page-login .login-alt{margin:0}
.page-login .login-note{
  margin:18px 0 0;text-align:center;font-size:.78rem;color:#9aa3ad
}

@media(max-width:640px){
  .page-login .login-shell{padding:108px 0 48px;align-items:flex-start}
  .page-login .login-card{padding:28px 22px 24px;border-radius:22px}
}
