/* /Components/Layout/LayoutFornitore.razor.rz.scp.css */
.portale[b-72xwmcnuxg] {
    min-height: 100dvh;
    display: flex;
    flex-direction: column;
    background: var(--neutral-50);
}

/* Testata sticky e compatta (mock "Portale Fornitore"): emblema + wordmark a
   sinistra, cluster utente a destra. */
.portale__testata[b-72xwmcnuxg] {
    position: sticky;
    top: 0;
    z-index: 30;
    background: var(--neutral-0);
    border-bottom: var(--border-default);
    padding: 0 var(--space-5);
}

.portale__testata-inner[b-72xwmcnuxg] {
    display: flex;
    align-items: center;
    gap: var(--space-3);
    min-height: 52px;
}

/* Brand: lockup completo SALC + wordmark del prodotto, come la testata storica
   del portale; il cluster utente a destra resta quello del mock. */
.portale__brand[b-72xwmcnuxg] {
    display: inline-flex;
    align-items: center;
    gap: var(--space-3);
    margin-right: auto;
    text-decoration: none;
}
.portale__logo[b-72xwmcnuxg] { height: 30px; width: auto; }
.portale__titolo[b-72xwmcnuxg] {
    font-family: var(--font-mono);
    font-size: var(--text-sm);
    font-weight: var(--fw-medium);
    letter-spacing: .1em;
    text-transform: uppercase;
    color: var(--neutral-800);
}

/* Cluster utente: aiuto · divisore · avatar + indirizzo · Esci. Il gruppo e'
   serrato: il divisore, non lo spazio, separa l'aiuto dall'identita'. */
.portale__utente[b-72xwmcnuxg] {
    display: inline-flex;
    align-items: center;
    gap: var(--space-1);
}
/* Tap target da 44px per profilo e guida (#163): il fornitore e' su mobile,
   i 36px condivisi col back-office (mouse) qui non bastano. */
.portale__utente .app-topbar__icona[b-72xwmcnuxg] {
    width: 44px;
    height: 44px;
}
.portale__utente form[b-72xwmcnuxg] { margin-left: var(--space-2); display: inline-flex; }
.portale__conto[b-72xwmcnuxg] {
    display: inline-flex;
    align-items: center;
    gap: var(--space-2);
    margin-left: var(--space-1);
}
.portale__nome[b-72xwmcnuxg] {
    font-size: var(--text-sm);
    color: var(--neutral-700);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    max-width: 16rem;
}

@media (max-width: 560px) {
    /* Su stretto l'identita' cede il passo: restano emblema, aiuto ed Esci.
       Cede anche il wordmark (il logo basta da solo) — senza, il brand viene
       schiacciato sotto il suo contenuto e il testo finisce sopra le icone —
       e il separatore, che senza identita' non separa piu' nulla (#163). */
    .portale__conto[b-72xwmcnuxg] { display: none; }
    .portale__titolo[b-72xwmcnuxg] { display: none; }
    .portale__utente .app-topbar__sep[b-72xwmcnuxg] { display: none; }
}

.portale__corpo[b-72xwmcnuxg] {
    flex: 1;
    padding: var(--space-8) var(--space-4) var(--space-10);
}

/* Canale di contatto dell'ufficio (#159): blocco quieto in coda al corpo — il fornitore lo trova
   dove smette di leggere, senza competere con la zona d'azione della checklist. */
.portale__aiuto[b-72xwmcnuxg] {
    margin-bottom: var(--space-6);
    padding: var(--space-4) var(--space-5);
    background-color: var(--neutral-0);
    border: var(--border-default);
    border-radius: var(--radius-md);
    text-align: center;
}

.portale__aiuto-titolo[b-72xwmcnuxg] {
    margin: 0 0 var(--space-1);
    font-size: var(--text-sm);
    font-weight: var(--fw-semibold);
}

.portale__aiuto-recapiti[b-72xwmcnuxg] { margin: 0; font-size: var(--text-sm); }

.portale__aiuto-sep[b-72xwmcnuxg] { margin: 0 var(--space-2); color: var(--neutral-400); }

.portale__aiuto-orari[b-72xwmcnuxg] {
    margin: var(--space-1) 0 0;
    font-size: var(--text-xs);
    color: var(--neutral-500);
}

