/* /Components/Layout/AccessoLayout.razor.rz.scp.css */
.accesso-pagina[b-btly4xu8nq] {
    min-height: 100vh;   /* strutturale: viewport intera, non varia per tema */
    background-color: var(--bg);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: var(--gap-section);
}
/* /Components/Pages/Accesso.razor.rz.scp.css */
/* 2151 — modello-card (fondazione portata da Adm): header brand, corpo arioso,
   niente letterale di colore, dimensioni dal design system dove esiste il token. */
.accesso-card[b-2xwpjcd5gc] {
    background-color: var(--surface);
    border: 1px solid var(--border);
    border-radius: var(--radius-lg);
    padding: var(--gap-section) var(--gap-riga);
    width: 100%;
    max-width: 380px;    /* strutturale: larghezza card di login, non varia per tema */
    box-shadow: var(--shadow-card);
}

.accesso-logo[b-2xwpjcd5gc] {
    font-size:      calc(var(--testo-brand-size) * var(--font-scala));
    font-weight:    var(--testo-brand-weight);
    color:          var(--text-soft);
    text-align:     center;
    margin-bottom:  var(--gap-section);
    letter-spacing: -.5px;   /* strutturale: micro-aggiustamento del logo testuale */
}

.accesso-logo strong[b-2xwpjcd5gc] {
    color:       var(--accent);
    font-weight: var(--peso-bold);
}

.accesso-logo__img[b-2xwpjcd5gc] {
    max-height: 2.75rem;   /* strutturale: altezza logo, non varia per tema */
    width:      auto;
    display:    block;
    margin:     0 auto;
}

.accesso-titolo[b-2xwpjcd5gc] {
    font-size:     var(--testo-pagina-size);
    font-weight:   var(--testo-pagina-weight);
    color:         var(--text);
    margin-bottom: var(--gap-riga);
}

.otp-boxes[b-2xwpjcd5gc] {
    display:         flex;
    gap:             .5rem;   /* strutturale: passo tra le caselle OTP */
    justify-content: center;
}

.otp-box[b-2xwpjcd5gc] {
    width:            3rem;      /* strutturale: taglia casella OTP, non varia per tema */
    height:           3.25rem;
    text-align:       center;
    font-size:        var(--testo-pagina-size);
    font-weight:      var(--testo-pagina-weight);
    padding:          0;
    border-color:     var(--border);
    color:            var(--text);
    background-color: var(--surface);
    border-radius:    var(--radius-sm);
    caret-color:      var(--accent);
}

.otp-box:focus[b-2xwpjcd5gc] {
    border-color: var(--accent);
    box-shadow:   0 0 0 .2rem color-mix(in srgb, var(--accent) 25%, transparent);
    outline:      none;
}

/* ── Messaggio informativo (reinvio riuscito) ─────────────── */
.accesso-info[b-2xwpjcd5gc] {
    font-size:     var(--testo-aiuto-size);
    color:         var(--accent);
    background:    var(--accent-soft);
    padding:       var(--pad-input);
    border-radius: var(--radius-sm);
}

/* ── Separatore "oppure" ───────────────────────────────────── */
.accesso-divisore[b-2xwpjcd5gc] {
    display:     flex;
    align-items: center;
    gap:         var(--gap-riga);
    margin:      var(--gap-section) 0 var(--gap-base);
    color:       var(--text-soft);
    font-size:   var(--testo-aiuto-size);
}
.accesso-divisore[b-2xwpjcd5gc]::before,
.accesso-divisore[b-2xwpjcd5gc]::after {
    content:           "";
    flex:              1;
    height:            1px;   /* strutturale: filo separatore, non varia per tema */
    background-color:  var(--border);
}

/* ── Accessi esterni (disattivi — cellula futura) ──────────── */
.accesso-social[b-2xwpjcd5gc] {
    display: flex;
    gap:     var(--gap-riga);
}
.accesso-social .btn[b-2xwpjcd5gc] {
    flex: 1;
}

/* ── Link quieto (recupero password — cellula M2.4a) ───────── */
.accesso-link-quieto[b-2xwpjcd5gc] {
    display:         block;
    text-align:      right;
    font-size:       var(--testo-aiuto-size);
    color:           var(--text-soft);
    text-decoration: none;
    cursor:          default;
    margin-top:      .375rem;   /* strutturale: distacco minimo dal campo sopra */
}
.accesso-link-quieto:hover[b-2xwpjcd5gc] {
    color:           var(--text-soft);
    text-decoration: underline;
}
/* /Components/Pages/ProfiloSicurezza.razor.rz.scp.css */
/* 2151 — modello-card (fondazione portata da Adm): .atom-campi come cornice,
   testata colorata dallo stato (attenzione/ok) coi token del tema, mai un
   giallo o un verde scritto a mano. */
.ps__card[b-dod294qk46] {
    max-width: 26rem;   /* strutturale: più larga della card di login, stessa famiglia */
    margin:    var(--gap-section) auto;
}

.ps__titolo[b-dod294qk46] {
    margin: 0 0 var(--gap-base);
}

.ps__riquadro[b-dod294qk46] {
    margin-bottom: var(--gap-riga);
}

.ps__riquadro-testata[b-dod294qk46] {
    display:        flex;
    align-items:    center;
    gap:            .5rem;   /* strutturale: icona + titolo */
    font-size:      var(--testo-campo-size);
    font-weight:    var(--testo-campo-weight);
    padding:        var(--pad-titolo);
    border-bottom:  1px solid var(--border);
}
.ps__riquadro--attenzione .ps__riquadro-testata[b-dod294qk46] {
    background: var(--warning-bg);
    color:      var(--warning-text);
}
.ps__riquadro--ok .ps__riquadro-testata[b-dod294qk46] {
    background: var(--success-bg);
    color:      var(--success-text);
}
.ps__spunta[b-dod294qk46] {
    margin-left: auto;
}

.ps__riquadro-corpo[b-dod294qk46] {
    display:        flex;
    flex-direction: column;
    gap:            .6rem;   /* strutturale: testo→campi→esito */
    padding:        var(--pad-riga);
}

.ps__riga[b-dod294qk46] {
    display:     flex;
    gap:         .4rem;   /* strutturale: input + bottone affiancati */
    align-items: center;
}
.ps__riga--link[b-dod294qk46] {
    margin-top: .4rem;
    gap:        var(--gap-riga);
}
.ps__codice[b-dod294qk46] {
    max-width: 8rem;   /* strutturale: campo codice a 6 cifre, non tutta la riga */
}

.ps__esito-ok[b-dod294qk46] {
    color:      var(--success-text);
    font-size:  var(--testo-aiuto-size);
    margin:     .3rem 0 0;
}
.ps__esito-ko[b-dod294qk46] {
    color:     var(--danger-text);
    font-size: var(--testo-aiuto-size);
    margin:    .4rem 0 0;
}

.ps__azioni-finali[b-dod294qk46] {
    margin-top: var(--gap-riga);
}
