:root{
  --orange:#dc7106;--black:#000;--blue:#2d74ae;--border:#e6e6e6;--bg:#f7f8fb;--card:#fff;
}
body{margin:0;background:var(--bg);color:#111;font-family:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,"Helvetica Neue",Arial,"Noto Sans",sans-serif}

.login-wrap{min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px}
.login-card{
  width:100%;max-width:480px;background:var(--card);
  border:1px solid var(--border);border-radius:16px;
  box-shadow:0 10px 30px rgba(16,24,40,.08);padding:22px 22px 18px;
  text-align:center
}
.login-logo{display:block;margin:4px auto 12px auto;width:260px;max-width:260px;height:auto}
.login-title{font-size:20px;line-height:1.35;margin:0 0 18px 0}

.form-row{display:flex;flex-direction:column;align-items:stretch;text-align:left;margin-bottom:10px}
.label{font-size:15px;color:#6b7280;margin-bottom:6px}
input[type=email],input[type=password]{
  padding:14px 14px;font-size:16px;border:1px solid var(--border);border-radius:10px;background:#fff
}
.login-btn{width:100%;margin-top:14px;font-size:16px}

.login-links{margin-top:12px}
.login-links a{color:var(--blue);text-decoration:none}

.login-footer{margin-top:12px;color:#9aa0a6;font-size:13px}

/* Dark */
body.dark{--bg:#0f1115;--card:#131720;color:#e5e7eb;--border:#21242c}
body.dark .login-card{background:#11151d;border-color:#1f2430}
body.dark input{background:#11151d;border-color:#1f2430;color:#e5e7eb}

.pw-wrap{ position:relative; }
.pw-toggle{
  position:absolute; right:10px; top:50%; transform:translateY(-50%);
  border:0; background:transparent; cursor:pointer; padding:4px;
  color:#6b7280; font-size:14px;
}
.pw-toggle:focus{ outline: none; }

/* Campo password a tutta larghezza con spazio per l'occhio */
.form-row input[type=email],
.form-row input[type=password]{
  width:100%;
  box-sizing:border-box;
}

.pw-wrap{ position:relative; display:block; }
.pw-wrap input{
  width:100%;
  padding-right:44px;            /* spazio per l'icona */
}

.pw-toggle{
  position:absolute;
  right:10px;
  top:50%;
  transform:translateY(-50%);
  width:28px; height:28px;
  border:0; background:transparent;
  cursor:pointer; padding:0;
  color:#6b7280; font-size:16px; line-height:1;
}
.pw-toggle:hover{ color:#374151; }

/* dark */
body.dark .pw-toggle{ color:#9aa0a6; }
body.dark .pw-toggle:hover{ color:#e5e7eb; }

