 :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;
    }

    .register-card{
      width:420px;
      background:var(--glass);
      padding:34px;
      border-radius:24px;
      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:22px;
    }

    .logo-box{
      display:flex;
      align-items:center;
      justify-content:center;
      gap:14px;
      margin-bottom:6px;
    }
    .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{
      border:1px solid var(--muted);
      background:transparent;
      color:var(--muted);
      padding:4px 8px;
      border-radius:6px;
      font-size:13px;
      display:inline-flex;
      align-items:center;
      gap:6px;
      cursor:pointer;
      user-select:none;
      border-color:var(--accent);
      box-shadow:0 0 0 3px rgba(37,99,235,0.25);
    }
      background: #ffecec;
      color: #d00;
      border-color: #f7b2b2;
      position:relative;
      width:100%;
    }
    .dropdown-btn{
      width:100%;
      padding:14px;
      background:rgba(255,255,255,0.03);
      border:1px solid rgba(255,255,255,0.06);
      border-radius:12px;
      color:white;
      font-size:15px;
      cursor:pointer;
      display:flex;
      justify-content:space-between;
      align-items:center;
      transition:0.2s;
    }
    .dropdown-btn:hover{
      border-color:var(--accent);
    }
    .dropdown-list{
      position:absolute;
      top:60px;
      left:0;
      width:100%;
      background:#0b1220ee;
      backdrop-filter:blur(8px);
      border:1px solid rgba(255,255,255,0.08);
      border-radius:12px;
      overflow:hidden;
      box-shadow:0 8px 20px rgba(0,0,0,0.5);
      display:none;
      flex-direction:column;
      z-index:20;
    }
    .dropdown-list.open{
      display:flex;
    }
    .dropdown-item{
      padding:14px;
      cursor:pointer;
      transition:0.2s;
      color:white;
      font-size:15px;
    }
    .dropdown-item:hover{
      background:rgba(255,255,255,0.06);
    }

    .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;
      margin-top:6px;
    }
    .btn:hover{
      background:#1d4ed8;
    }

    /* Like button */
    .like-btn{
      padding:6px 10px;
      border-radius:8px;
      background:transparent;
      border:1px solid rgba(255,255,255,0.04);
      color:var(--muted);
      cursor:pointer;
      display:inline-flex;
      align-items:center;
      gap:8px;
    }
    .like-btn:hover{ border-color:rgba(255,255,255,0.08); }
    .like-btn .like-icon{
      color: var(--muted);
      transition: color .18s ease, transform .12s ease;
      display:inline-block;
      line-height:1;
    }
    .like-btn.liked{
      /* keep button visuals unchanged; only the heart will turn red */
      border-color: rgba(255,107,107,0.12);
    }
    .like-btn.liked .like-icon{
      color: #d00;
      transform: scale(1.08);
    }

    .foot{
      text-align:center;
      font-size:13px;
      color:var(--muted);
      margin-top:-6px;
    }

    #message {
  margin-top: 10px;
}

#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;
}

/* validation visuals */
.input.valid{ border-color: #16a34a; box-shadow: 0 0 0 3px rgba(16,185,129,0.12); }
.input.invalid{ border-color: #dc2626; box-shadow: 0 0 0 3px rgba(220,38,38,0.08); }

.criteria{ margin-top:8px; color:var(--muted); font-size:13px }
.criteria-list{ list-style:none; padding-left:0; margin:8px 0 0 0; display:flex;flex-direction:column;gap:6px }
.criteria-list li{ padding:6px 8px; border-radius:8px; background:rgba(255,255,255,0.02); display:flex;align-items:center; gap:8px }
.criteria-list li.valid{ background:rgba(16,185,129,0.12); color:#9ff3c4; border:1px solid rgba(16,185,129,0.2) }
.criteria-list li.invalid{ background:rgba(220,38,38,0.06); color:#ffc7c7; border:1px solid rgba(220,38,38,0.08) }