/* Riga di chiusura centrata e muta, come nel mock: niente filetto, il distacco
   lo danno spazio e tono. */
.portale__foot[b-72xwmcnuxg] {
    padding: var(--space-5) var(--space-4) var(--space-8);
    /* neutral-500, non il neutral-400 del mock: sotto AA su fondo chiaro (D67). */
    color: var(--neutral-500);
    font-size: var(--text-xs);
    text-align: center;
}

@media (max-width: 640px) {
    .portale__corpo[b-72xwmcnuxg] { padding-top: var(--space-6); }
}
/* /Components/Layout/MainLayout.razor.rz.scp.css */
/* La top-bar e il contenuto dello shell autenticato sono in components.css
   (.app-topbar, .app-contenuto). La UI d'errore non gestito (#blazor-error-ui)
   e stilizzata globalmente in app.css (ancorata ai token). */
/* /Components/Layout/ReconnectModal.razor.rz.scp.css */
.components-reconnect-first-attempt-visible[b-ley042xfxx],
.components-reconnect-repeated-attempt-visible[b-ley042xfxx],
.components-reconnect-failed-visible[b-ley042xfxx],
.components-pause-visible[b-ley042xfxx],
.components-resume-failed-visible[b-ley042xfxx],
.components-rejoining-animation[b-ley042xfxx] {
    display: none;
}

#components-reconnect-modal.components-reconnect-show .components-reconnect-first-attempt-visible[b-ley042xfxx],
#components-reconnect-modal.components-reconnect-show .components-rejoining-animation[b-ley042xfxx],
#components-reconnect-modal.components-reconnect-paused .components-pause-visible[b-ley042xfxx],
#components-reconnect-modal.components-reconnect-resume-failed .components-resume-failed-visible[b-ley042xfxx],
#components-reconnect-modal.components-reconnect-retrying[b-ley042xfxx],
#components-reconnect-modal.components-reconnect-retrying .components-reconnect-repeated-attempt-visible[b-ley042xfxx],
#components-reconnect-modal.components-reconnect-retrying .components-rejoining-animation[b-ley042xfxx],
#components-reconnect-modal.components-reconnect-failed[b-ley042xfxx],
#components-reconnect-modal.components-reconnect-failed .components-reconnect-failed-visible[b-ley042xfxx] {
    display: block;
}


#components-reconnect-modal[b-ley042xfxx] {
    background-color: white;
    width: 20rem;
    margin: 20vh auto;
    padding: 2rem;
    border: 0;
    border-radius: 0.5rem;
    box-shadow: 0 3px 6px 2px rgba(0, 0, 0, 0.3);
    opacity: 0;
    transition: display 0.5s allow-discrete, overlay 0.5s allow-discrete;
    animation: components-reconnect-modal-fadeOutOpacity-b-ley042xfxx 0.5s both;
    &[open]

{
    animation: components-reconnect-modal-slideUp-b-ley042xfxx 1.5s cubic-bezier(.05, .89, .25, 1.02) 0.3s, components-reconnect-modal-fadeInOpacity-b-ley042xfxx 0.5s ease-in-out 0.3s;
    animation-fill-mode: both;
}

}

#components-reconnect-modal[b-ley042xfxx]::backdrop {
    background-color: rgba(0, 0, 0, 0.4);
    animation: components-reconnect-modal-fadeInOpacity-b-ley042xfxx 0.5s ease-in-out;
    opacity: 1;
}

@keyframes components-reconnect-modal-slideUp-b-ley042xfxx {
    0% {
        transform: translateY(30px) scale(0.95);
    }

    100% {
        transform: translateY(0);
    }
}

@keyframes components-reconnect-modal-fadeInOpacity-b-ley042xfxx {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

@keyframes components-reconnect-modal-fadeOutOpacity-b-ley042xfxx {
    0% {
        opacity: 1;
    }

    100% {
        opacity: 0;
    }
}

.components-reconnect-container[b-ley042xfxx] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
}

#components-reconnect-modal p[b-ley042xfxx] {
    margin: 0;
    text-align: center;
}

