/* AMR Premium CRM — le pagine d'accesso (accesso, dispositivo nuovo, recupero,
   reimpostazione, cambio obbligatorio): scheda scura su video, colori AMR. */
.accesso-amr { margin: 0; min-height: 100vh; min-height: 100svh; font-family: 'Nunito', system-ui, sans-serif;
  background: var(--amr-navy); color: #fff; }
.accesso-amr *, .accesso-amr *::before, .accesso-amr *::after { box-sizing: border-box; }
.accesso-video { position: fixed; inset: 0; z-index: 0; }
.accesso-video video { width: 100%; height: 100%; object-fit: cover; }
.accesso-velo { position: fixed; inset: 0; z-index: 1;
  background: linear-gradient(135deg, rgba(12,12,36,.78) 0%, rgba(36,36,88,.62) 100%); }
.accesso-pagina { position: relative; z-index: 2; min-height: 100vh; min-height: 100svh;
  display: flex; align-items: center; justify-content: center; padding: 1rem; }
.accesso-scheda { width: 100%; max-width: 380px; padding: 2.25rem 1.75rem; border-radius: 8px;
  background: rgba(20,20,55,.86); -webkit-backdrop-filter: blur(16px); backdrop-filter: blur(16px);
  border: 1px solid rgba(70,127,247,.28); box-shadow: 0 24px 60px rgba(0,0,0,.5); }
.accesso-logo { text-align: center; margin-bottom: 1.25rem; }
.accesso-logo img { width: 140px; margin-bottom: .5rem; }
.accesso-logo div { font-size: 1.25rem; font-weight: 700; letter-spacing: .04em; }
.accesso-titolo { text-align: center; font-size: .78rem; font-weight: 700; letter-spacing: .12em;
  text-transform: uppercase; color: rgba(255,255,255,.55); margin: 0 0 1.5rem; }
.accesso-testo { font-size: .88rem; line-height: 1.55; color: rgba(255,255,255,.75); margin: 0 0 1.25rem; }
.accesso-testo strong { color: #fff; }
.accesso-campo { margin-bottom: 1rem; }
.accesso-amr .form-label { display: block; font-size: .75rem; font-weight: 700; letter-spacing: .06em;
  text-transform: uppercase; color: rgba(255,255,255,.6); margin-bottom: .4rem; }
.accesso-amr .form-control { width: 100%; background: rgba(255,255,255,.08); color: #fff;
  border: 1px solid rgba(255,255,255,.2); border-radius: 4px; padding: .65rem .85rem;
  font-size: 16px; font-family: inherit; outline: none; transition: border-color .2s; }
.accesso-amr .form-control:focus { border-color: var(--amr-accent); background: rgba(255,255,255,.12); }
.accesso-amr .occhiolino { color: rgba(255,255,255,.55); }
.accesso-amr .occhiolino:hover, .accesso-amr .occhiolino[aria-pressed="true"] { color: #fff; }
.accesso-aiuto { font-size: .75rem; color: rgba(255,255,255,.5); margin-top: .35rem; }
.accesso-ricordami { display: flex; align-items: center; gap: .5rem; font-size: .85rem;
  color: rgba(255,255,255,.75); margin: .25rem 0 1.25rem; cursor: pointer; }
.accesso-ricordami input { width: 1.1rem; height: 1.1rem; accent-color: var(--amr-accent); }
.accesso-bottone, .accesso-faceid { display: block; width: 100%; min-height: 44px; padding: .75rem;
  border-radius: 4px; font-family: inherit; font-size: .88rem; font-weight: 800; letter-spacing: .08em;
  text-transform: uppercase; cursor: pointer; transition: background .2s; }
.accesso-bottone { background: var(--amr-accent); color: #fff; border: 0; }
.accesso-bottone:hover { background: var(--amr-navy-hover); }
.accesso-faceid { background: transparent; color: #fff; border: 1px solid rgba(255,255,255,.45); margin-bottom: .5rem; }
.accesso-faceid:hover { border-color: #fff; background: rgba(255,255,255,.08); }
.accesso-oppure { display: flex; align-items: center; gap: .75rem; margin: .75rem 0 1rem;
  font-size: .72rem; letter-spacing: .1em; text-transform: uppercase; color: rgba(255,255,255,.4); }
.accesso-oppure::before, .accesso-oppure::after { content: ""; flex: 1; border-top: 1px solid rgba(255,255,255,.15); }
.accesso-oppure[hidden] { display: none; }
.accesso-link { text-align: center; margin: 1rem 0 0; font-size: .85rem; }
.accesso-link a, .accesso-link button { color: #8fb0fb; text-decoration: none; background: none; border: 0;
  font: inherit; cursor: pointer; padding: .5rem; }
.accesso-link a:hover, .accesso-link button:hover { text-decoration: underline; }
.accesso-nota { text-align: center; font-size: .75rem; color: rgba(255,255,255,.45); margin: .5rem 0 0; }
.accesso-piede { margin-top: 1.5rem; padding-top: 1rem; text-align: center; font-size: .68rem;
  color: rgba(255,255,255,.3); border-top: 1px solid rgba(255,255,255,.08); }
.accesso-amr .amr-alert { padding: .6rem .85rem; border-radius: 4px; font-size: .85rem; margin-bottom: 1rem;
  color: #fff; border: 1px solid rgba(255,255,255,.25); background: rgba(255,255,255,.08); }
.accesso-amr .amr-alert.danger, .abv-accesso-messaggio--errore { background: rgba(212,38,41,.22);
  border: 1px solid rgba(212,38,41,.5); color: #ffd0d0; }
.accesso-amr .amr-alert.success { background: rgba(40,167,69,.22); border-color: rgba(40,167,69,.5); color: #d4ffd9; }
.accesso-amr .amr-alert.info { background: rgba(70,127,247,.18); border-color: rgba(70,127,247,.4); color: #d6e2ff; }
.accesso-amr .amr-alert.warning { background: rgba(255,193,7,.16); border-color: rgba(255,193,7,.4); color: #fff1c4; }
.abv-accesso-messaggio { font-size: .85rem; padding: .5rem .75rem; border-radius: 4px; margin: 0 0 .75rem; }
.accesso-codice { text-align: center; letter-spacing: .4em; font-size: 1.4rem !important; font-weight: 700; }
