/* =============================================================
   LOGIN.CSS — WeReveNew · pagina di accesso
   Colori della suite: blu #3F326F, verde #94B14F
============================================================= */
:root{
  --wr-blue:#3F326F;
  --wr-blue-dark:#2c2350;
  --wr-green:#94B14F;
  --wr-green-dark:#7d9a3c;
  --wr-ink:#24203a;
  --wr-muted:#6b6880;
  --wr-line:#dcd9e6;
  --wr-err:#b23a3a;
}
*{box-sizing:border-box}
html,body{height:100%}
body.login-page{
  margin:0;
  font-family:'Manrope',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
  color:var(--wr-ink);
  background:
    radial-gradient(1100px 600px at 110% -10%, rgba(148,177,79,.28), transparent 60%),
    radial-gradient(900px 520px at -10% 110%, rgba(148,177,79,.16), transparent 60%),
    var(--wr-blue);
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  padding:24px 16px;
}

.login-card{
  width:100%;max-width:380px;
  background:#fff;
  border-radius:14px;
  padding:34px 32px 26px;
  box-shadow:0 24px 60px rgba(20,14,48,.35);
  border-top:5px solid var(--wr-green);
}

.login-brand{display:flex;justify-content:center;margin-bottom:18px}
.login-logo{max-width:220px;max-height:64px;width:auto;height:auto}
.login-logo-text{font-weight:700;font-size:20px;color:var(--wr-blue);letter-spacing:.2px}

.login-title{margin:0;text-align:center;font-size:20px;font-weight:700;color:var(--wr-blue)}
.login-sub{margin:6px 0 22px;text-align:center;font-size:13px;color:var(--wr-muted);line-height:1.45}

.login-msg{font-size:13px;line-height:1.4;padding:10px 12px;border-radius:8px;margin-bottom:16px}
.login-msg--err{background:#fbeceb;color:var(--wr-err);border:1px solid #f0c9c7}
.login-msg--info{background:#f1f5e7;color:#4d6420;border:1px solid #d9e5bd}

.login-form{display:flex;flex-direction:column}
.login-label{font-size:12.5px;font-weight:600;color:var(--wr-ink);margin:0 0 6px}
.login-input{
  width:100%;height:44px;
  padding:0 12px;
  font:inherit;font-size:15px;color:var(--wr-ink);
  background:#fff;
  border:1px solid var(--wr-line);border-radius:8px;
  margin-bottom:16px;
  transition:border-color .15s, box-shadow .15s;
}
.login-input:focus{outline:none;border-color:var(--wr-blue);box-shadow:0 0 0 3px rgba(63,50,111,.15)}

.login-pass{position:relative}
.login-pass .login-input{padding-right:44px}
.login-eye{
  position:absolute;right:6px;top:6px;width:32px;height:32px;
  display:flex;align-items:center;justify-content:center;
  background:none;border:none;border-radius:6px;cursor:pointer;color:var(--wr-muted);
}
.login-eye svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.login-eye.on,.login-eye:hover{color:var(--wr-blue)}
.login-eye:focus-visible{outline:2px solid var(--wr-blue);outline-offset:1px}

.login-btn{
  height:46px;margin-top:4px;
  font:inherit;font-size:15px;font-weight:700;color:#fff;
  background:var(--wr-green);
  border:none;border-radius:8px;cursor:pointer;
  transition:background .15s;
}
.login-btn:hover{background:var(--wr-green-dark)}
.login-btn:focus-visible{outline:3px solid rgba(63,50,111,.35);outline-offset:2px}

.login-help{margin:18px 0 0;text-align:center;font-size:12px;color:var(--wr-muted)}

.login-foot{margin-top:22px;font-size:12px;color:rgba(255,255,255,.72);text-align:center}

@media (max-width:420px){
  .login-card{padding:28px 22px 22px}
}
@media (prefers-reduced-motion:reduce){
  *{transition:none!important}
}