#components-reconnect-modal button[b-ley042xfxx] {
    border: 0;
    background-color: #6b9ed2;
    color: white;
    padding: 4px 24px;
    border-radius: 4px;
}

    #components-reconnect-modal button:hover[b-ley042xfxx] {
        background-color: #3b6ea2;
    }

    #components-reconnect-modal button:active[b-ley042xfxx] {
        background-color: #6b9ed2;
    }

.components-rejoining-animation[b-ley042xfxx] {
    position: relative;
    width: 80px;
    height: 80px;
}

    .components-rejoining-animation div[b-ley042xfxx] {
        position: absolute;
        border: 3px solid #0087ff;
        opacity: 1;
        border-radius: 50%;
        animation: components-rejoining-animation-b-ley042xfxx 1.5s cubic-bezier(0, 0.2, 0.8, 1) infinite;
    }

        .components-rejoining-animation div:nth-child(2)[b-ley042xfxx] {
            animation-delay: -0.5s;
        }

@keyframes components-rejoining-animation-b-ley042xfxx {
    0% {
        top: 40px;
        left: 40px;
        width: 0;
        height: 0;
        opacity: 0;
    }

    4.9% {
        top: 40px;
        left: 40px;
        width: 0;
        height: 0;
        opacity: 0;
    }

    5% {
        top: 40px;
        left: 40px;
        width: 0;
        height: 0;
        opacity: 1;
    }

    100% {
        top: 0px;
        left: 0px;
        width: 80px;
        height: 80px;
        opacity: 0;
    }
}
/* /Components/Pages/Portale.razor.rz.scp.css */
/* Composizione della pagina /portale (densita-fornitore, #96) in forma C (#161/#272):
   testata con occhiello + badge, zona d'azione "Cosa devi fare adesso" in testa (porta
   il conteggio degli obbligatori e, quando il compito lo assegna SALC, l'unico modulo
   di caricamento della pagina), checklist di consultazione divisa in obbligatori e
   facoltativi con i mai-toccati in un <details> chiuso, e stato vuoto. Colori, bordi e
   componenti restano quelli globali del design system (ADR-0006/ADR-0008). */

/* ---- Testata: occhiello (denominazione fornitore) + titolo con badge. ---- */
.portale-testata__eyebrow[b-rzzulhgi5i] { margin-bottom: var(--space-1); }
.portale-testata__titolo[b-rzzulhgi5i] {
    display: flex;
    align-items: center;
    gap: var(--space-3);
    flex-wrap: wrap;
}
.portale-testata__titolo h1[b-rzzulhgi5i] {
    font-size: var(--text-2xl);
    line-height: var(--leading-2xl);
    letter-spacing: var(--tracking-titolo);
}
/* Nel mock il badge accanto al titolo e' una pill: solo qui, i badge di riga restano squadrati. */
.portale-testata__titolo[b-rzzulhgi5i]  .badge {
    border-radius: var(--radius-full);
    padding: 2px var(--space-3);
}
.portale-testata[b-rzzulhgi5i] { margin-bottom: var(--space-5); }

/* ---- Avviso informativo come nel mock: card azzurra tenue con bordo sottile
   uniforme (niente barra spessa a sinistra) e icona in tono primario. Gli avvisi
   di errore/successo restano quelli globali del design system. ---- */
.avviso--info[b-rzzulhgi5i] {
    padding: var(--space-4);
    background: var(--primary-50);
    border: var(--border-width) solid color-mix(in srgb, var(--primary-700) 25%, var(--neutral-0));
    border-radius: var(--radius-md);
    color: var(--neutral-800);
}
.avviso--info svg[b-rzzulhgi5i] { color: var(--primary-700); }

/* ---- La zona d'azione (#161): primo blocco della pagina, c'e' sempre e cambia voce.
   Lo stato si legge dal bordo superiore, non da una barra laterale: il fondo resta
   bianco, cosi' il blocco non urla quanto un avviso d'errore (D156). ---- */
