:root { color-scheme: dark; }
* { box-sizing: border-box; }
body {
  margin: 0; min-height: 100vh; min-height: 100dvh; display: grid; place-items: center;
  padding: 16px; background: #0d141e; color: #e8eef6;
  font: 16px/1.4 system-ui, -apple-system, "Segoe UI", sans-serif;
}
.scheda {
  width: 100%; max-width: 360px; display: flex; flex-direction: column; align-items: center; gap: 12px;
  padding: 28px 22px; border-radius: 16px; background: #16202e; border: 1px solid #243246;
}
h1 { margin: 0 0 8px; font-size: 1.3rem; font-weight: 600; }
form { width: 100%; display: flex; flex-direction: column; gap: 14px; }
form[hidden] { display: none; }
label { display: flex; flex-direction: column; gap: 6px; font-size: .9rem; color: #aab8c9; }
input {
  font: inherit; padding: 12px; border-radius: 10px; border: 1px solid #2f4059;
  background: #0d141e; color: #e8eef6; min-height: 44px;
}
input:focus-visible, button:focus-visible { outline: 2px solid #5aa2ff; outline-offset: 2px; }
button {
  font: inherit; font-weight: 600; min-height: 46px; border: 0; border-radius: 10px;
  background: #3b82f6; color: #fff; cursor: pointer;
}
button:disabled { opacity: .6; cursor: default; }
p { margin: 0; }
#messaggio { min-height: 1.4em; color: #ff8a8a; font-size: .9rem; text-align: center; }
