* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
}

form {
  width: 360px;
  margin: 5px auto;
  background: #fff;
  padding: 15px 15px;
  text-align: center;
  box-shadow: 0px 5px 5px -0px rgba(0, 0, 0, 0.3);
  border-radius: 5px;
}

input[type="password"] {
  padding: 0 30px;
  border-radius: 5px;
  width: 320px;
  margin: auto;
  border: 1px solid rgb(228, 220, 220);
  outline: none;
  font-size: 60px;
  color: transparent;
  text-shadow: 0 0 0 rgb(71, 71, 71);
  text-align: center;
}

input:focus {
  outline: none;
}

.pinButton {
  border:1px solid #7FD22C;
  background: none;
  font-size: 1.5em;
  border-radius: 50%;
  height: 60px;
  font-weight: 550;
  width: 60px;
  color: transparent;
  text-shadow: 0 0 0 rgb(102, 101, 101);
  margin: 3px 20px;
}

.clear,
.enter {
  font-size: 1em !important;
}

.pinButton:hover {
  box-shadow: #506ce8 0 0 1px 1px;
}
.pinButton:active {
  background: #506ce8;
  color: #fff;
}
.clear:hover {
  box-shadow: #ff3c41 0 0 1px 1px;
}
.clear:active {
  background: #ff3c41;
  color: #fff;
}
.enter:hover {
  box-shadow: #47cf73 0 0 1px 1px;
}
.enter:active {
  background: #47cf73;
  color: #fff;
}

/* ── Narrow phones / small tablets (pin pad login) ── */
@media (max-width: 420px) {
  form {
    width: 100%;
    max-width: 100%;
    padding: 12px 10px;
    margin-left: auto;
    margin-right: auto;
  }

  input[type="password"] {
    width: 100%;
    max-width: 100%;
    font-size: clamp(28px, 10vw, 52px);
    padding: 0 12px;
    box-sizing: border-box;
  }

  .pinButton {
    margin: 4px 6px;
    width: clamp(48px, 14vw, 60px);
    height: clamp(48px, 14vw, 60px);
    font-size: clamp(1rem, 4vw, 1.5em);
  }
}