.portale-agenda[b-rzzulhgi5i] {
    margin-bottom: var(--space-6);
    padding: var(--space-4) var(--space-5);
    background: var(--neutral-0);
    border: var(--border-default);
    border-radius: var(--radius-md);
}
.portale-agenda--dafare[b-rzzulhgi5i] { border-top: 3px solid var(--warning); }
.portale-agenda--pronta[b-rzzulhgi5i] { border-top: 3px solid var(--success); }
.portale-agenda--attesa[b-rzzulhgi5i] { border-top: 3px solid var(--info); }
.portale-agenda__titolo[b-rzzulhgi5i] {
    display: flex;
    align-items: baseline;
    flex-wrap: wrap;
    gap: var(--space-2) var(--space-3);
    font-size: var(--text-lg);
    font-weight: var(--fw-semibold);
    color: var(--neutral-900);
}
.portale-agenda__conteggio[b-rzzulhgi5i] {
    font-size: var(--text-sm);
    font-weight: var(--fw-regular);
    color: var(--neutral-600);
}
.portale-agenda__spiega[b-rzzulhgi5i] {
    margin-top: var(--space-1);
    font-size: var(--text-sm);
    color: var(--neutral-600);
    max-width: 62ch;
}
/* Le voci da fare: ognuna prepara (collegamento) o compie (modulo) l'azione sulla riga.
   Non numerate: non e' una sequenza, e' un insieme. */
.portale-agenda__voci[b-rzzulhgi5i] { margin-top: var(--space-3); display: grid; gap: var(--space-2); }
.portale-agenda__voce[b-rzzulhgi5i] {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: var(--space-2) var(--space-3);
    padding: var(--space-2) var(--space-3);
    background: var(--neutral-50);
    border: var(--border-default);
    border-radius: var(--radius-sm);
}
.portale-agenda__voce-nome[b-rzzulhgi5i] {
    font-size: var(--text-sm);
    font-weight: var(--fw-medium);
    color: var(--neutral-800);
}
.portale-agenda__voce-perche[b-rzzulhgi5i] {
    grid-column: 2 / -1;
    font-size: var(--text-xs);
    color: var(--neutral-600);
}
.portale-agenda__carica[b-rzzulhgi5i] { grid-column: 1 / -1; margin-top: var(--space-1); }
.portale-agenda__azioni[b-rzzulhgi5i] {
    margin-top: var(--space-4);
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-3);
    align-items: center;
}

/* ---- Sezioni della checklist: intestazione mono maiuscola + conteggio a destra,
   vincoli sul file dichiarati in testa al gruppo (audit #155). ---- */
.portale-sezione[b-rzzulhgi5i] { margin-bottom: var(--space-6); }
.portale-sezione__testa[b-rzzulhgi5i] {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: var(--space-4);
    margin-bottom: var(--space-2);
}
.portale-sezione__testa h2[b-rzzulhgi5i] {
    font-family: var(--font-mono);
    font-size: var(--text-xs);
    font-weight: var(--fw-medium);
    letter-spacing: var(--tracking-occhiello);
    text-transform: uppercase;
    color: var(--neutral-500);
}
.portale-sezione__nota[b-rzzulhgi5i] {
    font-size: var(--text-xs);
    /* neutral-500, non il neutral-400 del mock: sotto AA su fondo chiaro (D67). */
    color: var(--neutral-500);
}
.portale-sezione__vincoli[b-rzzulhgi5i] {
    margin-bottom: var(--space-2);
    font-size: var(--text-xs);
    color: var(--neutral-600);
}

/* ---- Riga documento: badge di stato | nome + meta | azioni a destra (come il mock).
   Colonna-stato stabile: i badge variano di larghezza, i nomi documento no. ---- */
.checklist__riga[b-rzzulhgi5i] { grid-template-columns: auto minmax(0, 1fr) auto; padding-block: var(--space-4); }
.checklist__stato[b-rzzulhgi5i] { min-width: 6.5rem; }
/* Badge di riga come nel mock: chip di solo testo (l'icona e' rinforzo, il significato
   lo porta gia' l'etichetta); "Da caricare" in tono piu' tenue del neutro globale. */
.checklist__stato[b-rzzulhgi5i]  .badge { gap: 0; }
.checklist__stato[b-rzzulhgi5i]  .badge svg { display: none; }
.checklist__stato[b-rzzulhgi5i]  .badge--neutral {
    background: var(--neutral-50);
    color: var(--neutral-600);
    border-color: var(--neutral-200);
}
.checklist__nome[b-rzzulhgi5i] { font-weight: var(--fw-semibold); color: var(--neutral-900); }
.checklist__azione[b-rzzulhgi5i] {
    justify-self: end;
    flex-wrap: wrap;
    justify-content: flex-end;
}
/* Azioni di riga tutte della stessa taglia (mock): stessa altezza dal btn--piccolo,
   larghezza minima comune cosi' "Scarica", "Carica" e "Sostituisci" pareggiano. */
