
    :root{
      --bg:#0f1724;
      --card:#0b1220;
      --muted:#94a3b8;
      --accent:#2563eb;
      --accent-2:#06b6d4;
      --glass:rgba(255,255,255,0.04);
    }
    body{
      margin:0;
      height:100vh;
      font-family:'Inter', sans-serif;
      background:linear-gradient(180deg,#071029 0%, #071827 60%);
      display:flex;
      align-items:center;
      justify-content:center;
      color:#e6eef8;
    }

    .login-card{
      width:380px;
      background:var(--glass);
      padding:32px;
      border-radius:22px;
      backdrop-filter:blur(14px);
      border:1px solid rgba(255,255,255,0.05);
      box-shadow:0 8px 30px rgba(0,0,0,0.4);
      display:flex;
      flex-direction:column;
      gap:24px;
    }

    .logo-box{
      display:flex;
      align-items:center;
      justify-content:center;
      gap:14px;
    }
    .logo{
      width:54px;
      height:54px;
      border-radius:12px;
      display:grid;
      place-items:center;
      font-size:24px;
      font-weight:800;
      background:linear-gradient(135deg,var(--accent), var(--accent-2));
      color:white;
    }
    .title{
      font-size:26px;
      font-weight:800;
      letter-spacing:-0.5px;
    }

    label{
      font-size:14px;
      color:var(--muted);
      font-weight:600;
    }
    .input{
      width:100%;
      padding:14px;
      border-radius:12px;
      background:rgba(255,255,255,0.03);
      border:1px solid rgba(255,255,255,0.06);
      color:white;
      font-size:15px;
      outline:none;
      transition:0.2s;
    }
    .input:focus{
      border-color:var(--accent);
      box-shadow:0 0 0 3px rgba(37,99,235,0.25);
    }

    .btn{
      width:100%;
      padding:14px;
      border:none;
      border-radius:12px;
      background:var(--accent);
      font-size:16px;
      font-weight:700;
      color:white;
      cursor:pointer;
      transition:0.2s;
    }
    .btn:hover{
      background:#1d4ed8;
    }

    .foot{
      text-align:center;
      font-size:13px;
      color:var(--muted);
      margin-top:-8px;
    }

#message p {
  background-color: #ffe6e6;
  color: #b00000;
  border: 1px solid #b00000;
  padding: 8px;
  border-radius: 5px;
  margin: 5px 0;
}

.password-wrapper {
  position: relative;
  display: flex;
  align-items: center;
}

.password-wrapper input {
  width: 100%;
  padding-right: 40px; /* spazio per l'occhio */
}

.toggle-password {
  position: absolute;
  right: 10px;
  cursor: pointer;
  font-size: 18px;
  user-select: none;
  opacity: 0.6;
}

.toggle-password:hover {
  opacity: 1;
}
