/* ==========================================================================
   SECONDA VISIONE — ACCESSO RISERVATO (Mission 10B.3A)
   Superficie di accesso: stesso universo visivo della Home, composizione
   centrata "a soglia". Dalla Mission 10B.3A e' il login reale — stessa
   identita' visiva approvata in 10B.2, solo i campi sono ora attivi.
   ========================================================================== */

.sv-access {
  min-height: calc(100vh - 5rem);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: var(--sv-space-16) 0;
}

.sv-access__inner {
  max-width: 26rem;
  width: 100%;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.sv-access__mark { color: var(--sv-text); margin-bottom: var(--sv-space-8); }

.sv-access__kicker {
  font-family: var(--sv-font-sans);
  font-size: var(--sv-size-micro);
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--sv-text-faint);
  margin-bottom: var(--sv-space-3);
}

.sv-access__title {
  font-family: var(--sv-font-display);
  font-size: var(--sv-size-h1);
  color: var(--sv-text);
  margin-bottom: var(--sv-space-4);
}

.sv-access__lede {
  font-family: var(--sv-font-sans);
  font-size: var(--sv-size-meta);
  color: var(--sv-text-dim);
  margin-bottom: var(--sv-space-12);
}

.sv-access__form {
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: var(--sv-space-6);
  text-align: left;
  padding: var(--sv-space-8);
  border: 1px solid var(--sv-border);
  border-radius: var(--sv-radius-lg);
  background: var(--sv-surface);
}

.sv-access__field { display: flex; flex-direction: column; gap: var(--sv-space-2); }
.sv-access__field label {
  font-family: var(--sv-font-sans);
  font-size: var(--sv-size-micro);
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--sv-text-faint);
}
.sv-access__field input {
  background: transparent;
  border: none;
  border-bottom: 1.5px solid var(--sv-border-strong);
  color: var(--sv-text);
  font-family: var(--sv-font-sans);
  font-size: 1rem;
  padding: var(--sv-space-2) 0;
  min-height: var(--sv-touch-min);
  transition: border-color var(--sv-duration-base) var(--sv-ease);
}
.sv-access__field input:focus-visible { border-color: var(--sv-red); }
.sv-access__field input::placeholder { color: var(--sv-text-faint); }

.sv-btn--block { width: 100%; justify-content: center; margin-top: var(--sv-space-2); }

.sv-access__error {
  font-family: var(--sv-font-sans);
  font-size: var(--sv-size-meta);
  color: var(--sv-text);
  background: var(--sv-red-dim);
  border: 1px solid var(--sv-red-soft);
  border-radius: var(--sv-radius-sm);
  padding: var(--sv-space-3) var(--sv-space-4);
}

.sv-access__note {
  font-family: var(--sv-font-sans);
  font-size: var(--sv-size-micro);
  color: var(--sv-text-faint);
  line-height: var(--sv-line-body);
  margin: var(--sv-space-6) 0 0 0;
  max-width: 34ch;
}

@media (max-width: 479px) {
  .sv-access__form { padding: var(--sv-space-6); }
}