.checklist__azione .btn[b-rzzulhgi5i] { min-width: 6rem; }
/* File caricato: nome mono in tono successo con l'icona-documento, come nel mock. */
.checklist__meta--file[b-rzzulhgi5i] {
    gap: var(--space-1);
    color: var(--success-text);
}
.checklist__meta--file svg[b-rzzulhgi5i] { width: 13px; height: 13px; flex: none; }
.checklist__meta--file .mono[b-rzzulhgi5i] { color: inherit; }
/* Scadenza in tono d'allerta (#274): solo la CCIAA in preavviso o riaperta. Avviso, non errore (D156):
   tinta warning e peso, niente riquadro — la scadenza e' un fatto, non un rifiuto. */
.checklist__meta--allerta[b-rzzulhgi5i] {
    color: var(--warning-text);
    font-weight: var(--fw-semibold);
}

/* La riga che ospita il modulo si stacca dalle altre: e' l'unica viva (forma C). */
.checklist__riga--attiva[b-rzzulhgi5i] { background: var(--primary-50); }
.checklist__riga--attiva:hover[b-rzzulhgi5i] { background: var(--primary-50); }

/* Errore ancorato alla riga (D315): riquadro bordato pieno, non barra laterale (audit
   #155) — e' un avviso puntuale, distinto dalla motivazione di rifiuto qui sopra. */
.checklist__errore[b-rzzulhgi5i] {
    grid-column: 2 / -1;
    margin-top: var(--space-1);
    padding: var(--space-2) var(--space-3);
    font-size: var(--text-xs);
    color: var(--danger-text);
    background: var(--danger-bg);
    border: var(--border-width) solid color-mix(in srgb, var(--danger) 40%, var(--danger-bg));
    border-radius: var(--radius-sm);
}

/* ---- L'unico modulo di caricamento (forma C): vincoli PRIMA del campo (audit #155). ---- */
.checklist__carica[b-rzzulhgi5i] { grid-column: 2 / -1; margin-top: var(--space-2); }
.portale-carica[b-rzzulhgi5i] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--space-2);
}
.portale-carica__vincoli[b-rzzulhgi5i] {
    flex-basis: 100%;
    font-size: var(--text-xs);
    color: var(--neutral-600);
}
.portale-carica .campo-file[b-rzzulhgi5i] { width: 17rem; max-width: 100%; }
/* Upload diretto (site.js): col JS attivo il campo file sparisce e resta il solo
   bottone, che apre il selettore e invia alla scelta del file. Senza JS il campo
   resta visibile e il form funziona come un normale POST multipart. */
.js .portale-carica__file[b-rzzulhgi5i] { display: none; }

/* ---- I facoltativi mai toccati: un <details> di gruppo, chiuso (aperto lo decide il
   server). Dieci righe identiche "Da caricare" non sono informazione, sono peso. ---- */
.portale-altri__riga[b-rzzulhgi5i] { border-bottom: none; }
.portale-altri__apri[b-rzzulhgi5i] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-3) var(--space-4);
    font-size: var(--text-sm);
    color: var(--primary-700);
    font-weight: var(--fw-medium);
    cursor: pointer;
    list-style: none;
}
.portale-altri__apri[b-rzzulhgi5i]::-webkit-details-marker { display: none; }
.portale-altri__apri:hover[b-rzzulhgi5i] { background: var(--neutral-50); }
.portale-altri__apri:focus-visible[b-rzzulhgi5i] {
    outline: var(--ring-focus-width) solid var(--ring-focus-color);
    outline-offset: calc(var(--ring-focus-offset) * -1);
}
.portale-altri__chev[b-rzzulhgi5i] { flex: none; color: var(--neutral-500); transition: transform var(--motion-fast); }
.portale-altri[open] > .portale-altri__apri[b-rzzulhgi5i] { border-bottom: var(--border-default); }
.portale-altri[open] > .portale-altri__apri .portale-altri__chev[b-rzzulhgi5i] { transform: rotate(90deg); }
@media (prefers-reduced-motion: reduce) { .portale-altri__chev[b-rzzulhgi5i] { transition: none; } }
/* La lista interna riusa .checklist ma senza la cornice doppia: il bordo lo porta gia'
   la lista esterna che ospita il <details>. */
.portale-altri__lista[b-rzzulhgi5i] { border: none; border-radius: 0; }

/* ---- Stato vuoto: nessuna pratica aperta. ---- */
.portale-vuoto[b-rzzulhgi5i] {
    padding: var(--space-12) var(--space-6);
    text-align: center;
    color: var(--neutral-600);
    background: var(--neutral-0);
    border: var(--border-default);
    border-radius: var(--radius-md);
}
.portale-vuoto svg[b-rzzulhgi5i] {
    width: 44px;
    height: 44px;
    margin: 0 auto var(--space-4);
    color: var(--neutral-400);
}
.portale-vuoto__titolo[b-rzzulhgi5i] {
    margin-bottom: var(--space-2);
    font-size: var(--text-lg);
    font-weight: var(--fw-semibold);
    color: var(--neutral-800);
}
.portale-vuoto p[b-rzzulhgi5i] { max-width: 44ch; margin-inline: auto; }
.portale-vuoto p + p[b-rzzulhgi5i] { margin-top: var(--space-1); }

@media (max-width: 768px) {
    /* Le azioni (collegamenti e bottoni) scendono su una riga dedicata: in colonna
       stretta non competono col nome del documento. */
    .checklist__riga[b-rzzulhgi5i] { grid-template-columns: auto minmax(0, 1fr); }
    .checklist__azione[b-rzzulhgi5i] { grid-column: 1 / -1; }
    .checklist__errore[b-rzzulhgi5i], .checklist__carica[b-rzzulhgi5i] { grid-column: 1 / -1; }
}

@media (max-width: 640px) {
    /* Collasso a card della riga (D136): una colonna sola. Ribadito qui perche' le regole
       scoped della pagina vincono su quelle globali di backoffice.css a parita' di
       specificita'; senza, la motivazione (grid-column 2/-1) creerebbe una colonna
       implicita strettissima a destra. */
    .checklist__riga[b-rzzulhgi5i] { grid-template-columns: 1fr; gap: var(--space-2); padding: var(--space-4); }
    .checklist__stato[b-rzzulhgi5i] { justify-self: start; }
    .checklist__azione[b-rzzulhgi5i] { grid-column: auto; justify-self: stretch; }
    .checklist__motivazione[b-rzzulhgi5i] { grid-column: auto; }
    .checklist__errore[b-rzzulhgi5i], .checklist__carica[b-rzzulhgi5i] { grid-column: auto; }
    .portale-ritira[b-rzzulhgi5i], .portale-ritira .btn[b-rzzulhgi5i] { width: 100%; }
    .portale-carica[b-rzzulhgi5i] { width: 100%; }
    .portale-carica .campo-file[b-rzzulhgi5i] { width: 100%; }
    .portale-carica .btn[b-rzzulhgi5i] { flex: 1 1 auto; }
    .portale-agenda__voce[b-rzzulhgi5i] { grid-template-columns: auto minmax(0, 1fr); }
    .portale-agenda__voce .btn[b-rzzulhgi5i] { grid-column: 1 / -1; justify-content: center; }
    .portale-agenda__azioni .btn[b-rzzulhgi5i] { width: 100%; }
}
/* /Components/Pages/Profilo.razor.rz.scp.css */
/* Riga di spiegazione sotto un valore o un campo. Le due email si distinguono leggendo l'etichetta
   e questa riga (D310), non deducendo: quindi testo sempre visibile, non una (i) da aprire.

   Non riusa il .aiuto del back-office: aiuto.css definisce un .aiuto a tutta altezza (il guscio
   delle pagine guida) e la neutralizzazione sta sotto .bo, che nel portale non c'e'. */
.nota[b-x5mkzby9h6] {
    display: block;
    margin-block-start: var(--space-1);
    font-size: var(--text-sm);
    font-weight: var(--fw-regular);
    color: var(--neutral-500);
}
