@import '_content/Blazored.Toast/Blazored.Toast.bundle.scp.css';

/* /Components/ArticoloTypeahead.razor.rz.scp.css */
.articolo-code-editor[b-5xlbd7zju5] {
    min-width: 0;
}

.articolo-code-editor__input[b-5xlbd7zju5] {
    min-width: 0;
}

.articolo-suggestions[b-5xlbd7zju5] {
    position: static;
    display: grid;
    width: 100%;
    max-height: 14rem;
    margin-top: 0.2rem;
    overflow-y: auto;
    border: 1px solid var(--ui-border);
    border-radius: 0.45rem;
    background: var(--ui-surface);
    color: var(--ui-text);
    box-shadow: var(--ui-shadow-raised);
}

.articolo-suggestion[b-5xlbd7zju5] {
    display: flex;
    flex-direction: column;
    width: 100%;
    padding: 0.45rem 0.55rem;
    border: 0;
    border-bottom: 1px solid var(--ui-border);
    background: transparent;
    color: var(--ui-text);
    text-align: left;
    white-space: normal;
    overflow-wrap: anywhere;
}

.articolo-suggestion:last-child[b-5xlbd7zju5] {
    border-bottom: 0;
}

.articolo-suggestion:hover[b-5xlbd7zju5],
.articolo-suggestion:focus[b-5xlbd7zju5] {
    background: var(--ui-surface-alt);
    color: var(--ui-text);
    outline: none;
}

.articolo-suggestion__empty[b-5xlbd7zju5] {
    padding: 0.55rem;
    color: var(--ui-muted);
    font-size: 0.875rem;
}
/* /Components/CampoRicerca.razor.rz.scp.css */
.campo-ricerca[b-529no2i9sm] {
    position: relative;
    width: 100%;
    min-width: 0;
}

.campo-ricerca__selezione[b-529no2i9sm] {
    display: flex;
    align-items: center;
    gap: .5rem;
    min-height: 38px;
    cursor: text;
}

.campo-ricerca__valore[b-529no2i9sm] {
    flex: 1 1 auto;
    min-width: 0;
    overflow-wrap: anywhere;
}

.campo-ricerca__pulisci[b-529no2i9sm] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    width: 32px;
    height: 32px;
    padding: 0;
    border: 0;
    border-radius: var(--ui-radius-control);
    background: transparent;
    color: var(--ui-muted);
}

.campo-ricerca__pulisci:hover[b-529no2i9sm],
.campo-ricerca__pulisci:focus-visible[b-529no2i9sm] {
    color: var(--ui-text);
    background: var(--ui-surface-alt);
}

.campo-ricerca__risultati[b-529no2i9sm] {
    position: absolute;
    z-index: 1050;
    top: calc(100% + .2rem);
    left: 0;
    right: 0;
    max-height: min(22rem, 45dvh);
    overflow-y: auto;
    border: 1px solid var(--ui-border);
    border-radius: .45rem;
    background: var(--ui-surface);
    color: var(--ui-text);
    box-shadow: var(--ui-shadow-raised);
}

.campo-ricerca__risultato[b-529no2i9sm] {
    padding: .5rem .75rem;
    border-bottom: 1px solid var(--ui-border);
    cursor: pointer;
    overflow-wrap: anywhere;
}

.campo-ricerca__risultato:last-of-type[b-529no2i9sm] {
    border-bottom: 0;
}

.campo-ricerca__risultato:hover[b-529no2i9sm],
.campo-ricerca__risultato.is-attivo[b-529no2i9sm] {
    background: var(--ui-surface-alt);
}

.campo-ricerca__messaggio[b-529no2i9sm] {
    padding: .55rem .75rem;
    color: var(--ui-muted);
    font-size: .875rem;
}

@media (pointer: coarse) {
    .campo-ricerca__risultato[b-529no2i9sm] {
        min-height: 44px;
    }

    .campo-ricerca__pulisci[b-529no2i9sm] {
        width: 44px;
        height: 44px;
    }
}
/* /Components/CommessaTypeahead.razor.rz.scp.css */
.commessa-picker[b-kmc7vorfkp] { min-width: 0; }
.commessa-result[b-kmc7vorfkp] { display: flex; flex-direction: column; gap: .2rem; padding: .25rem 0; overflow-wrap: anywhere; }
.commessa-result-heading[b-kmc7vorfkp] { display: flex; align-items: center; flex-wrap: wrap; gap: .5rem; }
.commessa-state[b-kmc7vorfkp], .commessa-recent-label[b-kmc7vorfkp] { border: 1px solid currentColor; border-radius: .35rem; padding: .1rem .35rem; font-size: .7rem; }
.commessa-search-hint[b-kmc7vorfkp] { padding: .5rem .75rem; font-size: .8rem; color: var(--bs-secondary-color); }
.commessa-selected[b-kmc7vorfkp] { overflow-wrap: anywhere; }
.commessa-recents[b-kmc7vorfkp] { display: flex; flex-wrap: wrap; align-items: center; gap: .35rem; margin-top: .5rem; }
.commessa-recent[b-kmc7vorfkp] { display: flex; align-items: center; gap: .35rem; max-width: 100%; min-height: 36px; font-size: .75rem; text-align: left; }
.commessa-recent span[b-kmc7vorfkp] { max-width: 13rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.commessa-picker[b-kmc7vorfkp]  .campo-ricerca__risultato { min-height: 48px; }
@media (pointer: coarse) { .commessa-recent[b-kmc7vorfkp] { min-height: 44px; } }
/* /Components/Dialogs/ConfirmationDialog.razor.rz.scp.css */
@media (max-width: 767.98px) {
    .cma-confirm-dialog__actions[b-iq5ecev2c6] {
        row-gap: 0.5rem;
    }
}
/* /Components/Domain/AccessiRecordList.razor.rz.scp.css */
/* Orari in cifre allineate; nella scheda telefono le voci stanno in due colonne compatte. */
.accessi-record-orario[b-dj9uprqzve] { font-variant-numeric: tabular-nums; font-weight: 600; }
.cma-fields.accessi-record-fields[b-dj9uprqzve] { grid-template-columns: minmax(7rem, 40%) minmax(0, 1fr); gap: var(--ui-space-1) var(--ui-space-3); font-size: var(--ui-text-compact); margin-top: var(--ui-space-2); }
/* /Components/Domain/LuogoNoto.razor.rz.scp.css */
/* Il nome del luogo puo' essere lungo: va a capo invece di allargare la tabella o
   uscire dalla scheda. Il selettore doppio (.cma-status.luogo-noto) supera la
   regola di cma-ui.css che tiene su una riga gli stati nelle schede
   (.cma-ui .cma-mobile-card .cma-status { white-space: nowrap; }). */
.cma-status.luogo-noto[b-ezxi6i2aas] {
    display: inline-block;
    max-width: 100%;
    white-space: normal;
    overflow-wrap: anywhere;
}

.luogo-noto a[b-ezxi6i2aas] {
    color: inherit;
    text-decoration: underline;
}
/* /Components/Domain/NovitaOperatori.razor.rz.scp.css */
/* Novita' nella home personale: stesso pannello della home, colori dai token cma-ui. */
.home-panel[b-asf7nb4dlv] {
    background: var(--ui-surface);
    border: 1px solid var(--ui-border);
    border-radius: var(--ui-radius-card);
    padding: var(--ui-space-5);
    min-width: 0;
}
.novita-panel[b-asf7nb4dlv] { border-top: 3px solid var(--ui-primary); }
.panel-heading[b-asf7nb4dlv] { display: flex; justify-content: space-between; align-items: flex-start; gap: var(--ui-space-3); margin-bottom: var(--ui-space-3); }
.panel-heading h2[b-asf7nb4dlv] { margin: 0; color: var(--ui-text); font-size: var(--ui-text-section); }
.home-eyebrow[b-asf7nb4dlv] { color: var(--ui-muted); font-size: var(--ui-text-meta); font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.novita-lista[b-asf7nb4dlv] { display: grid; gap: var(--ui-space-3); margin: 0; padding: 0; list-style: none; }
.novita-voce[b-asf7nb4dlv] { display: flex; gap: var(--ui-space-3); align-items: flex-start; }
.novita-voce + .novita-voce[b-asf7nb4dlv] { padding-top: var(--ui-space-3); border-top: 1px solid var(--ui-border); }
.novita-icona[b-asf7nb4dlv] {
    display: grid;
    place-items: center;
    flex: 0 0 40px;
    width: 40px;
    height: 40px;
    color: var(--ui-link);
    background: var(--ui-surface-alt);
    border-radius: var(--ui-radius-control);
}
.novita-titolo[b-asf7nb4dlv] { display: flex; flex-wrap: wrap; align-items: center; gap: var(--ui-space-1) var(--ui-space-2); color: var(--ui-text); }
.novita-titolo time[b-asf7nb4dlv] { color: var(--ui-muted); font-size: var(--ui-text-meta); }
.novita-voce p[b-asf7nb4dlv] { margin: var(--ui-space-1) 0 var(--ui-space-2); color: var(--ui-text); }
@media (max-width: 640px) { .home-panel[b-asf7nb4dlv] { padding: var(--ui-space-4); } }
@media (pointer: coarse) { .novita-panel .btn[b-asf7nb4dlv] { min-height: 44px; } }
/* /Components/Domain/PermessoPersonaEditor.razor.rz.scp.css */
/* Finestra ferie e permessi di una persona: scelte a pulsanti, date affiancate. */
.permesso-editor[b-en5yd4bowv] { text-align: left; }
.permesso-editor fieldset[b-en5yd4bowv] { margin: 0; padding: 0; border: 0; min-width: 0; }
.permesso-editor legend[b-en5yd4bowv] { float: none; width: auto; padding: 0; font-size: inherit; }
.permesso-editor__chi[b-en5yd4bowv] { margin-bottom: var(--ui-space-3); }
.permesso-editor__scelte .btn[b-en5yd4bowv] { display: inline-flex; align-items: center; }
.permesso-editor__date[b-en5yd4bowv] { display: grid; grid-template-columns: repeat(auto-fit, minmax(9rem, 1fr)); gap: var(--ui-space-3); }

@media (pointer: coarse) {
    .permesso-editor__scelte .btn[b-en5yd4bowv] { min-height: 44px; }
}
/* /Components/Domain/PreferenzeNotifiche.razor.rz.scp.css */
.preferenze-notifiche__nota[b-qpxaisvz91] {
    margin-bottom: var(--ui-space-3);
    color: var(--ui-muted);
}

.preferenze-notifiche__avvisi[b-qpxaisvz91] {
    margin: 0 0 var(--ui-space-3);
    padding-left: 1.2rem;
    color: var(--ui-warning);
    font-size: var(--ui-text-compact);
}

.preferenze-tabella__nome[b-qpxaisvz91] {
    display: block;
    font-weight: 600;
}

.preferenze-tabella__descrizione[b-qpxaisvz91] {
    display: block;
    color: var(--ui-muted);
    font-size: var(--ui-text-meta);
}

.preferenze-tabella__assente[b-qpxaisvz91] {
    color: var(--ui-muted);
}

/* Interruttori larghi abbastanza per il dito, centrati nella colonna del canale. */
.preferenze-tabella__interruttore[b-qpxaisvz91] {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
    margin: 0;
    padding-left: 2.5em;
}

.preferenze-tabella__interruttore .form-check-input[b-qpxaisvz91] {
    width: 2.5em;
    height: 1.4em;
    cursor: pointer;
}

@media (min-width: 768px) {
    .preferenze-tabella__canale[b-qpxaisvz91] {
        width: 7rem;
        text-align: center;
    }
}
/* /Components/Domain/RiepilogoDettaglio.razor.rz.scp.css */
.riepilogo-dettaglio[b-u0mcqxyn3d] { display: grid; gap: var(--ui-space-4); min-width: 0; }
.riepilogo-numeri[b-u0mcqxyn3d] { margin: 0; }
.riepilogo-elenco[b-u0mcqxyn3d] { margin: 0; padding-left: 1.2rem; display: grid; gap: var(--ui-space-2); }
.riepilogo-elenco li[b-u0mcqxyn3d] { overflow-wrap: anywhere; }
.riepilogo-nota-ia[b-u0mcqxyn3d] { margin: var(--ui-space-3) 0 0; display: flex; gap: var(--ui-space-2); align-items: baseline; }
.riepilogo-richieste[b-u0mcqxyn3d] { margin: var(--ui-space-3) 0 0; }
.riepilogo-lavori[b-u0mcqxyn3d] { display: grid; gap: var(--ui-space-3); }
.riepilogo-lavoro[b-u0mcqxyn3d] { display: grid; gap: var(--ui-space-1); padding-bottom: var(--ui-space-3); border-bottom: 1px solid var(--ui-border); min-width: 0; }
.riepilogo-lavoro:last-child[b-u0mcqxyn3d] { border-bottom: 0; padding-bottom: 0; }
.riepilogo-lavoro header[b-u0mcqxyn3d] { display: flex; flex-wrap: wrap; align-items: baseline; gap: .25rem var(--ui-space-2); }
.riepilogo-lavoro p[b-u0mcqxyn3d] { margin: 0; overflow-wrap: anywhere; }
.riepilogo-lavoro__numeri[b-u0mcqxyn3d] { font-variant-numeric: tabular-nums; }
.riepilogo-lavoro__sintesi[b-u0mcqxyn3d] { padding-left: var(--ui-space-3); border-left: 3px solid var(--ui-border); }
.riepilogo-diari summary[b-u0mcqxyn3d] { cursor: pointer; color: var(--ui-link); min-height: 32px; display: flex; align-items: center; }
.riepilogo-presenze[b-u0mcqxyn3d] { margin: 0; }
@media (pointer: coarse) {
    .riepilogo-diari summary[b-u0mcqxyn3d] { min-height: 44px; }
}
/* /Components/Domain/RiepilogoGruppo.razor.rz.scp.css */
.riepilogo-gruppo[b-wzjtwjqhd0] { border-bottom: 1px solid var(--ui-border); padding: var(--ui-space-2) 0; }
.riepilogo-gruppo:first-child[b-wzjtwjqhd0] { padding-top: 0; }
.riepilogo-gruppo summary[b-wzjtwjqhd0] { cursor: pointer; display: flex; align-items: center; justify-content: space-between; gap: var(--ui-space-2); min-height: 32px; font-weight: 600; }
.riepilogo-gruppo ul[b-wzjtwjqhd0] { margin: var(--ui-space-2) 0 0; padding-left: 1.2rem; display: grid; gap: var(--ui-space-1); }
.riepilogo-gruppo li[b-wzjtwjqhd0] { overflow-wrap: anywhere; }
@media (pointer: coarse) { .riepilogo-gruppo summary[b-wzjtwjqhd0] { min-height: 44px; } }
/* /Components/Domain/SalvaLuogoDaSosta.razor.rz.scp.css */
/* Disposizione propria della finestra; stili dei campi da cma-ui.css. */
.salva-luogo[b-63harbsq6p] {
    text-align: start;
}

.salva-luogo fieldset legend[b-63harbsq6p] {
    float: none;
    font-size: inherit;
}

.salva-luogo__raggio[b-63harbsq6p] {
    max-width: 9rem;
}
/* /Components/Domain/TimbraturaModificaForm.razor.rz.scp.css */
/* L'overlay di Modal centra il testo: il form si legge allineato a sinistra. */
.timbratura-form[b-pf8j53pd55] { text-align: left; }
.timbratura-form__gruppo[b-pf8j53pd55] { margin: 0 0 var(--ui-space-4); padding: 0; border: 0; min-width: 0; }
.timbratura-form__gruppo legend[b-pf8j53pd55] {
    float: none;
    width: auto;
    margin-bottom: var(--ui-space-2);
    font-size: var(--ui-text-meta);
    font-weight: 700;
    letter-spacing: .04em;
    text-transform: uppercase;
    color: var(--ui-muted);
}
.timbratura-form__griglia[b-pf8j53pd55] { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--ui-space-3); }
.timbratura-form__riepilogo[b-pf8j53pd55] {
    align-self: end;
    margin: 0;
    padding: var(--ui-space-2) var(--ui-space-3);
    border-radius: var(--ui-radius-control);
    background: var(--ui-surface-alt);
    color: var(--ui-text);
}
.timbratura-form__riepilogo.is-invalid[b-pf8j53pd55] { background: var(--ui-danger-bg); color: var(--ui-danger); font-weight: 600; }
.timbratura-form__intera[b-pf8j53pd55] { grid-column: 1 / -1; }
.timbratura-form__switch[b-pf8j53pd55] { margin-bottom: var(--ui-space-3); }
.timbratura-form__viaggio[b-pf8j53pd55] { align-items: end; }
/* Etichetta della trasferta come quella del solo viaggio. */
.timbratura-form__trasferta[b-pf8j53pd55]  .form-check-label { font-weight: 600; }
.timbratura-form__trasferta[b-pf8j53pd55]  .form-check { margin-bottom: 0; }
.timbratura-form__trasferta small[b-pf8j53pd55] { margin-top: var(--ui-space-1); }
.timbratura-form__switch .form-check-label[b-pf8j53pd55] { font-weight: 600; }
.timbratura-form__elimina[b-pf8j53pd55] { margin-right: auto; }
@media (max-width: 575.98px) {
    .timbratura-form__griglia[b-pf8j53pd55] { grid-template-columns: minmax(0, 1fr); }
    /* Sul telefono: prima Salva, poi Annulla, Elimina in fondo lontano dal pollice. */
    .timbratura-form__salva[b-pf8j53pd55] { order: 1; }
    .timbratura-form__annulla[b-pf8j53pd55] { order: 2; }
    .timbratura-form__elimina[b-pf8j53pd55] { order: 3; margin-right: 0; margin-top: var(--ui-space-2); }
}
/* /Components/Forms/CampiPosizione.razor.rz.scp.css */
/* Disposizione dei campi posizione; stili dei campi da cma-ui.css. */
.campi-posizione[b-cgpl6y5brg] {
    display: grid;
    gap: var(--ui-space-3);
    grid-template-columns: minmax(0, 1fr) minmax(0, 9rem);
    align-items: start;
}

.campi-posizione__azioni[b-cgpl6y5brg],
.campi-posizione__esteso[b-cgpl6y5brg] {
    grid-column: 1 / -1;
}

.campi-posizione__azioni[b-cgpl6y5brg] {
    display: flex;
    flex-wrap: wrap;
    gap: var(--ui-space-2);
}

.campi-posizione__candidati[b-cgpl6y5brg] {
    margin: 0;
    padding-inline-start: var(--ui-space-4);
    display: grid;
    gap: var(--ui-space-1);
}

@media (max-width: 575.98px) {
    .campi-posizione[b-cgpl6y5brg] {
        grid-template-columns: minmax(0, 1fr);
    }
}
/* /Components/Forms/FormActionBar.razor.rz.scp.css */
.form-action-bar[b-p0qlx99r5e] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.5rem;
}

.form-action-bar__cancel[b-p0qlx99r5e],
.form-action-bar__submit[b-p0qlx99r5e] {
    width: 100%;
}

@media (max-width: 767.98px) {
    /* Agganciata al fondo dell'area scorrevole: in coda a un modulo lungo, o
       dentro una finestra modale alta quanto lo schermo, il pulsante di conferma
       obbligava a scorrere tutto per arrivarci. */
    .form-action-bar[b-p0qlx99r5e] {
        grid-template-columns: 1fr;
        position: sticky;
        bottom: var(--cma-tabbar-space, 0px);
        z-index: 5;
        padding: .75rem 0 calc(.75rem + var(--cma-safe-bottom, 0px));
        border-top: 1px solid var(--ui-border);
        background: var(--ui-surface);
    }

    /* Dentro una finestra modale la safe area la gestisce gia' l'overlay, e sotto
       non c'e' la barra di navigazione. */
    .cma-modal-card .form-action-bar[b-p0qlx99r5e],
    .Traparent .card .form-action-bar[b-p0qlx99r5e] {
        bottom: 0;
        padding-bottom: .75rem;
    }

    .form-action-bar--reverse-mobile .form-action-bar__cancel[b-p0qlx99r5e] {
        order: 2;
    }

    .form-action-bar--reverse-mobile .form-action-bar__submit[b-p0qlx99r5e] {
        order: 1;
    }
}

.form-action-bar__submit:only-child[b-p0qlx99r5e] { grid-column: 1 / -1; }
.form-action-bar__cancel[b-p0qlx99r5e], .form-action-bar__submit[b-p0qlx99r5e] {
    min-height: 44px;
    white-space: normal;
    overflow-wrap: anywhere;
    border-radius: var(--ui-radius-control);
}
/* /Components/Kpi/KpiBarChart.razor.rz.scp.css */
/* Barre orizzontali: colore primario del tema, niente gradienti fissi. */
.kpi-bar-chart[b-8ek563kj5u] { display: grid; gap: var(--ui-space-2); }
.kpi-bar-chart__row[b-8ek563kj5u] { display: grid; grid-template-columns: minmax(110px, 1.1fr) minmax(120px, 2fr) minmax(80px, auto); gap: var(--ui-space-2); align-items: center; }
.kpi-bar-chart__label[b-8ek563kj5u] { overflow: hidden; color: var(--ui-text); font-size: var(--ui-text-compact); text-overflow: ellipsis; white-space: nowrap; }
.kpi-bar-chart__track[b-8ek563kj5u] { height: 10px; overflow: hidden; border-radius: 99px; background: var(--ui-surface-alt); }
.kpi-bar-chart__fill[b-8ek563kj5u] { height: 100%; border-radius: inherit; background: var(--ui-primary); transition: width .35s ease; }
.kpi-bar-chart__value[b-8ek563kj5u] { color: var(--ui-text); font-size: var(--ui-text-compact); font-variant-numeric: tabular-nums; text-align: right; }
.kpi-empty[b-8ek563kj5u] { padding: var(--ui-space-4); color: var(--ui-muted); text-align: center; border: 1px dashed var(--ui-border); border-radius: var(--ui-radius-control); }
@media (prefers-reduced-motion: reduce) { .kpi-bar-chart__fill[b-8ek563kj5u] { transition: none; } }
@media (max-width: 560px) { .kpi-bar-chart__row[b-8ek563kj5u] { grid-template-columns: 92px 1fr; } .kpi-bar-chart__value[b-8ek563kj5u] { grid-column: 2; } }
/* /Components/Kpi/KpiMetricCard.razor.rz.scp.css */
/* Usata dentro pagine .cma-ui: colori dai token --ui-*. */
.kpi-metric-card[b-8gpftbb2zw] {
    display: flex;
    align-items: center;
    gap: var(--ui-space-3);
    min-height: 96px;
    padding: var(--ui-space-4);
    border: 1px solid var(--ui-border);
    border-radius: var(--ui-radius-card);
    background: var(--ui-surface);
    box-shadow: var(--ui-shadow);
}

.kpi-metric-card__icon[b-8gpftbb2zw] {
    display: grid;
    place-items: center;
    flex: 0 0 40px;
    width: 40px;
    height: 40px;
    border-radius: var(--ui-radius-control);
    color: var(--ui-link);
    background: var(--ui-surface-alt);
}

.kpi-metric-card__label[b-8gpftbb2zw] { color: var(--ui-muted); font-size: var(--ui-text-label); font-weight: 600; }
.kpi-metric-card__value[b-8gpftbb2zw] { color: var(--ui-text); font-size: 1.5rem; font-weight: 700; line-height: 1.15; font-variant-numeric: tabular-nums; }
.kpi-metric-card__note[b-8gpftbb2zw] { margin-top: .2rem; color: var(--ui-muted); font-size: var(--ui-text-meta); }
/* /Components/Kpi/KpiPanel.razor.rz.scp.css */
/* Usato dentro pagine .cma-ui: stessa resa delle schede di sezione. */
.kpi-panel[b-x10rhgcha8] { overflow: hidden; border: 1px solid var(--ui-border); border-radius: var(--ui-radius-card); background: var(--ui-surface); box-shadow: var(--ui-shadow); min-width: 0; }
.kpi-panel > header[b-x10rhgcha8] { display: flex; justify-content: space-between; padding: var(--ui-space-3) var(--ui-space-4); border-bottom: 1px solid var(--ui-border); background: var(--ui-surface-alt); }
.kpi-panel h3[b-x10rhgcha8] { margin: 0; color: var(--ui-text); font-size: 1rem; font-weight: 700; }
.kpi-panel p[b-x10rhgcha8] { margin: .25rem 0 0; color: var(--ui-muted); font-size: var(--ui-text-meta); }
.kpi-panel__body[b-x10rhgcha8] { padding: var(--ui-space-4); }
/* /Components/Kpi/KpiPeriodo.razor.rz.scp.css */
/* Barra del periodo: allineata in basso come le altre barre filtri. */
.kpi-periodo[b-l9qh1sk2pe] { align-items: end; }
/* /Components/Layout/FiltriSheet.razor.rz.scp.css */
/* Da 768px in su il blocco filtri resta quello di prima: il contenitore sparisce
   dal layout e la SectionCard si comporta come qualsiasi altra scheda. */
.cma-filter-sheet[b-vu4gem7hki] {
    display: contents;
}

.cma-filter-trigger[b-vu4gem7hki],
.cma-filter-backdrop[b-vu4gem7hki],
.cma-filter-close[b-vu4gem7hki],
.cma-filter-sheet__footer[b-vu4gem7hki] {
    display: none;
}

@media (max-width: 767.98px) {
    .cma-filter-trigger[b-vu4gem7hki] {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 100%;
        min-height: 44px;
        margin-bottom: .75rem;
    }

    /* Lo sfondo resta presente e sfuma: entra con il foglio e ne accompagna l'uscita. */
    .cma-filter-backdrop[b-vu4gem7hki] {
        position: fixed;
        z-index: 1040;
        inset: 0;
        display: block;
        background: var(--ui-overlay);
        opacity: 0;
        visibility: hidden;
        pointer-events: none;
        transition: opacity var(--ui-motion-slow) ease, visibility 0s linear var(--ui-motion-slow);
    }

    .cma-filter-backdrop.is-open[b-vu4gem7hki] {
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
        transition: opacity var(--ui-motion-slow) ease, visibility 0s;
    }

    /* Il foglio arriva fino alla barra di navigazione inferiore, non sotto, e non
       supera i due terzi dello schermo: sopra resta visibile il contesto. */
    .cma-filter-sheet[b-vu4gem7hki] {
        position: fixed;
        z-index: 1041;
        right: 0;
        bottom: var(--cma-tabbar-space, 0px);
        left: 0;
        display: block;
        max-height: 72dvh;
        overflow-y: auto;
        transform: translateY(110%);
        /* visibility passa a hidden solo a fine corsa, cosi' si vede anche l'uscita. */
        transition: transform var(--ui-motion-slow) var(--ui-ease-in), visibility 0s linear var(--ui-motion-slow);
    }

    .cma-filter-sheet.is-open[b-vu4gem7hki] {
        transform: translateY(0);
        transition: transform var(--ui-motion-slow) var(--ui-ease-out), visibility 0s;
    }

    /* Senza questo il foglio chiuso resterebbe raggiungibile da tastiera e dal
       tocco pur essendo fuori schermo. */
    .cma-filter-sheet:not(.is-open)[b-vu4gem7hki] {
        visibility: hidden;
    }

    /* Titolo e X sulla stessa riga: l'intestazione di SectionCard su telefono va in colonna. */
    .cma-filter-sheet[b-vu4gem7hki]  .cma-section-card__header {
        flex-direction: row;
        align-items: center;
        justify-content: space-between;
    }

    .cma-filter-sheet[b-vu4gem7hki]  .cma-section-card {
        margin-bottom: 0 !important;
        border-bottom-right-radius: 0;
        border-bottom-left-radius: 0;
    }

    .cma-filter-close[b-vu4gem7hki] {
        display: inline-grid;
        place-items: center;
        width: 44px;
        height: 44px;
        border: 0;
        border-radius: .65rem;
        background: transparent;
        color: var(--ui-muted);
        font-size: 1.1rem;
    }

    .cma-filter-sheet__footer[b-vu4gem7hki] {
        position: sticky;
        bottom: 0;
        display: block;
        margin: 1rem -1rem -1rem;
        padding: .75rem 1rem calc(.75rem + var(--cma-safe-bottom, 0px));
        border-top: 1px solid var(--ui-border);
        background: var(--ui-surface);
    }
}

@media (prefers-reduced-motion: reduce) {
    .cma-filter-backdrop[b-vu4gem7hki], .cma-filter-sheet[b-vu4gem7hki] { transition: none !important; }
}
/* /Components/Layout/PageHeader.razor.rz.scp.css */
.cma-page-header[b-v0536f4oi7] {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 1rem;
    margin-bottom: 1.25rem;
}

.cma-page-header--emphasis[b-v0536f4oi7] {
    padding: 1rem;
    border-radius: 12px;
    border: 1px solid var(--ui-border);
    background: var(--ui-surface);
    box-shadow: var(--ui-shadow);
}

.cma-page-header__copy[b-v0536f4oi7] {
    min-width: 0;
}

.cma-page-header__title[b-v0536f4oi7] {
    margin: 0 0 0.2rem 0;
    font-size: var(--ui-text-title);
    color: var(--ui-text);
}

.cma-page-header__actions[b-v0536f4oi7] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    align-items: flex-start;
    justify-content: flex-end;
}

@media (max-width: 991.98px) {
    .cma-page-header[b-v0536f4oi7] {
        flex-direction: column;
    }

    .cma-page-header__actions[b-v0536f4oi7] {
        width: 100%;
    }
}

@media (max-width: 767.98px) {
    .cma-page-header__actions[b-v0536f4oi7] {
        display: grid;
        grid-template-columns: 1fr;
    }

    .cma-page-header__actions[b-v0536f4oi7]  .btn,
    .cma-page-header__actions[b-v0536f4oi7]  a.btn {
        width: 100%;
    }
}

.cma-page-header__copy[b-v0536f4oi7] { overflow-wrap: anywhere; }
.cma-page-header__actions[b-v0536f4oi7] { min-width: 0; max-width: 100%; }
/* /Components/Layout/PullToRefresh.razor.rz.scp.css */
.pull-to-refresh[b-b18texfhwl] {
    position: relative;
}

/* L'indicatore parte sopra il bordo superiore e scende seguendo il dito.
   `pointer-events: none` evita che intercetti tocchi destinati al contenuto. */
.pull-to-refresh__indicatore[b-b18texfhwl] {
    position: absolute;
    top: -2.75rem;
    left: 50%;
    z-index: 3;
    display: grid;
    place-items: center;
    width: 2.25rem;
    height: 2.25rem;
    margin-left: -1.125rem;
    border-radius: 50%;
    color: var(--ui-link);
    background: var(--ui-surface);
    box-shadow: 0 2px 10px rgba(0, 0, 0, .18);
    opacity: 0;
    pointer-events: none;
}

/* Oltre la soglia il rilascio ricarica: la rotazione lo anticipa. */
.pull-to-refresh__indicatore.is-armed i[b-b18texfhwl] {
    transform: rotate(180deg);
    transition: transform .2s ease;
}

.pull-to-refresh__indicatore.is-loading i[b-b18texfhwl] {
    animation: pullToRefreshGira-b-b18texfhwl .8s linear infinite;
}

@keyframes pullToRefreshGira-b-b18texfhwl {
    to {
        transform: rotate(360deg);
    }
}
/* /Components/Layout/SectionCard.razor.rz.scp.css */
.cma-section-card__header[b-cqm4qdverl] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
}

.cma-section-card__heading[b-cqm4qdverl] {
    min-width: 0;
    font-weight: 700;
}

.cma-section-card__actions[b-cqm4qdverl] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.5rem;
}

@media (max-width: 767.98px) {
    .cma-section-card__header[b-cqm4qdverl] {
        flex-direction: column;
        align-items: flex-start;
    }

    .cma-section-card__actions[b-cqm4qdverl] {
        width: 100%;
    }
}

.cma-section-card[b-cqm4qdverl] {
    min-width: 0;
    border-radius: var(--ui-radius-card);
    border-color: var(--ui-border);
    background: var(--ui-surface);
    color: var(--ui-text);
}
.cma-section-card__header[b-cqm4qdverl] {
    background: var(--ui-surface-alt);
    border-color: var(--ui-border);
}
.cma-section-card__heading[b-cqm4qdverl] { overflow-wrap: anywhere; }
.cma-section-card__actions[b-cqm4qdverl] { min-width: 0; max-width: 100%; }
/* /Components/Layout/Skeleton.razor.rz.scp.css */
.cma-skeleton[b-tlj6agcxep] {
    display: grid;
    gap: .55rem;
}

.cma-skeleton__riga[b-tlj6agcxep] {
    display: block;
    height: 1rem;
    border-radius: .4rem;
    background: linear-gradient(
        90deg,
        rgba(127, 127, 127, .12) 25%,
        rgba(127, 127, 127, .22) 37%,
        rgba(127, 127, 127, .12) 63%);
    background-size: 400% 100%;
    animation: cmaSkeletonOnda-b-tlj6agcxep 1.4s ease infinite;
}

@keyframes cmaSkeletonOnda-b-tlj6agcxep {
    from {
        background-position: 100% 50%;
    }
    to {
        background-position: 0 50%;
    }
}

/* Chi ha chiesto meno animazioni vede barre ferme, non un'onda continua. */
@media (prefers-reduced-motion: reduce) {
    .cma-skeleton__riga[b-tlj6agcxep] {
        animation: none;
        background: rgba(127, 127, 127, .16);
    }
}
/* /Components/Modal.razor.rz.scp.css */
.Traparent[b-5rsbgm8u2c],
.cma-modal-overlay[b-5rsbgm8u2c] {
    z-index: 1200;
    position: fixed;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1rem;
    background: var(--ui-overlay);
    backdrop-filter: blur(3px);
    animation: cmaOverlayIn-b-5rsbgm8u2c .25s ease-out;
}

.cma-modal-card[b-5rsbgm8u2c],
.Traparent .card[b-5rsbgm8u2c] {
    width: min(40rem, 96vw);
    max-height: min(82vh, 42rem);
    overflow-y: auto;
    border: 0;
    border-top: 4px solid var(--ui-brand);
    border-radius: var(--ui-radius-card);
    box-shadow: var(--ui-shadow-raised);
    animation: cmaModalIn-b-5rsbgm8u2c .28s cubic-bezier(0.22, 0.88, 0.32, 1);
}

.cma-modal-card .card-header[b-5rsbgm8u2c],
.Traparent .card-header[b-5rsbgm8u2c] {
    background: var(--ui-surface-alt);
    border-bottom: 1px solid var(--ui-border);
}

@keyframes cmaOverlayIn-b-5rsbgm8u2c {
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}

@keyframes cmaModalIn-b-5rsbgm8u2c {
    from {
        opacity: 0;
        transform: translateY(16px) scale(0.97);
    }
    to {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

.cma-modal-card[b-5rsbgm8u2c] { min-width: 0; background: var(--ui-surface); }
.cma-modal-card h2[b-5rsbgm8u2c] { font-size: var(--ui-text-section); overflow-wrap: anywhere; margin: 0; }
.cma-modal-overlay[b-5rsbgm8u2c] { padding: max(1rem, var(--cma-safe-top, 0px)) max(1rem, var(--cma-safe-right, 0px)) max(1rem, var(--cma-safe-bottom, 0px)) max(1rem, var(--cma-safe-left, 0px)); }
@media (max-width: 767.98px) {
    .cma-modal-card[b-5rsbgm8u2c] { width: 100%; max-height: calc(100dvh - 2rem - var(--cma-safe-top, 0px) - var(--cma-safe-bottom, 0px)); }
}
/* Uscita: modal-accessibility.js rimette la finestra appena chiusa, inerte, e
   aggiunge is-closing; l'elemento si rimuove a fine animazione. */
.cma-modal-overlay.is-closing[b-5rsbgm8u2c] { pointer-events: none; animation: cmaOverlayOut-b-5rsbgm8u2c var(--ui-motion-fast) var(--ui-ease-in) forwards; }
.cma-modal-overlay.is-closing .cma-modal-card[b-5rsbgm8u2c] { animation: cmaModalOut-b-5rsbgm8u2c var(--ui-motion-fast) var(--ui-ease-in) forwards; }
@keyframes cmaOverlayOut-b-5rsbgm8u2c { from { opacity: 1; } to { opacity: 0; } }
@keyframes cmaModalOut-b-5rsbgm8u2c { from { opacity: 1; transform: none; } to { opacity: 0; transform: translateY(8px) scale(0.98); } }
@media (prefers-reduced-motion: reduce) {
    .cma-modal-overlay[b-5rsbgm8u2c], .cma-modal-card[b-5rsbgm8u2c] { animation: none; }
}

.cma-modal-card[b-5rsbgm8u2c] { color: var(--ui-text); border-top-color: var(--ui-link); }
.cma-modal-card .card-body[b-5rsbgm8u2c], .cma-modal-card h2[b-5rsbgm8u2c] { color: var(--ui-text); }
.cma-modal-card--attention[b-5rsbgm8u2c] { border-top-color: var(--ui-danger); }
.cma-modal-card--attention h2[b-5rsbgm8u2c] { color: var(--ui-danger); }
/* /Components/Offerte/AnalisiCostiOfferta.razor.rz.scp.css */
/* Voci a sinistra, riepilogo per posizione a destra quando c'e' spazio; altrimenti uno sotto
   l'altro. Container query sul contenitore esterno: conta la larghezza della pagina, non della
   finestra (una container query non si applica all'elemento che fa da contenitore). */
.analisi-costi-contenitore[b-wsbx3zlbim] {
    container-type: inline-size;
}

.analisi-costi[b-wsbx3zlbim] {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: var(--ui-space-4);
    align-items: start;
}

@container (min-width: 1000px) {
    .analisi-costi[b-wsbx3zlbim] {
        grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr);
    }

    .analisi-costi__riepilogo[b-wsbx3zlbim] {
        position: sticky;
        top: 8rem;
    }
}

.analisi-costi__voci[b-wsbx3zlbim] {
    display: flex;
    flex-direction: column;
    gap: var(--ui-space-3);
    min-width: 0;
}

.analisi-costi__categoria[b-wsbx3zlbim] {
    padding: var(--ui-space-3);
}

.analisi-costi__categoria-testa[b-wsbx3zlbim],
.analisi-costi__categoria-opzioni[b-wsbx3zlbim] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--ui-space-2);
}

.analisi-costi__categoria-nome[b-wsbx3zlbim] {
    flex: 1;
    min-width: 12rem;
    font-weight: 700;
}

.analisi-costi__subtotale[b-wsbx3zlbim] {
    font-variant-numeric: tabular-nums;
}

.analisi-costi__categoria-opzioni[b-wsbx3zlbim] {
    margin: var(--ui-space-2) 0;
    padding-bottom: var(--ui-space-2);
    border-bottom: 1px solid var(--ui-border);
}

.analisi-costi__base[b-wsbx3zlbim] {
    margin: 0;
}

.analisi-costi__conferma[b-wsbx3zlbim] {
    display: inline-flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--ui-space-2);
    margin-left: auto;
    padding: var(--ui-space-1) var(--ui-space-2);
    border-radius: var(--ui-radius-control);
    background: var(--ui-danger-bg);
    color: var(--ui-danger);
    font-size: 0.875rem;
}

/* Ogni voce e' una riga di campi con l'etichetta sopra: va a capo quando la colonna e' stretta. */
.analisi-costi__voce[b-wsbx3zlbim] {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: var(--ui-space-2);
    padding: var(--ui-space-2) 0;
    border-bottom: 1px solid var(--ui-border);
}

.analisi-costi__voce.non-assegnata[b-wsbx3zlbim] {
    margin: 0 calc(-1 * var(--ui-space-2));
    padding-inline: var(--ui-space-2);
    border-radius: var(--ui-radius-control);
    background: var(--ui-warning-bg);
}

.analisi-costi__campo[b-wsbx3zlbim] {
    display: flex;
    flex: 1 1 8rem;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
    margin: 0;
}

.analisi-costi__campo > span[b-wsbx3zlbim],
.analisi-costi__importo > span[b-wsbx3zlbim] {
    color: var(--ui-muted);
    font-size: 0.75rem;
}

.analisi-costi__campo--largo[b-wsbx3zlbim] {
    flex: 3 1 14rem;
}

.analisi-costi__campo--corto[b-wsbx3zlbim] {
    flex: 0 1 6rem;
}

.analisi-costi__campo--ripartizione[b-wsbx3zlbim] {
    flex: 2 1 12rem;
}

.analisi-costi__importo[b-wsbx3zlbim] {
    display: flex;
    flex: 0 0 auto;
    flex-direction: column;
    min-width: 7rem;
    text-align: right;
    font-variant-numeric: tabular-nums;
}

.analisi-costi__quote[b-wsbx3zlbim] {
    display: flex;
    flex-basis: 100%;
    flex-wrap: wrap;
    gap: var(--ui-space-2);
    margin: 0;
    padding: 0;
    border: 0;
}

.analisi-costi__quota[b-wsbx3zlbim] {
    display: inline-flex;
    align-items: center;
    gap: var(--ui-space-1);
    padding: 2px var(--ui-space-2);
    border: 1px solid var(--ui-border);
    border-radius: 999px;
    font-size: 0.8125rem;
    font-variant-numeric: tabular-nums;
}

.analisi-costi__quota.scelta[b-wsbx3zlbim] {
    border-color: var(--ui-primary);
}

.analisi-costi__quota .form-check-input[b-wsbx3zlbim] {
    margin: 0;
}

.analisi-costi__quota .form-control[b-wsbx3zlbim] {
    width: 4.5rem;
}

.analisi-costi__nuova[b-wsbx3zlbim] {
    align-self: flex-start;
    margin-top: var(--ui-space-2);
}

.analisi-costi__riepilogo .card[b-wsbx3zlbim] {
    padding: var(--ui-space-3);
}

.analisi-costi__riepilogo-testa h2[b-wsbx3zlbim] {
    margin: 0 0 var(--ui-space-2);
    font-size: 1.125rem;
}

.analisi-costi__posizioni[b-wsbx3zlbim] {
    display: flex;
    flex-direction: column;
    gap: var(--ui-space-2);
    margin: 0;
    padding: 0;
    list-style: none;
}

.analisi-costi__posizioni li[b-wsbx3zlbim] {
    padding: var(--ui-space-2);
    border: 1px solid var(--ui-border);
    border-radius: var(--ui-radius-control);
}

.analisi-costi__posizioni li.opzione[b-wsbx3zlbim] {
    border-style: dashed;
}

.analisi-costi__pos-titolo[b-wsbx3zlbim] {
    font-weight: 600;
    overflow-wrap: anywhere;
}

.analisi-costi__posizioni li.opzione .analisi-costi__pos-titolo[b-wsbx3zlbim] {
    color: var(--ui-muted);
    font-style: italic;
}

.analisi-costi__pos-valori[b-wsbx3zlbim] {
    display: flex;
    flex-wrap: wrap;
    gap: var(--ui-space-1) var(--ui-space-4);
    margin: var(--ui-space-1) 0;
    font-variant-numeric: tabular-nums;
}

.analisi-costi__pos-valori dt[b-wsbx3zlbim] {
    color: var(--ui-muted);
    font-size: 0.75rem;
    font-weight: 400;
}

.analisi-costi__pos-valori dd[b-wsbx3zlbim] {
    margin: 0;
}

.analisi-costi__prezzo[b-wsbx3zlbim] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--ui-space-1) var(--ui-space-2);
}

.analisi-costi__prezzo label[b-wsbx3zlbim] {
    color: var(--ui-muted);
    font-size: 0.8125rem;
}

.analisi-costi__prezzo .form-control[b-wsbx3zlbim] {
    width: 9rem;
}

.analisi-costi__pos-nota[b-wsbx3zlbim] {
    margin: var(--ui-space-1) 0 0;
    color: var(--ui-muted);
    font-size: 0.75rem;
}

.analisi-costi__totali[b-wsbx3zlbim] {
    margin: var(--ui-space-3) 0;
}

.analisi-costi__trattativa[b-wsbx3zlbim] {
    max-width: 14rem;
}

.analisi-costi__margine--negativo[b-wsbx3zlbim] { color: var(--ui-danger); font-weight: 700; }
.analisi-costi__margine--basso[b-wsbx3zlbim] { color: var(--ui-warning); font-weight: 700; }
.analisi-costi__margine--buono[b-wsbx3zlbim] { color: var(--ui-success); font-weight: 700; }

.analisi-costi__avvisi[b-wsbx3zlbim] {
    margin-top: var(--ui-space-3);
    padding: var(--ui-space-2) var(--ui-space-3);
    border-radius: var(--ui-radius-control);
    background: var(--ui-warning-bg);
    color: var(--ui-warning);
    font-size: 0.875rem;
}

.analisi-costi__avvisi p[b-wsbx3zlbim],
.analisi-costi__avvisi ul[b-wsbx3zlbim] {
    margin: 0;
}

.analisi-costi__avvisi ul[b-wsbx3zlbim] {
    padding-left: 1.2rem;
}
/* /Components/Offerte/AnteprimaOfferta.razor.rz.scp.css */
/* Il foglio resta bianco in entrambi i temi, come il documento: colori del sito cmasystem.it
   (blu #004884, blu acceso #157CD1, testo #1a1829, grigi #f1f5f9/#e2e8f0, velo #0c0534). */
.anteprima-offerta[b-zatp4810o0] {
    --doc-blu: #004884;
    --doc-acceso: #157cd1;
    --doc-testo: #1a1829;
    --doc-muto: #5b6676;
    --doc-grigio: #f1f5f9;
    --doc-linea: #e2e8f0;
    background: #fff;
    color: var(--doc-testo);
    font-family: "Segoe UI", system-ui, sans-serif;
    font-size: 0.875rem;
    line-height: 1.5;
    border-radius: var(--ui-radius-control);
    box-shadow: var(--ui-shadow);
    overflow: hidden;
    container-type: inline-size;
}

.anteprima-offerta__fascia[b-zatp4810o0] {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: var(--ui-space-1);
    padding: var(--ui-space-5) var(--ui-space-4);
    background: #0c0534;
    color: #fff;
}

.anteprima-offerta__fascia .over[b-zatp4810o0],
.ch-over[b-zatp4810o0] {
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

.anteprima-offerta__fascia .over[b-zatp4810o0] {
    color: rgba(255, 255, 255, 0.8);
}

.anteprima-offerta__fascia strong[b-zatp4810o0] {
    font-size: 1.375rem;
    line-height: 1.2;
    overflow-wrap: anywhere;
}

.anteprima-offerta__bozza[b-zatp4810o0] {
    position: absolute;
    top: var(--ui-space-2);
    right: var(--ui-space-2);
    padding: 2px 10px;
    border-radius: 999px;
    background: #f2a12e;
    color: #1a1829;
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.anteprima-offerta__info[b-zatp4810o0] {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: var(--ui-space-4);
    padding: var(--ui-space-4);
}

.anteprima-offerta__info .lbl[b-zatp4810o0] {
    color: var(--doc-muto);
    font-size: 0.75rem;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.anteprima-offerta__info .cli[b-zatp4810o0] {
    color: var(--doc-blu);
    font-size: 1.05rem;
    font-weight: 700;
}

.anteprima-offerta__info .addr[b-zatp4810o0] {
    white-space: pre-line;
}

.anteprima-offerta__info dl[b-zatp4810o0] {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 2px var(--ui-space-3);
    margin: 0;
    padding: var(--ui-space-3);
    border-left: 4px solid var(--doc-blu);
    background: var(--doc-grigio);
}

.anteprima-offerta__info dt[b-zatp4810o0] {
    color: var(--doc-muto);
    font-weight: 400;
}

.anteprima-offerta__info dd[b-zatp4810o0] {
    margin: 0;
    font-weight: 600;
}

.anteprima-offerta__info .big[b-zatp4810o0] {
    color: var(--doc-blu);
    font-variant-numeric: tabular-nums;
}

.anteprima-offerta__indice[b-zatp4810o0],
.anteprima-offerta__capitolo[b-zatp4810o0] {
    padding: var(--ui-space-4);
    border-top: 1px dashed #94a3b8;
}

.ch-over[b-zatp4810o0] {
    color: var(--doc-acceso);
}

.anteprima-offerta__indice ol[b-zatp4810o0] {
    margin: var(--ui-space-2) 0 0;
    padding: 0;
    list-style: none;
}

.anteprima-offerta__indice li[b-zatp4810o0] {
    padding: 4px 0;
    border-bottom: 1px solid var(--doc-linea);
    font-weight: 600;
}

.anteprima-offerta__indice .n[b-zatp4810o0] {
    display: inline-block;
    width: 1.8em;
    color: var(--doc-acceso);
}

.ch-title[b-zatp4810o0] {
    margin: 0.2em 0 0.6em;
    color: var(--doc-blu);
    font-size: 1.25rem;
    font-weight: 700;
}

.anteprima-offerta .pos[b-zatp4810o0] {
    margin: 1em 0 0.4em;
    color: var(--doc-blu);
    font-size: 0.95rem;
    font-weight: 700;
}

.anteprima-offerta .tag[b-zatp4810o0] {
    padding: 1px 6px;
    border-radius: 4px;
    background: var(--doc-grigio);
    color: var(--doc-acceso);
}

.anteprima-offerta .testo[b-zatp4810o0],
.anteprima-offerta .vuoto[b-zatp4810o0] {
    overflow-wrap: anywhere;
}

.anteprima-offerta .vuoto[b-zatp4810o0] {
    color: #a0563a;
    font-style: italic;
}

.anteprima-offerta .tbl[b-zatp4810o0],
.anteprima-offerta .cond[b-zatp4810o0] {
    width: 100%;
    margin: 0.4em 0 0.8em;
    border-collapse: collapse;
    font-size: 0.8125rem;
}

.anteprima-offerta .tbl th[b-zatp4810o0] {
    padding: 4px 6px;
    background: var(--doc-blu);
    color: #fff;
    text-align: left;
}

.anteprima-offerta .tbl td[b-zatp4810o0],
.anteprima-offerta .cond td[b-zatp4810o0],
.anteprima-offerta .cond th[b-zatp4810o0] {
    padding: 4px 6px;
    border-bottom: 1px solid var(--doc-linea);
    vertical-align: top;
}

.anteprima-offerta .cond th[b-zatp4810o0] {
    width: 28%;
    background: var(--doc-grigio);
    color: var(--doc-blu);
    text-align: left;
}

.anteprima-offerta .cond td[b-zatp4810o0] {
    white-space: pre-line;
}

.anteprima-offerta .num[b-zatp4810o0] {
    text-align: right;
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}

.anteprima-offerta tr.opz td[b-zatp4810o0] {
    color: var(--doc-muto);
    font-style: italic;
}

.anteprima-offerta .costo[b-zatp4810o0],
.anteprima-offerta .totale[b-zatp4810o0] {
    display: flex;
    justify-content: space-between;
    gap: var(--ui-space-3);
    margin: 0.4em 0 1em;
    padding: 6px 10px;
    font-variant-numeric: tabular-nums;
}

.anteprima-offerta .costo[b-zatp4810o0] {
    border-left: 4px solid var(--doc-blu);
    background: var(--doc-grigio);
    color: var(--doc-blu);
}

.anteprima-offerta .costo.opz[b-zatp4810o0] {
    border-left-color: var(--doc-muto);
    color: var(--doc-muto);
}

.anteprima-offerta .totale[b-zatp4810o0] {
    background: var(--doc-blu);
    color: #fff;
}

.anteprima-offerta .firme[b-zatp4810o0] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8%;
    margin-top: var(--ui-space-4);
    color: var(--doc-muto);
    font-size: 0.8125rem;
}

.anteprima-offerta .firme span[b-zatp4810o0] {
    display: block;
    height: 36px;
    margin-bottom: 4px;
    border-bottom: 1px solid var(--doc-testo);
}

.anteprima-offerta .fig[b-zatp4810o0] {
    margin: 0.6em auto 1em;
    text-align: center;
}

.anteprima-offerta .fig img[b-zatp4810o0] {
    display: block;
    width: 100%;
    height: auto;
    margin: 0 auto;
    border: 1px solid var(--doc-linea);
}

.anteprima-offerta .fig.meta img[b-zatp4810o0] { width: 50%; }
.anteprima-offerta .fig.terzo img[b-zatp4810o0] { width: 33%; }

.anteprima-offerta .fig figcaption[b-zatp4810o0] {
    margin-top: 3px;
    color: var(--doc-muto);
    font-size: 0.8125rem;
    font-style: italic;
}

@container (max-width: 520px) {
    .anteprima-offerta__info[b-zatp4810o0] {
        grid-template-columns: minmax(0, 1fr);
    }
}
/* /Components/Offerte/AssegnazioneCosti.razor.rz.scp.css */
.assegnazione-costi[b-sksaez3xra] {
    margin-top: var(--ui-space-4);
    padding: var(--ui-space-3);
    border: 1px solid var(--ui-border);
    border-radius: var(--ui-radius-card);
    background: var(--ui-surface-alt);
}

.assegnazione-costi__testa h3[b-sksaez3xra] {
    margin: 0 0 var(--ui-space-1);
    font-size: 1rem;
    font-weight: 700;
}

.assegnazione-costi__barra[b-sksaez3xra],
.assegnazione-costi__massa[b-sksaez3xra] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--ui-space-2) var(--ui-space-3);
    margin: var(--ui-space-3) 0;
}

.assegnazione-costi__massa .form-select[b-sksaez3xra] {
    width: auto;
    min-width: 14rem;
    max-width: 100%;
}

.assegnazione-costi__tabella .form-select[b-sksaez3xra] {
    min-width: 12rem;
}

/* Elenco lungo: scorre dentro il riquadro, con la barra di Salva sempre raggiungibile. */
.assegnazione-costi__tabella[b-sksaez3xra] {
    max-height: 32rem;
    overflow: auto;
}
/* /Components/Offerte/BudgetCommessa.razor.rz.scp.css */
.budget-commessa__confronti[b-88fkpydoes] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(18rem, 1fr));
    gap: var(--ui-space-3);
}

.budget-commessa__confronto[b-88fkpydoes] {
    padding: var(--ui-space-3);
    border: 1px solid var(--ui-border);
    border-radius: var(--ui-radius-card);
}

.budget-commessa__confronto h3[b-88fkpydoes],
.budget-commessa__dettagli h3[b-88fkpydoes] {
    margin: 0 0 var(--ui-space-2);
    font-size: 1rem;
    font-weight: 700;
}

.budget-commessa__confronto dl[b-88fkpydoes] {
    display: flex;
    flex-wrap: wrap;
    gap: var(--ui-space-2) var(--ui-space-5);
    margin: 0;
}

.budget-commessa__confronto dt[b-88fkpydoes] {
    color: var(--ui-muted);
    font-size: 0.75rem;
    font-weight: 400;
}

.budget-commessa__confronto dd[b-88fkpydoes] {
    margin: 0;
    font-size: 1.05rem;
    font-weight: 700;
    font-variant-numeric: tabular-nums;
}

.budget-commessa__dentro[b-88fkpydoes] { color: var(--ui-success); }
.budget-commessa__vicino[b-88fkpydoes] { color: var(--ui-warning); }
.budget-commessa__oltre[b-88fkpydoes] { color: var(--ui-danger); }

.budget-commessa__barra.budget-commessa__vicino > span[b-88fkpydoes] { background: var(--ui-warning-fill); }
.budget-commessa__barra.budget-commessa__oltre > span[b-88fkpydoes] { background: var(--ui-danger-fill); }

.budget-commessa__avvisi[b-88fkpydoes] {
    margin: var(--ui-space-3) 0 0;
    padding: var(--ui-space-2) var(--ui-space-3) var(--ui-space-2) var(--ui-space-5);
    border-radius: var(--ui-radius-control);
    background: var(--ui-warning-bg);
    color: var(--ui-warning);
    font-size: 0.875rem;
}

.budget-commessa__dettagli[b-88fkpydoes] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(18rem, 1fr));
    gap: var(--ui-space-4);
    margin-top: var(--ui-space-4);
}

.budget-commessa__posizioni[b-88fkpydoes] {
    margin-top: var(--ui-space-4);
}

.budget-commessa__posizioni-testa[b-88fkpydoes] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: var(--ui-space-2);
    margin-bottom: var(--ui-space-2);
}

.budget-commessa__posizioni-testa h3[b-88fkpydoes] {
    margin: 0;
    font-size: 1rem;
    font-weight: 700;
}

.budget-commessa__esclusa th[b-88fkpydoes],
.budget-commessa__esclusa td[b-88fkpydoes] {
    color: var(--ui-muted);
    font-style: italic;
}

.budget-commessa__non-assegnati th[b-88fkpydoes],
.budget-commessa__non-assegnati td[b-88fkpydoes] {
    font-weight: 700;
}

/* Nelle celle la regola del colore delle tabelle condivise e' piu' forte: qui serve la tabella. */
.budget-commessa__posizioni td.budget-commessa__vicino[b-88fkpydoes] { color: var(--ui-warning); font-weight: 700; }
.budget-commessa__posizioni td.budget-commessa__oltre[b-88fkpydoes] { color: var(--ui-danger); font-weight: 700; }
/* /Components/Offerte/EditorSezione.razor.rz.scp.css */
.offerta-sezione[b-ijwmocbiwd] {
    /* La testata del gestionale resta in alto: il capitolo scelto dall'indice non ci finisce sotto. */
    scroll-margin-top: 8rem;
}

.offerta-sezione__testa[b-ijwmocbiwd] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--ui-space-2);
    padding: var(--ui-space-2) var(--ui-space-3);
    border-bottom: 1px solid var(--ui-border);
}

.offerta-sezione__numero[b-ijwmocbiwd] {
    min-width: 1.5em;
    color: var(--ui-brand-text);
    font-weight: 800;
    font-variant-numeric: tabular-nums;
}

.offerta-sezione__titolo[b-ijwmocbiwd] {
    flex: 1;
    min-width: 12rem;
    font-weight: 700;
}

.offerta-sezione__tipo[b-ijwmocbiwd] {
    color: var(--ui-muted);
    font-size: 0.75rem;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

.offerta-sezione__corpo[b-ijwmocbiwd] {
    container-type: inline-size;
    display: flex;
    flex-direction: column;
    gap: var(--ui-space-3);
    padding: var(--ui-space-3);
}

.offerta-html[b-ijwmocbiwd] {
    overflow-wrap: anywhere;
}

.offerta-posizione[b-ijwmocbiwd] {
    display: flex;
    flex-direction: column;
    gap: var(--ui-space-2);
    padding: var(--ui-space-3);
    border: 1px solid var(--ui-border);
    border-radius: var(--ui-radius-card);
    background: var(--ui-surface-alt);
    /* La testata del gestionale resta in alto: il capitolo scelto dall'indice non ci finisce sotto. */
    scroll-margin-top: 8rem;
}

.offerta-posizione__testa[b-ijwmocbiwd],
.offerta-posizione__piede[b-ijwmocbiwd],
.offerta-posizione__aggiungi[b-ijwmocbiwd],
.offerta-posizione__comandi[b-ijwmocbiwd] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--ui-space-2);
}

.offerta-posizione__testa .form-control[b-ijwmocbiwd] {
    flex: 1;
    min-width: 12rem;
    font-weight: 600;
}

.offerta-posizione__numero[b-ijwmocbiwd] {
    color: var(--ui-brand-text);
    font-variant-numeric: tabular-nums;
}

.offerta-posizione__opzione[b-ijwmocbiwd] {
    margin: 0;
}

.offerta-posizione__aggiungi[b-ijwmocbiwd]  .ricerca-articolo {
    flex: 1;
    min-width: 14rem;
}

.offerta-posizione__corpo[b-ijwmocbiwd] {
    width: 9rem;
}

.offerta-posizione__totale[b-ijwmocbiwd] {
    margin-left: auto;
    font-variant-numeric: tabular-nums;
}

.offerta-posizione__comandi[b-ijwmocbiwd] {
    width: 100%;
    justify-content: flex-end;
}

.offerta-conferma[b-ijwmocbiwd] {
    display: inline-flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--ui-space-2);
    padding: var(--ui-space-1) var(--ui-space-2);
    border-radius: var(--ui-radius-control);
    background: var(--ui-danger-bg);
    color: var(--ui-danger);
    font-size: 0.875rem;
}

.offerta-righe__qta[b-ijwmocbiwd] { width: 6rem; }
.offerta-righe__um[b-ijwmocbiwd] { width: 5.5rem; }
.offerta-righe__codice[b-ijwmocbiwd] { width: 9rem; }
.offerta-righe__prezzo[b-ijwmocbiwd] { width: 8.5rem; }

.offerta-condizione[b-ijwmocbiwd] {
    display: grid;
    grid-template-columns: 13rem minmax(0, 1fr) auto;
    gap: var(--ui-space-2);
    align-items: start;
}

.offerta-condizione__etichetta[b-ijwmocbiwd] {
    font-weight: 600;
}

/* Il campo cresce con il testo (almeno tre righe, poi scorre): le clausole lunghe si leggono
   senza aprirle. Dove field-sizing non c'e' (Firefox) valgono le quattro righe di rows. */
.offerta-condizione__testo[b-ijwmocbiwd] {
    field-sizing: content;
    min-height: 5.5rem;
    max-height: 22rem;
}

@media (max-width: 767.98px) {
    .offerta-condizione[b-ijwmocbiwd] {
        grid-template-columns: minmax(0, 1fr) auto;
    }

    .offerta-condizione textarea[b-ijwmocbiwd] {
        grid-column: 1 / -1;
        grid-row: 2;
    }

    .offerta-posizione__totale[b-ijwmocbiwd] {
        margin-left: 0;
        width: 100%;
    }
}

/* La colonna di modifica e' stretta anche su desktop (accanto a indice e anteprima): sotto i
   640 px di larghezza del capitolo ogni riga diventa una scheda con le etichette sopra i campi. */
@container (max-width: 640px) {
    .offerta-sezione__corpo .offerta-righe thead[b-ijwmocbiwd] {
        display: none;
    }

    .offerta-sezione__corpo .offerta-righe[b-ijwmocbiwd],
    .offerta-sezione__corpo .offerta-righe tbody[b-ijwmocbiwd] {
        display: block;
    }

    .offerta-sezione__corpo .offerta-righe tr[b-ijwmocbiwd] {
        display: grid;
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: var(--ui-space-2);
        padding: var(--ui-space-2) 0;
        border-bottom: 1px solid var(--ui-border);
    }

    .offerta-sezione__corpo .offerta-righe td[b-ijwmocbiwd] {
        display: block;
        padding: 0;
        border: 0;
        background: none;
    }

    .offerta-sezione__corpo .offerta-righe td[data-label][b-ijwmocbiwd]::before {
        content: attr(data-label);
        display: block;
        color: var(--ui-muted);
        font-size: 0.75rem;
    }

    .offerta-sezione__corpo .offerta-righe .c-cod[b-ijwmocbiwd],
    .offerta-sezione__corpo .offerta-righe .c-gruppo[b-ijwmocbiwd],
    .offerta-sezione__corpo .offerta-righe .c-voce[b-ijwmocbiwd] {
        grid-column: span 2;
    }

    .offerta-sezione__corpo .offerta-righe .c-desc[b-ijwmocbiwd] {
        grid-column: 1 / -1;
    }

    .offerta-sezione__corpo .offerta-righe .c-imp[b-ijwmocbiwd],
    .offerta-sezione__corpo .offerta-righe .c-az[b-ijwmocbiwd] {
        align-self: end;
    }

    .offerta-sezione__corpo .offerta-righe .c-az[b-ijwmocbiwd] {
        justify-self: end;
    }
}
/* /Components/Offerte/ImmaginiOfferta.razor.rz.scp.css */
.immagini-offerta[b-3nrqkcn46f] {
    display: flex;
    flex-direction: column;
    gap: var(--ui-space-2);
}

.immagini-offerta__lista[b-3nrqkcn46f] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(11rem, 1fr));
    gap: var(--ui-space-2);
    margin: 0;
    padding: 0;
    list-style: none;
}

.immagini-offerta__scheda[b-3nrqkcn46f] {
    display: flex;
    flex-direction: column;
    overflow: hidden;
    border: 1px solid var(--ui-border);
    border-radius: var(--ui-radius-card);
    background: var(--ui-surface);
}

/* Fondo bianco anche nel tema scuro: disegni e loghi hanno spesso lo sfondo trasparente. */
.immagini-offerta__scheda img[b-3nrqkcn46f] {
    display: block;
    width: 100%;
    height: 7rem;
    object-fit: contain;
    background: #fff;
}

.immagini-offerta__campi[b-3nrqkcn46f] {
    display: flex;
    flex-direction: column;
    gap: var(--ui-space-1);
    padding: var(--ui-space-2);
}

.immagini-offerta__comandi[b-3nrqkcn46f] {
    display: flex;
    gap: var(--ui-space-1);
    justify-content: flex-end;
}

.immagini-offerta__carica[b-3nrqkcn46f] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--ui-space-2);
}

.immagini-offerta__errore[b-3nrqkcn46f] {
    margin: 0;
    color: var(--ui-danger);
    font-size: 0.875rem;
}
/* /Components/Offerte/IndiceOfferta.razor.rz.scp.css */
.offerta-indice[b-5g22s2hdn3] {
    padding: var(--ui-space-2);
    background: var(--ui-surface);
    border: 1px solid var(--ui-border);
    border-radius: var(--ui-radius-card);
}

.offerta-indice__titolo[b-5g22s2hdn3] {
    margin: 0;
    padding: var(--ui-space-1) var(--ui-space-2) var(--ui-space-2);
    color: var(--ui-muted);
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.offerta-indice__lista[b-5g22s2hdn3],
.offerta-indice__posizioni[b-5g22s2hdn3] {
    margin: 0;
    padding: 0;
    list-style: none;
}

.offerta-indice__riga[b-5g22s2hdn3] {
    position: relative;
    display: flex;
    align-items: center;
    border-left: 3px solid transparent;
    border-radius: var(--ui-radius-control);
    transition: background var(--ui-motion-base) var(--ui-ease-out);
}

.offerta-indice__riga:hover[b-5g22s2hdn3] {
    background: var(--ui-surface-alt);
}

.offerta-indice__riga.attiva[b-5g22s2hdn3] {
    border-left-color: var(--ui-brand);
    background: var(--ui-brand-soft);
}

.offerta-indice__riga.attiva .offerta-indice__voce[b-5g22s2hdn3] {
    color: var(--ui-brand-text);
    font-weight: 700;
}

/* Punto d'arrivo del trascinamento: linea arancione sopra la voce. */
.offerta-indice__riga.sopra[b-5g22s2hdn3]::before {
    content: "";
    position: absolute;
    left: var(--ui-space-2);
    right: var(--ui-space-2);
    top: -2px;
    height: 3px;
    border-radius: 2px;
    background: var(--ui-brand);
}

.offerta-indice__maniglia[b-5g22s2hdn3] {
    flex: none;
    width: 18px;
    color: var(--ui-muted);
    text-align: center;
    cursor: grab;
    opacity: 0.6;
}

.offerta-indice__riga:hover .offerta-indice__maniglia[b-5g22s2hdn3] {
    opacity: 1;
}

.offerta-indice__voce[b-5g22s2hdn3] {
    display: flex;
    flex: 1;
    gap: var(--ui-space-2);
    min-width: 0;
    padding: 6px;
    border: 0;
    background: none;
    color: var(--ui-text);
    font-size: 0.875rem;
    line-height: 1.3;
    text-align: left;
}

.offerta-indice__voce .n[b-5g22s2hdn3] {
    flex: none;
    min-width: 1.2em;
    color: var(--ui-muted);
    font-variant-numeric: tabular-nums;
}

.offerta-indice__voce .t[b-5g22s2hdn3] {
    overflow-wrap: anywhere;
}

.offerta-indice__riga.lv2 .offerta-indice__voce[b-5g22s2hdn3] {
    padding-left: var(--ui-space-4);
    font-size: 0.8125rem;
}

.offerta-indice__riga.lv2 .offerta-indice__voce .n[b-5g22s2hdn3] {
    min-width: 3.2em;
}

.offerta-indice__riga[b-5g22s2hdn3]  .cma-more-actions .btn span {
    display: none;
}

.offerta-indice__nuovo[b-5g22s2hdn3] {
    margin: var(--ui-space-2) var(--ui-space-2) 0;
}

.offerta-indice__aiuto[b-5g22s2hdn3] {
    margin: var(--ui-space-2) var(--ui-space-2) 0;
    color: var(--ui-muted);
    font-size: 0.75rem;
}

@media (pointer: coarse) {
    .offerta-indice__voce[b-5g22s2hdn3] {
        min-height: 44px;
        align-items: center;
    }
}
/* /Components/Offerte/LibreriaConfigurazione.razor.rz.scp.css */
.libreria-config__barra[b-ges2rgomv8] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: var(--ui-space-3);
    margin-bottom: var(--ui-space-3);
}

.libreria-config__tipo[b-ges2rgomv8] {
    margin: var(--ui-space-4) 0 var(--ui-space-2);
    font-size: 1rem;
    font-weight: 700;
}

.libreria-config__gruppo[b-ges2rgomv8] {
    margin: var(--ui-space-3) 0 var(--ui-space-2);
    color: var(--ui-brand-text);
    font-size: 0.8125rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.libreria-config__lista[b-ges2rgomv8] {
    display: flex;
    flex-direction: column;
    gap: var(--ui-space-2);
    margin: 0;
    padding: 0;
    list-style: none;
}

.libreria-config__voce[b-ges2rgomv8] {
    display: flex;
    align-items: center;
    gap: var(--ui-space-3);
    padding: var(--ui-space-2) var(--ui-space-3);
    border: 1px solid var(--ui-border);
    border-radius: var(--ui-radius-card);
}

.libreria-config__voce img[b-ges2rgomv8] {
    flex: none;
    width: 4rem;
    height: 3rem;
    object-fit: contain;
    border-radius: var(--ui-radius-control);
    background: #fff;
}

.libreria-config__testo[b-ges2rgomv8] {
    display: flex;
    flex: 1;
    flex-direction: column;
    min-width: 0;
}

.libreria-config__titolo[b-ges2rgomv8] {
    padding: 0;
    border: 0;
    background: none;
    font-weight: 700;
    text-align: left;
    overflow-wrap: anywhere;
}

.libreria-config__form[b-ges2rgomv8] {
    text-align: left;
}

.libreria-config__campi[b-ges2rgomv8] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--ui-space-3);
}

.libreria-config__schemi[b-ges2rgomv8] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(12rem, 1fr));
    gap: var(--ui-space-1) var(--ui-space-3);
}

@media (max-width: 575.98px) {
    .libreria-config__campi[b-ges2rgomv8] {
        grid-template-columns: minmax(0, 1fr);
    }
}
/* /Components/Offerte/LibreriaOfferta.razor.rz.scp.css */
/* Pannello che entra da destra sopra la pagina, con sfondo scuro. Si chiude subito perche'
   segue una scelta (sistema grafico: pannelli a comparsa, solo entrata). */
.libreria-offerta__sfondo[b-xkvd9ay8pv] {
    position: fixed;
    inset: 0;
    z-index: 1040;
    background: var(--ui-overlay);
    animation: libreria-sfondo-b-xkvd9ay8pv var(--ui-motion-base) var(--ui-ease-out);
}

.libreria-offerta[b-xkvd9ay8pv] {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    z-index: 1041;
    display: flex;
    flex-direction: column;
    width: min(28rem, 100%);
    padding-top: env(safe-area-inset-top, 0px);
    padding-bottom: env(safe-area-inset-bottom, 0px);
    background: var(--ui-surface);
    box-shadow: var(--ui-shadow-raised);
    animation: libreria-entra-b-xkvd9ay8pv var(--ui-motion-slow) var(--ui-ease-out);
}

.libreria-offerta__testa[b-xkvd9ay8pv] {
    display: flex;
    align-items: center;
    gap: var(--ui-space-2);
    padding: var(--ui-space-3) var(--ui-space-4);
    border-bottom: 1px solid var(--ui-border);
}

.libreria-offerta__testa h2[b-xkvd9ay8pv] {
    flex: 1;
    margin: 0;
    font-size: 1.125rem;
}

.libreria-offerta__ricerca[b-xkvd9ay8pv] {
    padding: var(--ui-space-3) var(--ui-space-4) 0;
}

.libreria-offerta__corpo[b-xkvd9ay8pv] {
    display: flex;
    flex: 1;
    flex-direction: column;
    gap: var(--ui-space-2);
    overflow: auto;
    padding: var(--ui-space-3) var(--ui-space-4) var(--ui-space-4);
}

.libreria-offerta__tipo[b-xkvd9ay8pv] {
    margin: var(--ui-space-2) 0 0;
    color: var(--ui-muted);
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.libreria-offerta__voce[b-xkvd9ay8pv] {
    display: flex;
    gap: var(--ui-space-3);
    padding: var(--ui-space-2);
    border: 1px solid var(--ui-border);
    border-radius: var(--ui-radius-card);
}

/* Fondo bianco anche nel tema scuro: disegni e loghi hanno spesso lo sfondo trasparente. */
.libreria-offerta__voce img[b-xkvd9ay8pv] {
    flex: none;
    width: 5rem;
    height: 4rem;
    object-fit: contain;
    border-radius: var(--ui-radius-control);
    background: #fff;
}

.libreria-offerta__testo[b-xkvd9ay8pv] {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: var(--ui-space-1);
    min-width: 0;
}

.libreria-offerta__testo h4[b-xkvd9ay8pv] {
    margin: 0;
    font-size: 0.9375rem;
    font-weight: 700;
}

.libreria-offerta__testo p[b-xkvd9ay8pv] {
    margin: 0;
    color: var(--ui-muted);
    font-size: 0.8125rem;
    overflow-wrap: anywhere;
}

.libreria-offerta__gruppo[b-xkvd9ay8pv] {
    color: var(--ui-brand-text);
    font-size: 0.75rem;
    font-weight: 700;
}

@keyframes libreria-entra-b-xkvd9ay8pv {
    from { translate: 12px 0; opacity: 0; }
    to { translate: 0 0; opacity: 1; }
}

@keyframes libreria-sfondo-b-xkvd9ay8pv {
    from { opacity: 0; }
    to { opacity: 1; }
}

@media (prefers-reduced-motion: reduce) {
    .libreria-offerta[b-xkvd9ay8pv],
    .libreria-offerta__sfondo[b-xkvd9ay8pv] {
        animation: none;
    }
}
/* /Components/Offerte/RicercaArticolo.razor.rz.scp.css */
.ricerca-articolo[b-5yrmbb15uh] {
    position: relative;
}

.ricerca-articolo__lista[b-5yrmbb15uh] {
    position: absolute;
    z-index: 20;
    top: calc(100% + 4px);
    left: 0;
    right: 0;
    max-height: 18rem;
    overflow: auto;
    padding: var(--ui-space-1);
    background: var(--ui-surface);
    border: 1px solid var(--ui-border);
    border-radius: var(--ui-radius-control);
    box-shadow: var(--ui-shadow-raised);
    animation: ricerca-articolo-entra-b-5yrmbb15uh var(--ui-motion-base) var(--ui-ease-out);
}

.ricerca-articolo__voce[b-5yrmbb15uh] {
    display: flex;
    flex-wrap: wrap;
    gap: var(--ui-space-2);
    width: 100%;
    padding: var(--ui-space-2);
    border: 0;
    border-radius: var(--ui-radius-control);
    background: none;
    color: var(--ui-text);
    text-align: left;
}

.ricerca-articolo__voce:hover[b-5yrmbb15uh],
.ricerca-articolo__voce:focus-visible[b-5yrmbb15uh] {
    background: var(--ui-surface-alt);
}

.ricerca-articolo__voce span[b-5yrmbb15uh] {
    color: var(--ui-muted);
}

.ricerca-articolo__vuoto[b-5yrmbb15uh] {
    padding: var(--ui-space-2);
    color: var(--ui-muted);
}

@keyframes ricerca-articolo-entra-b-5yrmbb15uh {
    from { opacity: 0; translate: 0 -6px; }
    to { opacity: 1; translate: 0 0; }
}

@media (prefers-reduced-motion: reduce) {
    .ricerca-articolo__lista[b-5yrmbb15uh] { animation: none; }
}
/* /Components/Shared/WorkspaceTabs.razor.rz.scp.css */
.workspace-tabs[b-st9oq4r7sy] {
    display: flex;
    gap: .5rem;
    margin-bottom: 1.25rem;
    padding: .35rem;
    overflow-x: auto;
    border: 1px solid var(--ui-border);
    border-radius: .85rem;
    background: var(--ui-surface);
}

.workspace-tab[b-st9oq4r7sy] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .5rem;
    min-height: 2.75rem;
    padding: .55rem .9rem;
    color: var(--ui-muted);
    font-weight: 600;
    text-decoration: none;
    white-space: nowrap;
    border-radius: .65rem;
}

.workspace-tab:hover[b-st9oq4r7sy] {
    color: var(--ui-link);
    background: rgba(var(--ui-primary-rgb), .08);
}

.workspace-tab.is-active[b-st9oq4r7sy] {
    color: var(--ui-link);
    background: rgba(var(--ui-primary-rgb), .16);
}

.workspace-tab-icon[b-st9oq4r7sy] {
    transition: color .18s ease, transform .18s ease;
}

.workspace-tab:hover .workspace-tab-icon[b-st9oq4r7sy],
.workspace-tab.is-active .workspace-tab-icon[b-st9oq4r7sy] {
    transform: scale(1.08);
}

/* Niente colori per scheda: l'icona segue il testo della scheda e diventa
   --ui-brand-text quando e' attiva (regole in cma-ui.css). Il parametro Accent
   resta per compatibilita' ma non cambia piu' il colore. */

/* Su smartphone le schede non scorrono piu' in orizzontale: l'ultima restava
   tagliata fuori schermo e non si capiva che ce ne fossero altre. Diventano
   colonne di uguale larghezza con l'icona sopra l'etichetta, che e' la stessa
   disposizione della barra di navigazione inferiore. */
@media (max-width: 640.98px) {
    .workspace-tabs[b-st9oq4r7sy] {
        display: grid;
        grid-auto-flow: column;
        grid-auto-columns: minmax(0, 1fr);
        gap: .15rem;
        padding: .25rem;
        overflow-x: visible;
    }

    .workspace-tab[b-st9oq4r7sy] {
        flex-direction: column;
        gap: .2rem;
        min-width: 0;
        padding: .45rem .1rem;
        font-size: .72rem;
        line-height: 1.15;
        text-align: center;
    }

    /* Etichetta su una riga: prima andava a capo a meta' parola ("Giornat-a").
       Le etichette sono di 9 lettere al massimo; i puntini sono solo una difesa
       per i telefoni piu' stretti. */
    .workspace-tab span[b-st9oq4r7sy] {
        max-width: 100%;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .workspace-tab-icon[b-st9oq4r7sy] {
        font-size: 1rem;
    }
}

@media (max-width: 359.98px) {
    .workspace-tab[b-st9oq4r7sy] {
        font-size: .66rem;
    }
}
/* /Pages/Account/CambiaPasswordSuperAdmin.razor.rz.scp.css */
/* Modulo breve: larghezza di lettura, campi uno sotto l'altro. */
.password-sa-page[b-9nnlysvafe]  .password-sa-card { max-width: 34rem; }
.password-sa-campi[b-9nnlysvafe] { display: grid; gap: var(--ui-space-3); }
/* /Pages/Account/Login.razor.rz.scp.css */
/* Scheda di accesso centrata: testata con il colore della barra di navigazione
   (il logo e' bianco) e modulo su superficie del tema. */
.login-card[b-58wb2xokbs] {
    width: 100%;
    max-width: 26rem;
    overflow: hidden;
    border: 1px solid var(--ui-border);
    border-radius: var(--ui-radius-card);
    background: var(--ui-surface);
    box-shadow: var(--ui-shadow-raised);
}

.login-card__brand[b-58wb2xokbs] {
    display: flex;
    justify-content: center;
    padding: var(--ui-space-5) var(--ui-space-4);
    background: var(--ui-nav-bg);
    border-bottom: 3px solid var(--ui-brand);
}

.login-card__brand img[b-58wb2xokbs] { height: 2.5rem; width: auto; }

.login-card__body[b-58wb2xokbs] { padding: var(--ui-space-5); }

.login-card__title[b-58wb2xokbs] { margin: 0 0 var(--ui-space-1); font-size: var(--ui-text-title); font-weight: 700; }

.login-form[b-58wb2xokbs] { display: grid; gap: var(--ui-space-4); margin-top: var(--ui-space-4); }

.login-form__invia[b-58wb2xokbs] { min-height: 44px; }

@media (max-width: 575.98px) {
    .login-card__body[b-58wb2xokbs] { padding: var(--ui-space-4); }
}
/* /Pages/Account/Profilo.razor.rz.scp.css */
/* Disposizione del profilo; campi, stati e schede da cma-ui.css. */
.profilo-campi[b-m9gq70dxnn] { display: grid; gap: var(--ui-space-3); grid-template-columns: repeat(2, minmax(0, 1fr)); }
.profilo-campi--tre[b-m9gq70dxnn] { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.profilo-campi__largo[b-m9gq70dxnn] { grid-column: 1 / -1; }
.profilo-tema .btn[b-m9gq70dxnn] { flex: 1 1 8rem; }
.profilo-telegram[b-m9gq70dxnn] { display: grid; gap: var(--ui-space-3); max-width: 44rem; }
.profilo-telegram__passi[b-m9gq70dxnn] { margin: 0; padding-left: 1.2rem; }
.profilo-telegram__passi li + li[b-m9gq70dxnn] { margin-top: var(--ui-space-1); }
.profilo-password[b-m9gq70dxnn] { text-align: left; }
@media (max-width: 767.98px) {
    .profilo-campi[b-m9gq70dxnn], .profilo-campi--tre[b-m9gq70dxnn] { grid-template-columns: minmax(0, 1fr); }
}
/* /Pages/Account/Register.razor.rz.scp.css */
/* Disposizione dei campi del nuovo utente; stili dei campi da cma-ui.css. */
.registra-campi[b-2ua1shtsqw] { display: grid; gap: var(--ui-space-3); grid-template-columns: repeat(2, minmax(0, 1fr)); }
.registra-campi--tre[b-2ua1shtsqw] { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.registra-campi__largo[b-2ua1shtsqw] { grid-column: 1 / -1; }
@media (max-width: 767.98px) {
    .registra-campi[b-2ua1shtsqw], .registra-campi--tre[b-2ua1shtsqw] { grid-template-columns: minmax(0, 1fr); }
}
/* /Pages/Anagrafiche/AccorpaClienti.razor.rz.scp.css */
/* Accorpamento clienti: colori dai token di cma-ui.css. */
.accorpa-gruppi[b-2606vvh0q4] { display: grid; gap: var(--ui-space-3); }
.accorpa-gruppo[b-2606vvh0q4] {
    display: grid;
    gap: var(--ui-space-2);
    margin: 0;
    padding: var(--ui-space-3);
    border: 1px solid var(--ui-border);
    border-radius: var(--ui-radius-card);
    background: var(--ui-surface);
}
.accorpa-riga[b-2606vvh0q4] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--ui-space-2) var(--ui-space-3);
    padding: var(--ui-space-2);
    border-radius: var(--ui-radius-control);
}
.accorpa-riga.is-principale[b-2606vvh0q4] { background: var(--ui-surface-alt); box-shadow: inset 3px 0 0 var(--ui-primary); }
.accorpa-scelta[b-2606vvh0q4] { display: inline-flex; align-items: center; gap: var(--ui-space-1); min-height: 36px; margin: 0; color: var(--ui-text); cursor: pointer; }
.accorpa-dettaglio[b-2606vvh0q4] { display: grid; min-width: 0; flex: 1 1 16rem; }
.accorpa-dettaglio strong[b-2606vvh0q4] { color: var(--ui-text); overflow-wrap: anywhere; }
.accorpa-gruppo__azioni[b-2606vvh0q4] { display: flex; justify-content: flex-end; }
.accorpa-ricerca[b-2606vvh0q4] { max-width: 32rem; margin-bottom: var(--ui-space-3); }
.accorpa-risultati[b-2606vvh0q4] { display: grid; gap: var(--ui-space-1); margin: 0 0 var(--ui-space-3); padding: 0; list-style: none; }
.accorpa-selezione[b-2606vvh0q4] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--ui-space-3) var(--ui-space-5);
    padding: var(--ui-space-3);
    border: 1px solid var(--ui-border);
    border-radius: var(--ui-radius-card);
    background: var(--ui-surface-alt);
}
.accorpa-selezione > div[b-2606vvh0q4] { display: grid; gap: var(--ui-space-1); }
.accorpa-selezione__azioni[b-2606vvh0q4] { display: flex !important; gap: var(--ui-space-2); margin-left: auto; }
.accorpa-togli[b-2606vvh0q4] { padding: 0 0 0 .25rem; color: var(--ui-muted); background: transparent; border: 0; }
.accorpa-togli:hover[b-2606vvh0q4] { color: var(--ui-text); }
@media (pointer: coarse) {
    .accorpa-scelta[b-2606vvh0q4], .accorpa-riga .btn[b-2606vvh0q4] { min-height: 44px; }
    .accorpa-togli[b-2606vvh0q4] { min-width: 32px; min-height: 32px; }
}
@media (max-width: 640px) { .accorpa-selezione__azioni[b-2606vvh0q4] { margin-left: 0; width: 100%; } .accorpa-selezione__azioni .btn[b-2606vvh0q4] { flex: 1; } }
/* /Pages/Anagrafiche/ListaClienti.razor.rz.scp.css */
/* Disposizione propria degli indirizzi nella finestra cliente; stili dei campi da cma-ui.css. */
.clienti-indirizzi[b-t0b4lckvpv] {
    margin-top: var(--ui-space-4);
    text-align: start;
}

.clienti-indirizzi__testata[b-t0b4lckvpv],
.clienti-indirizzo__testata[b-t0b4lckvpv] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: var(--ui-space-2);
    margin-bottom: var(--ui-space-2);
}

.clienti-indirizzi__titolo[b-t0b4lckvpv] {
    font-size: var(--ui-text-compact);
    font-weight: 600;
    margin: 0;
}

/* Un indirizzo: riquadro ripetibile con Rimuovi in alto a destra. */
.clienti-indirizzo[b-t0b4lckvpv] {
    padding: var(--ui-space-3) var(--ui-space-4);
    background: var(--ui-surface-alt);
    border: 1px solid var(--ui-border);
    border-radius: var(--ui-radius-control);
    min-width: 0;
}

.clienti-indirizzo + .clienti-indirizzo[b-t0b4lckvpv] {
    margin-top: var(--ui-space-3);
}
/* /Pages/Anagrafiche/ListaUtenti.razor.rz.scp.css */
/* Solo cio' che e' proprio dell'elenco utenti; il resto da cma-ui.css. */
.utenti-switches[b-hre4lwznuh] { display: flex; flex-wrap: wrap; gap: var(--ui-space-2) var(--ui-space-4); }
.utenti-switches .form-check[b-hre4lwznuh] { margin: 0; }
/* Un utente non attivo resta leggibile ma passa in secondo piano. */
.utenti-page[b-hre4lwznuh]  .utenti-row--disabled td,
.utenti-row--disabled[b-hre4lwznuh] { opacity: .72; }
/* /Pages/Articoli/ListaArticoli.razor.rz.scp.css */
/* Solo cio' che e' proprio dell'elenco articoli; il resto da cma-ui.css. */
.articoli-page[b-iks3y1rhqq]  .articoli-table td:first-child { min-width: 14rem; }
.articoli-page[b-iks3y1rhqq]  .articoli-table td:nth-child(2) { min-width: 8rem; }
/* Nella scheda telefono i tre valori stanno in colonna compatta. */
.articoli-page .articoli-card-fields[b-iks3y1rhqq] { grid-template-columns: minmax(7rem, 40%) minmax(0, 1fr); gap: var(--ui-space-1) var(--ui-space-3); font-size: var(--ui-text-compact); }
/* /Pages/Configurazione/DiagnosticaOfferte.razor.rz.scp.css */
.diagnostica-azioni[b-yjo1a3yjdm] {
    display: flex;
    flex-wrap: wrap;
    gap: var(--ui-space-2);
}

.diagnostica-esito[b-yjo1a3yjdm] {
    margin: var(--ui-space-3) 0 0;
}

.diagnostica-dettaglio[b-yjo1a3yjdm] {
    overflow-wrap: anywhere;
}
/* /Pages/Configurazione/ImpostazioniAzienda.razor.rz.scp.css */
/* Disposizione dei campi azienda; stili dei campi da cma-ui.css. */
.azienda-campi[b-bzw2w9mkug] { display: grid; gap: var(--ui-space-3); grid-template-columns: repeat(2, minmax(0, 1fr)); }
.azienda-campi__largo[b-bzw2w9mkug] { grid-column: 1 / -1; }
.azienda-campi__coppia[b-bzw2w9mkug] { display: grid; gap: var(--ui-space-3); grid-template-columns: minmax(0, 1fr) minmax(0, 7rem); }
@media (max-width: 575.98px) {
    .azienda-campi[b-bzw2w9mkug] { grid-template-columns: minmax(0, 1fr); }
}
/* /Pages/Configurazione/PostazioniBadge.razor.rz.scp.css */
/* Disposizione propria delle postazioni; stati, tabella e avvisi da cma-ui.css. */
.postazioni-chiave p[b-xnizsuyodl] { margin-bottom: var(--ui-space-2); }
.postazioni-chiave__riga[b-xnizsuyodl] { display: flex; flex-wrap: wrap; gap: var(--ui-space-2); align-items: center; }
.postazioni-chiave__riga .form-control[b-xnizsuyodl] { flex: 1 1 18rem; min-width: 0; }
.postazioni-card__head[b-xnizsuyodl] { display: flex; justify-content: space-between; align-items: flex-start; gap: var(--ui-space-2); }
.postazioni-page[b-xnizsuyodl]  .is-revocata { opacity: .7; }
.postazioni-form[b-xnizsuyodl], .postazioni-storico[b-xnizsuyodl] { text-align: left; }
.postazioni-storico__lista[b-xnizsuyodl] { margin: 0; padding: 0; list-style: none; }
.postazioni-storico__lista li[b-xnizsuyodl] { display: flex; flex-wrap: wrap; align-items: baseline; gap: var(--ui-space-1) var(--ui-space-2); padding: var(--ui-space-2) 0; border-bottom: 1px solid var(--ui-border); }
.postazioni-storico__dettaglio[b-xnizsuyodl] { flex-basis: 100%; color: var(--ui-muted); font-size: var(--ui-text-compact); overflow-wrap: anywhere; }
/* /Pages/Fornitori/DettaglioFornitore.razor.rz.scp.css */
/* Disposizione propria del dettaglio fornitore; sezioni e campi da cma-ui.css. */
.fornitore-list[b-nkmu72ix0y] { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--ui-space-3); }
.fornitore-list li[b-nkmu72ix0y] { overflow-wrap: anywhere; }
.fornitore-list li + li[b-nkmu72ix0y] { border-top: 1px solid var(--ui-border); padding-top: var(--ui-space-3); }
.fornitore-banche[b-nkmu72ix0y] { display: grid; gap: var(--ui-space-3); grid-template-columns: repeat(auto-fit, minmax(18rem, 1fr)); }
.fornitore-banca[b-nkmu72ix0y] { padding: var(--ui-space-3); background: var(--ui-surface-alt); border-radius: var(--ui-radius-control); min-width: 0; }
.fornitore-banca__title[b-nkmu72ix0y] { display: flex; flex-wrap: wrap; align-items: center; gap: var(--ui-space-2); font-size: var(--ui-text-compact); font-weight: 600; margin: 0 0 var(--ui-space-2); }
/* L'IBAN si copia e si legge a gruppi: carattere a spaziatura fissa, mai spezzato a meta'. */
.fornitore-iban[b-nkmu72ix0y] { font-family: ui-monospace, SFMono-Regular, Consolas, monospace; letter-spacing: .02em; }
.fornitore-page[b-nkmu72ix0y]  .fornitore-more-toggle { min-height: 40px; }
/* /Pages/Fornitori/SchedaFornitore.razor.rz.scp.css */
/* Disposizione propria della scheda fornitore; sezioni, campi e barra del form da cma-ui.css. */

/* Un recapito, un referente o una banca: riquadro ripetibile con Rimuovi in alto a destra. */
.scheda-fornitore-voce[b-n0jx5ai2jm] {
    padding: var(--ui-space-3) var(--ui-space-4);
    background: var(--ui-surface-alt);
    border: 1px solid var(--ui-border);
    border-radius: var(--ui-radius-control);
    min-width: 0;
}

/* /Pages/GestioneAccessi/AccessiIeri.razor.rz.scp.css */
/* Disposizione propria delle presenze del giorno; il resto da cma-ui.css. */
.presenze-giorno__data[b-3hzlo8xqx1] { display: flex; align-items: center; gap: var(--ui-space-1); }
.presenze-giorno[b-3hzlo8xqx1]  .presenze-giorno__data .form-control { width: 10.5rem; }
.presenze-giorno__stati[b-3hzlo8xqx1] { display: flex; flex-wrap: wrap; gap: var(--ui-space-2); }
/* Filtri a destra degli stati, sulla stessa riga quando c'e' spazio. */
.presenze-giorno__filtri[b-3hzlo8xqx1] { flex: 1 1 24rem; justify-content: flex-end; }
.presenze-giorno__filtri .cma-search[b-3hzlo8xqx1] { flex: 1 1 14rem; max-width: 22rem; }
.presenze-giorno__conta[b-3hzlo8xqx1] { display: inline-block; min-width: 1.5em; margin-left: var(--ui-space-1); font-variant-numeric: tabular-nums; font-weight: 700; }

.presenze-giorno__nome[b-3hzlo8xqx1] { color: var(--ui-text); }
.presenze-giorno__programma[b-3hzlo8xqx1] { display: block; max-width: 22rem; margin-top: var(--ui-space-1); color: var(--ui-link); overflow-wrap: anywhere; }
.presenze-giorno__intervalli[b-3hzlo8xqx1] { display: flex; flex-wrap: wrap; gap: var(--ui-space-1); margin: 0; padding: 0; list-style: none; }
.presenze-giorno__intervallo[b-3hzlo8xqx1] { font-variant-numeric: tabular-nums; white-space: nowrap; }
.presenze-giorno__intervallo.is-incompleto[b-3hzlo8xqx1] { border-color: var(--ui-warning); color: var(--ui-warning); }
.presenze-giorno__assenze[b-3hzlo8xqx1] { display: flex; flex-wrap: wrap; gap: var(--ui-space-1); }
.presenze-giorno__attesa[b-3hzlo8xqx1] { text-decoration: none; }
.presenze-giorno__attesa:hover[b-3hzlo8xqx1] { text-decoration: underline; }
.presenze-giorno__mancanti[b-3hzlo8xqx1] { color: var(--ui-warning); font-weight: 600; }

/* Righe da guardare per prime: non arrivati e assenti. */
.presenze-giorno[b-3hzlo8xqx1]  tr.presenze-giorno__riga--allarme > td:first-child { box-shadow: inset 3px 0 0 var(--ui-danger); }
.presenze-giorno[b-3hzlo8xqx1]  .cma-mobile-card.presenze-giorno__riga--allarme { border-left: 3px solid var(--ui-danger); }

.presenze-giorno__scheda[b-3hzlo8xqx1] { display: grid; gap: var(--ui-space-2); }
.presenze-giorno__ore-mobile[b-3hzlo8xqx1] { font-variant-numeric: tabular-nums; }

@media (pointer: coarse) {
    .presenze-giorno__intervallo[b-3hzlo8xqx1] { min-height: 44px; }
}
@media (max-width: 767.98px) {
    .presenze-giorno__filtri .cma-search[b-3hzlo8xqx1] { max-width: none; }
}
/* /Pages/GestioneAccessi/CorrezioneAccessiIncompleti.razor.rz.scp.css */
/* Disposizione propria delle timbrature da completare; il resto da cma-ui.css. */
.anomalie-toolbar[b-ww6neqlbfp] { justify-content: space-between; }
.anomalie-toolbar__mese[b-ww6neqlbfp] { display: flex; align-items: center; gap: var(--ui-space-1); }
.anomalie-toolbar__mese .form-select[b-ww6neqlbfp] { width: auto; }
@media (max-width: 767.98px) {
    .anomalie-toolbar__mese .form-select[b-ww6neqlbfp] { flex: 1 1 auto; min-width: 0; }
    .anomalie-toolbar__salva[b-ww6neqlbfp] { width: 100%; min-height: 44px; }
}
.anomalie-check[b-ww6neqlbfp] { width: 1%; }
.anomalie-table td[b-ww6neqlbfp] { min-width: 0; }
/* La colonna Azioni si adatta ai pulsanti: senza, le altre colonne la stringevano e "Salva" andava a capo. */
@media (min-width: 768px) {
    .anomalie-table th:last-child[b-ww6neqlbfp],
    .anomalie-table td:last-child[b-ww6neqlbfp] { width: 1%; white-space: nowrap; }
}
.anomalie-table td:nth-child(2)[b-ww6neqlbfp] { min-width: 9rem; }
.anomalie-table td:nth-child(3) .form-control[b-ww6neqlbfp],
.anomalie-table td:nth-child(4) .form-control[b-ww6neqlbfp] { min-width: 11rem; }
.anomalie-pausa[b-ww6neqlbfp] { width: 6rem; }
.anomalie-table tr.is-invalid td[b-ww6neqlbfp] { background: var(--ui-danger-bg); }
.anomalie-errore[b-ww6neqlbfp] { margin-top: var(--ui-space-1); color: var(--ui-danger); font-size: var(--ui-text-meta); font-weight: 600; }
@media (max-width: 767.98px) {
    .anomalie-table td:nth-child(2)[b-ww6neqlbfp] { min-width: 0; }
    .anomalie-table td:nth-child(3) .form-control[b-ww6neqlbfp],
    .anomalie-table td:nth-child(4) .form-control[b-ww6neqlbfp],
    .anomalie-pausa[b-ww6neqlbfp] { min-width: 0; width: 100%; }
}
/* /Pages/GestioneAccessi/GestioneRichiesteAccessiPersonali.razor.rz.scp.css */
/* Disposizione propria delle richieste di accesso; il resto da cma-ui.css. */
.richieste-persona[b-jgabhhh9zp] { flex: 1 1 14rem; min-width: 0; max-width: 22rem; }
@media (max-width: 767.98px) { .richieste-persona[b-jgabhhh9zp] { max-width: none; } }
.richieste-note[b-jgabhhh9zp] { white-space: pre-line; }
/* /Pages/GestioneAccessi/GestioneRichiesteOrarioLavorativo.razor.rz.scp.css */
/* Disposizione propria delle richieste di orario; il resto da cma-ui.css. */
.richieste-persona[b-e6wx20pi37] { flex: 1 1 14rem; min-width: 0; max-width: 22rem; }
@media (max-width: 767.98px) { .richieste-persona[b-e6wx20pi37] { max-width: none; } }
.richieste-note[b-e6wx20pi37] { white-space: pre-line; }
/* /Pages/GestioneAccessi/GestioneStraordinari.razor.rz.scp.css */
/* Disposizione propria degli straordinari; il resto da cma-ui.css. */
@media (min-width: 768px) { .straordinari-data[b-eraxtwgtme] { width: 10rem; } }
/* Elenco di persone da spuntare nella finestra: scorre dentro il riquadro. */
.user-check-list[b-eraxtwgtme] { background: var(--ui-surface); border: 1px solid var(--ui-border); border-radius: var(--ui-radius-control); max-height: 18rem; overflow: auto; padding: var(--ui-space-1); }
.user-check-row[b-eraxtwgtme] { display: flex; align-items: center; gap: var(--ui-space-2); min-height: 40px; padding: 0 var(--ui-space-2); border-radius: var(--ui-radius-badge); }
.user-check-row:hover[b-eraxtwgtme] { background: var(--ui-surface-alt); }
.user-check-row .form-check-input[b-eraxtwgtme] { flex: 0 0 auto; margin: 0; }
.user-check-row .form-check-label[b-eraxtwgtme] { flex: 1 1 auto; min-width: 0; overflow-wrap: anywhere; cursor: pointer; }
@media (pointer: coarse) { .user-check-row[b-eraxtwgtme] { min-height: 44px; } }
/* /Pages/GestioneAccessi/NuovaListaAccessi.razor.rz.scp.css */
/* Disposizione propria degli accessi di una persona; tabelle, schede e stati da cma-ui.css. */
.accessi-toolbar__persona[b-i1t1hwfxce] { flex: 1 1 14rem; min-width: 0; }
.accessi-toolbar__mese[b-i1t1hwfxce] { display: flex; align-items: center; gap: var(--ui-space-1); }
.accessi-toolbar__mese .form-select[b-i1t1hwfxce] { width: auto; }
.accessi-toolbar__vista[b-i1t1hwfxce] { margin-left: auto; }
@media (max-width: 767.98px) {
    .accessi-toolbar__mese[b-i1t1hwfxce] { flex-wrap: nowrap; }
    .accessi-toolbar__mese .form-select[b-i1t1hwfxce] { flex: 1 1 auto; min-width: 0; }
    .accessi-toolbar__vista[b-i1t1hwfxce] { margin-left: 0; display: grid; grid-template-columns: 1fr 1fr; }
}

.accessi-giornate[b-i1t1hwfxce] { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--ui-space-3); }
.accessi-day-title[b-i1t1hwfxce] { text-transform: none; }
.accessi-day-kpi[b-i1t1hwfxce] { display: inline-flex; flex-direction: column; align-items: flex-end; font-weight: 700; font-variant-numeric: tabular-nums; }
.accessi-day-kpi small[b-i1t1hwfxce] { color: var(--ui-muted); font-weight: 500; }

/* Calendario del mese: ogni giorno e' un pulsante, raggiungibile anche da tastiera. */
.accessi-calendar-legend[b-i1t1hwfxce] { display: inline-flex; gap: var(--ui-space-3); flex-wrap: wrap; font-size: var(--ui-text-meta); color: var(--ui-muted); font-weight: 400; }
.accessi-dot[b-i1t1hwfxce] { display: inline-block; width: 10px; height: 10px; border-radius: 50%; margin-right: var(--ui-space-1); }
.accessi-dot--festivo[b-i1t1hwfxce] { background: var(--ui-danger); }
.accessi-dot--permesso[b-i1t1hwfxce] { background: var(--ui-link); }
.accessi-dot--incompleto[b-i1t1hwfxce] { background: var(--ui-warning); }
.accessi-dot--attesa[b-i1t1hwfxce] { background: transparent; border: 2px dashed var(--ui-link); }
.accessi-dot--mancante[b-i1t1hwfxce] { background: transparent; border: 2px solid var(--ui-warning); }
.accessi-calendar-weekdays[b-i1t1hwfxce] { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: var(--ui-space-1); margin-bottom: var(--ui-space-1); }
.accessi-calendar-weekdays div[b-i1t1hwfxce] { text-align: center; font-size: var(--ui-text-meta); font-weight: 700; color: var(--ui-muted); }
.accessi-calendar-grid[b-i1t1hwfxce] { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: var(--ui-space-1); }
.accessi-calendar-cell[b-i1t1hwfxce] { display: flex; flex-direction: column; align-items: flex-start; gap: var(--ui-space-1); min-height: 76px; padding: var(--ui-space-2); color: var(--ui-text); text-align: left; background: var(--ui-surface); border: 1px solid var(--ui-border); border-radius: var(--ui-radius-control); cursor: pointer; }
.accessi-calendar-cell:hover[b-i1t1hwfxce] { border-color: var(--ui-link); }
.accessi-calendar-cell--outside[b-i1t1hwfxce] { opacity: .45; background: var(--ui-surface-alt); }
.accessi-calendar-cell--festivo[b-i1t1hwfxce] { background: var(--ui-danger-bg); }
.accessi-calendar-cell--permesso[b-i1t1hwfxce] { background: var(--ui-surface-alt); box-shadow: inset 3px 0 0 var(--ui-link); }
.accessi-calendar-cell--incompleto[b-i1t1hwfxce] { background: var(--ui-warning-bg); }
.accessi-calendar-cell--mancante[b-i1t1hwfxce] { background: var(--ui-surface); border: 2px solid var(--ui-warning); }
.accessi-calendar-cell--attesa[b-i1t1hwfxce] { background: var(--ui-surface); box-shadow: inset 3px 0 0 var(--ui-warning); border-style: dashed; }
.accessi-calendar-cell--selected[b-i1t1hwfxce] { border: 2px solid var(--ui-primary); }
.accessi-calendar-daynum[b-i1t1hwfxce] { font-weight: 700; }
.accessi-calendar-meta[b-i1t1hwfxce] { font-size: var(--ui-text-meta); color: var(--ui-muted); font-variant-numeric: tabular-nums; }
@media (max-width: 767.98px) {
    .accessi-calendar-cell[b-i1t1hwfxce] { min-height: 56px; padding: var(--ui-space-1); }
    .accessi-calendar-meta[b-i1t1hwfxce] { font-size: .68rem; }
}


/* Assenze del giorno sopra le timbrature: tipo, orario, stato e azione. */
.accessi-assenze[b-i1t1hwfxce] { display: grid; gap: var(--ui-space-2); margin: 0 0 var(--ui-space-3); padding: 0; list-style: none; }
.accessi-assenza[b-i1t1hwfxce] { display: flex; flex-wrap: wrap; align-items: center; gap: var(--ui-space-1) var(--ui-space-2); padding: var(--ui-space-2) var(--ui-space-3); border-radius: var(--ui-radius-control); background: var(--ui-surface-alt); border-left: 3px solid var(--ui-link); }
.accessi-assenza > i[b-i1t1hwfxce] { color: var(--ui-link); }
.accessi-assenza.is-attesa[b-i1t1hwfxce] { border-left-color: var(--ui-warning); border-style: dashed; border-width: 1px 1px 1px 3px; border-color: var(--ui-border); border-left-color: var(--ui-warning); }
.accessi-assenza__orario[b-i1t1hwfxce] { font-variant-numeric: tabular-nums; }
.accessi-assenza__azione[b-i1t1hwfxce] { margin-left: auto; padding: 0 var(--ui-space-1); }
.accessi-day-add[b-i1t1hwfxce] { padding: 0 var(--ui-space-2); margin-right: var(--ui-space-2); text-decoration: none; }
.accessi-calendar-tag[b-i1t1hwfxce] { max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: var(--ui-text-meta); font-weight: 600; color: var(--ui-text); }
.accessi-giornate[b-i1t1hwfxce]  .accessi-giorno--festivo { border-left: 3px solid var(--ui-danger); }
@media (pointer: coarse) {
    .accessi-assenza__azione[b-i1t1hwfxce], .accessi-day-add[b-i1t1hwfxce] { min-height: 44px; }
}
@media (max-width: 767.98px) {
    .accessi-calendar-tag[b-i1t1hwfxce] { display: none; }
}

/* Giorni lavorativi senza marcatura: avviso in testa, giorni cliccabili, azioni nel giorno. */
.accessi-mancanti[b-i1t1hwfxce] { display: flex; flex-wrap: wrap; align-items: center; gap: var(--ui-space-2) var(--ui-space-3); margin-bottom: var(--ui-space-3); }
.accessi-mancanti__giorni[b-i1t1hwfxce] { display: flex; flex-wrap: wrap; gap: var(--ui-space-1); }
.accessi-mancanti__giorni .btn[b-i1t1hwfxce] { text-transform: capitalize; }
.accessi-mancante[b-i1t1hwfxce] { display: flex; flex-wrap: wrap; align-items: center; gap: var(--ui-space-2); padding: var(--ui-space-2) var(--ui-space-3); border-radius: var(--ui-radius-control); background: var(--ui-warning-bg); color: var(--ui-text); }
.accessi-mancante > span[b-i1t1hwfxce] { flex: 1 1 14rem; color: var(--ui-warning); font-weight: 600; }
.accessi-giornate[b-i1t1hwfxce]  .accessi-giorno--mancante { border-left: 3px solid var(--ui-warning); }
@media (pointer: coarse) {
    .accessi-mancanti__giorni .btn[b-i1t1hwfxce], .accessi-mancante .btn[b-i1t1hwfxce] { min-height: 44px; }
}
/* /Pages/GestioneAccessi/NuovoBadgeManuale.razor.rz.scp.css */
/* Disposizione propria di "Le mie presenze"; il resto da cma-ui.css. */

/* Stato di adesso e azione principale, in cima alla pagina. */
.presenze-ora[b-ypp149xp0t] { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: var(--ui-space-3); padding: var(--ui-space-4); margin-bottom: var(--ui-space-4); background: var(--ui-surface); border: 1px solid var(--ui-border); border-radius: var(--ui-radius-card); box-shadow: inset 4px 0 0 var(--ui-border); }
.presenze-ora.is-dentro[b-ypp149xp0t] { box-shadow: inset 4px 0 0 var(--ui-success); }
.presenze-ora__stato[b-ypp149xp0t] { display: flex; align-items: center; gap: var(--ui-space-3); font-size: var(--ui-text-section); }
.presenze-ora__icona[b-ypp149xp0t] { font-size: 1.6rem; color: var(--ui-muted); }
.presenze-ora.is-dentro .presenze-ora__icona[b-ypp149xp0t] { color: var(--ui-success); }
.presenze-ora__azioni[b-ypp149xp0t] { display: flex; flex-wrap: wrap; gap: var(--ui-space-2); }
@media (max-width: 575.98px) { .presenze-ora__azioni[b-ypp149xp0t], .presenze-ora__azioni .btn[b-ypp149xp0t] { width: 100%; } .presenze-ora__azioni .btn[b-ypp149xp0t] { min-height: 48px; } }

.presenze-toolbar[b-ypp149xp0t] { justify-content: space-between; }
.presenze-toolbar__mese[b-ypp149xp0t] { display: flex; align-items: center; gap: var(--ui-space-1); }
.presenze-toolbar__mese .form-select[b-ypp149xp0t] { width: auto; }
@media (max-width: 767.98px) { .presenze-toolbar__mese .form-select[b-ypp149xp0t] { flex: 1 1 auto; min-width: 0; } }
.presenze-giornate[b-ypp149xp0t] { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--ui-space-3); }
.presenze-ore[b-ypp149xp0t] { font-weight: 700; font-variant-numeric: tabular-nums; }
.presenze-personali[b-ypp149xp0t]  .presenze-more-toggle { min-height: 40px; }
/* Collegamento testuale accanto all'orario di lavoro; area di tocco piena sul telefono. */
.presenze-ora .presenze-ora__orario[b-ypp149xp0t] { padding: 0; font-size: inherit; vertical-align: baseline; }
@media (pointer: coarse) { .presenze-ora .presenze-ora__orario[b-ypp149xp0t] { min-height: 44px; min-width: 0; } }
/* /Pages/GestioneAccessi/ReportMensileAdmin.razor.rz.scp.css */
.report-admin-toolbar[b-lca3586le3] { justify-content: space-between; }
.report-admin-toolbar__mese[b-lca3586le3] { display: flex; align-items: center; gap: var(--ui-space-1); }
.report-admin-toolbar__mese .form-select[b-lca3586le3] { width: auto; }
@media (max-width: 767.98px) { .report-admin-toolbar__mese .form-select[b-lca3586le3] { flex: 1 1 auto; min-width: 0; } }
.report-admin-persona[b-lca3586le3] { font-weight: 600; color: var(--ui-link); }

.report-admin-legend[b-lca3586le3] {
    display: flex;
    flex-wrap: wrap;
    gap: var(--ui-space-2) var(--ui-space-4);
    font-size: var(--ui-text-meta);
}

.legend-item[b-lca3586le3] {
    display: flex;
    align-items: center;
    gap: var(--ui-space-1);
    font-weight: 500;
    color: var(--ui-muted);
}

.legend-dot[b-lca3586le3] {
    width: 10px;
    height: 10px;
    border-radius: 999px;
    box-shadow: inset 0 0 0 1px rgba(var(--ui-primary-rgb), 0.12);
}

.legend-item--holiday .legend-dot[b-lca3586le3] {
    background: var(--ui-danger);
}

.legend-item--anomaly .legend-dot[b-lca3586le3] {
    background: var(--ui-warning);
}

.legend-item--info .legend-dot[b-lca3586le3] {
    background: var(--ui-link);
}

.report-days-grid[b-lca3586le3] {
    display: grid;
    grid-template-columns: repeat(7, minmax(110px, 1fr));
    gap: .5rem;
}

.report-calendar[b-lca3586le3] {
    overflow-x: auto;
    padding-bottom: .2rem;
}

.report-calendar-grid[b-lca3586le3] {
    min-width: 820px;
}

.report-weekdays[b-lca3586le3] {
    display: grid;
    grid-template-columns: repeat(7, minmax(110px, 1fr));
    gap: .5rem;
    margin-bottom: .5rem;
}

.report-weekday[b-lca3586le3] {
    border: 1px solid var(--ui-border);
    border-radius: 10px;
    background: var(--ui-surface-alt);
    color: var(--ui-text);
    font-size: .82rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .04em;
    text-align: center;
    padding: .55rem .35rem;
}

.report-day-card[b-lca3586le3] {
    border: 1px solid var(--ui-border);
    border-radius: 10px;
    background: var(--ui-surface);
    padding: .5rem;
    min-height: 108px;
}

.report-day-card--empty[b-lca3586le3] {
    background: color-mix(in srgb, var(--ui-surface-alt) 55%, transparent);
    border-style: dashed;
    opacity: .45;
}

.report-day-card.is-holiday[b-lca3586le3] {
    border-color: var(--ui-border);
    background: var(--ui-danger-bg);
}

.report-day-card.is-anomaly[b-lca3586le3] {
    border-color: var(--ui-border);
    background: var(--ui-warning-bg);
}

.report-day-card.is-leave[b-lca3586le3] {
    border-color: var(--ui-border);
    background: var(--ui-surface-alt);
}

.report-day-date[b-lca3586le3] {
    font-size: .9rem;
    font-weight: 700;
}

.report-day-meta[b-lca3586le3] {
    font-size: .78rem;
    color: var(--ui-muted);
}

@media (max-width: 767.98px) {
    .report-admin-shell[b-lca3586le3] {
        max-width: 100%;
    }

    .report-calendar-grid[b-lca3586le3] {
        min-width: 700px;
    }

    .report-days-grid[b-lca3586le3],
    .report-weekdays[b-lca3586le3] {
        grid-template-columns: repeat(7, minmax(90px, 1fr));
        gap: .35rem;
    }

    .report-weekday[b-lca3586le3] {
        font-size: .74rem;
        padding: .45rem .2rem;
    }

    .report-day-card[b-lca3586le3] {
        min-height: 96px;
        padding: .45rem;
    }
}

/* Schede per il telefono. */
.report-admin-schede[b-lca3586le3] { display: grid; gap: var(--ui-space-3); margin: 0; padding: 0; list-style: none; }
.report-admin-scheda__testa[b-lca3586le3] { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--ui-space-2); margin-bottom: var(--ui-space-3); }
.report-admin-scheda__testa .cma-card-title[b-lca3586le3] { margin: 0; }
.report-admin-totali[b-lca3586le3] { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--ui-space-2); margin: 0 0 var(--ui-space-3); }
.report-admin-totali > div[b-lca3586le3] { padding: var(--ui-space-2); border-radius: var(--ui-radius-control); background: var(--ui-surface-alt); }
.report-admin-totali dt[b-lca3586le3] { color: var(--ui-muted); font-size: var(--ui-text-label); font-weight: 600; }
.report-admin-totali dd[b-lca3586le3] { margin: 0; font-weight: 700; font-variant-numeric: tabular-nums; }

/* Calendario compatto: sette colonne strette con giorno e ore. */
.report-mini[b-lca3586le3] { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 3px; margin-top: var(--ui-space-3); }
.report-mini__giorno-settimana[b-lca3586le3] { color: var(--ui-muted); font-size: var(--ui-text-label); font-weight: 700; text-align: center; }
.report-mini__cella[b-lca3586le3] { display: flex; flex-direction: column; align-items: center; justify-content: center; min-height: 2.6rem; border: 1px solid var(--ui-border); border-radius: 6px; background: var(--ui-surface); line-height: 1.1; }
.report-mini__cella strong[b-lca3586le3] { font-size: var(--ui-text-compact); }
.report-mini__cella small[b-lca3586le3] { min-height: 1em; color: var(--ui-muted); font-size: .68rem; font-variant-numeric: tabular-nums; }
.report-mini__cella.is-holiday[b-lca3586le3] { background: var(--ui-danger-bg); }
.report-mini__cella.is-anomaly[b-lca3586le3] { background: var(--ui-warning-bg); }
.report-mini__cella.is-leave[b-lca3586le3] { background: var(--ui-surface-alt); border-color: var(--ui-link); }
.report-mini__nota[b-lca3586le3] { margin: var(--ui-space-2) 0 0; }
/* /Pages/GestioneAccessi/TimbratureIncompleteStoriche.razor.rz.scp.css */
/* Schermata temporanea delle timbrature incomplete storiche: token di cma-ui.css. */
.storiche-filtri[b-jul6n02eot] { align-items: end; }
.storiche-azioni[b-jul6n02eot] {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: end;
    gap: var(--ui-space-3);
    margin-bottom: var(--ui-space-4);
    padding: var(--ui-space-3) var(--ui-space-4);
    background: var(--ui-surface);
    border: 1px solid var(--ui-border);
    border-radius: var(--ui-radius-card);
}
.storiche-azioni__riempi[b-jul6n02eot], .storiche-azioni__conferma[b-jul6n02eot] { display: flex; flex-wrap: wrap; align-items: end; gap: var(--ui-space-2); }
.storiche-azioni__riempi > div[b-jul6n02eot] { width: 9rem; }
.storiche-check[b-jul6n02eot] { width: 2.5rem; }
.storiche-segni[b-jul6n02eot] { display: flex; flex-wrap: wrap; gap: var(--ui-space-1); margin-top: var(--ui-space-1); }
.storiche-errore[b-jul6n02eot] { margin-top: var(--ui-space-1); color: var(--ui-danger, #b42318); font-size: var(--ui-text-compact); font-weight: 600; }
.storiche-tabella input[type="time"][b-jul6n02eot] { min-width: 7rem; }
.storiche-pausa[b-jul6n02eot] { width: 6rem; }
@media (pointer: coarse) {
    .storiche-tabella .form-check-input[b-jul6n02eot] { width: 1.5rem; height: 1.5rem; }
}
@media (max-width: 767.98px) {
    .storiche-azioni__riempi > div[b-jul6n02eot] { flex: 1 1 8rem; width: auto; }
    .storiche-pausa[b-jul6n02eot] { width: 100%; }
}
/* /Pages/GestioneAccessi/TimbratureRespinte.razor.rz.scp.css */
/* Disposizione propria delle timbrature respinte; il resto da cma-ui.css. */
.respinte-toolbar[b-5iijatx9sa] { justify-content: space-between; }
.respinte-toolbar__date[b-5iijatx9sa] { display: flex; flex-wrap: wrap; align-items: center; gap: var(--ui-space-2); }
.respinte-toolbar__date .form-label[b-5iijatx9sa] { margin: 0; color: var(--ui-muted); font-size: var(--ui-text-compact); }
.respinte-toolbar__date .form-control[b-5iijatx9sa] { width: 10.5rem; }
@media (max-width: 575.98px) { .respinte-toolbar__date .form-control[b-5iijatx9sa] { width: auto; flex: 1 1 8rem; } }
/* /Pages/GestioneCommesse/GestioneIscrizioniCommesse.razor.rz.scp.css */
/* Disposizione propria della pagina iscrizioni; il resto da cma-ui.css. */
.iscrizioni-toolbar[b-5jzygzsyw0] { align-items: end; }
.iscrizioni-commessa[b-5jzygzsyw0] { flex: 2 1 20rem; min-width: 0; }
.iscrizioni-filtro[b-5jzygzsyw0] { flex: 1 1 14rem; min-width: 0; }
@media (min-width: 768px) { .iscrizioni-toolbar .form-label[b-5jzygzsyw0] { font-size: var(--ui-text-meta); color: var(--ui-muted); margin-bottom: var(--ui-space-1); } }

/* Una riga per persona: tutta la riga seleziona la casella. */
.iscrizioni-lista[b-5jzygzsyw0] { list-style: none; margin: 0; padding: 0; }
.iscrizioni-lista li[b-5jzygzsyw0] { display: flex; align-items: center; gap: var(--ui-space-3); padding: var(--ui-space-2) 0; border-bottom: 1px solid var(--ui-border); min-height: 44px; }
.iscrizioni-lista li:last-child[b-5jzygzsyw0] { border-bottom: 0; }
.iscrizioni-lista .form-check-input[b-5jzygzsyw0] { flex: 0 0 auto; width: 1.2rem; height: 1.2rem; margin: 0; }
.iscrizioni-lista label[b-5jzygzsyw0] { flex: 1 1 auto; display: flex; flex-direction: column; min-width: 0; cursor: pointer; }
.iscrizioni-nome[b-5jzygzsyw0] { overflow-wrap: anywhere; }
/* /Pages/GestioneCommesse/ListaCommesseNew.razor.rz.scp.css */
/* Solo cio' che e' proprio della lista commesse: il resto (barra filtri, viste,
   tabella, schede, stati, azioni di riga) e' nelle classi condivise di cma-ui.css. */

/* Larghezze minime delle colonne brevi: codice e tipo non vanno a capo lettera
   per lettera quando la sidebar sottrae spazio alla tabella (verificato a 1200 e 1440 px). */
.commesse-page[b-c1am95lzuj]  .commesse-table td:first-child { min-width: 7.5rem; }
.commesse-page[b-c1am95lzuj]  .commesse-table td:nth-child(2) { min-width: 6.5rem; }
.commesse-page[b-c1am95lzuj]  .commesse-table td:nth-child(3) { min-width: 8rem; max-width: 13rem; }
.commesse-page[b-c1am95lzuj]  .commesse-table td:nth-child(4) { min-width: 10rem; max-width: 20rem; }
.commesse-page[b-c1am95lzuj]  .commesse-table td:nth-child(5) { min-width: 6.5rem; max-width: 10rem; overflow-wrap: normal; }

/* Finestra commessa: tre gruppi di campi e azioni su una riga. */
.commessa-form__gruppo[b-c1am95lzuj] { margin: 0 0 var(--ui-space-4); padding: 0; border: 0; min-width: 0; }
.commessa-form__gruppo + .commessa-form__gruppo[b-c1am95lzuj] { padding-top: var(--ui-space-4); border-top: 1px solid var(--ui-border); }
.commessa-form__etichetta[b-c1am95lzuj] { display: flex; align-items: baseline; justify-content: space-between; gap: var(--ui-space-2); }
.commessa-form__cambia[b-c1am95lzuj] { padding: 0; font-size: var(--ui-text-compact); font-weight: 600; }
.commessa-form__codice[b-c1am95lzuj] { display: grid; grid-template-columns: minmax(0, 7rem) minmax(0, 7rem) minmax(0, 1fr); gap: var(--ui-space-3); align-items: end; }
.commessa-form__anteprima[b-c1am95lzuj] { display: flex; flex-direction: column; justify-content: center; min-height: 40px; padding: var(--ui-space-1) var(--ui-space-3); border-radius: var(--ui-radius-control); background: var(--ui-surface-alt); }
.commessa-form__anteprima strong[b-c1am95lzuj] { font-variant-numeric: tabular-nums; }
.commessa-form__classifica[b-c1am95lzuj] { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) auto; gap: var(--ui-space-3); align-items: end; }
.commessa-form__colore[b-c1am95lzuj] { width: 100%; min-width: 4rem; height: 40px; }
.commessa-form__azioni[b-c1am95lzuj] { margin-top: 0; }
.commessa-form__elimina[b-c1am95lzuj] { margin-right: auto; }
@media (max-width: 575.98px) {
    .commessa-form__codice[b-c1am95lzuj] { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
    .commessa-form__anteprima[b-c1am95lzuj] { grid-column: 1 / -1; flex-direction: row; gap: var(--ui-space-2); align-items: baseline; }
    .commessa-form__classifica[b-c1am95lzuj] { grid-template-columns: minmax(0, 1fr); }
    .commessa-form__salva[b-c1am95lzuj] { order: 1; }
    .commessa-form__annulla[b-c1am95lzuj] { order: 2; }
    .commessa-form__elimina[b-c1am95lzuj] { order: 3; margin-right: 0; }
}
/* /Pages/GestioneCommesse/ProgressiCommessa.razor.rz.scp.css */
/* Il diario usa le classi condivise diario-* di cma-ui.css; qui solo il pulsante Altro della testata. */
.diario-page[b-znp5n8wtxz]  .diario-more-toggle { min-height: 40px; }
/* /Pages/GestioneCommesse/UltimiProgressiCommesse.razor.rz.scp.css */
.progress-overview-page[b-f1eb49z68o] {
    display: block;
}

/* Filtri a aree nominate: le etichette di ogni riga restano allineate in alto
   anche quando sotto la commessa compaiono le scelte recenti. */
.progress-filter-grid[b-f1eb49z68o] {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    grid-template-areas:
        "ricerca ricerca dal al"
        "operatore commessa commessa progetto"
        "footer footer footer footer";
    gap: var(--ui-space-4);
    align-items: start;
}

.progress-filter-grid__ricerca[b-f1eb49z68o] { grid-area: ricerca; }
.progress-filter-grid__dal[b-f1eb49z68o] { grid-area: dal; }
.progress-filter-grid__al[b-f1eb49z68o] { grid-area: al; }
.progress-filter-grid__operatore[b-f1eb49z68o] { grid-area: operatore; }
.progress-filter-grid__commessa[b-f1eb49z68o] { grid-area: commessa; min-width: 0; }
.progress-filter-grid__progetto[b-f1eb49z68o] { grid-area: progetto; }
.progress-filter-grid__progetto .cma-meta[b-f1eb49z68o] { display: block; margin-top: var(--ui-space-1); }

.progress-filter-footer[b-f1eb49z68o] {
    grid-area: footer;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: var(--ui-space-3);
    padding-top: var(--ui-space-3);
    border-top: 1px solid var(--ui-border);
}

.progress-summary-grid[b-f1eb49z68o] {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1rem;
}

.progress-summary[b-f1eb49z68o] {
    position: relative;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    min-height: 126px;
    padding: 1rem 1.15rem;
    background: var(--ui-surface);
    border: 1px solid var(--ui-border);
    border-radius: 1rem;
    box-shadow: var(--ui-shadow);
}

.progress-summary[b-f1eb49z68o]::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: 4px;
    background: var(--summary-accent, var(--ui-primary));
}

.progress-summary--time[b-f1eb49z68o] { --summary-accent: var(--ui-primary); }
.progress-summary--activities[b-f1eb49z68o] { --summary-accent: var(--ui-link); }
.progress-summary--destinations[b-f1eb49z68o] { --summary-accent: var(--ui-brand); }
.progress-summary--warning[b-f1eb49z68o] { --summary-accent: var(--ui-muted); }
.progress-summary--warning.has-warning[b-f1eb49z68o] { --summary-accent: var(--ui-warning); }

.progress-summary span[b-f1eb49z68o] {
    color: var(--ui-muted);
    font-weight: 700;
}

.progress-summary strong[b-f1eb49z68o] {
    margin: 0.2rem 0;
    color: var(--ui-text);
    font-size: clamp(1.65rem, 3vw, 2.15rem);
}

.progress-summary small[b-f1eb49z68o] {
    color: var(--ui-muted);
}

.progress-view-toolbar[b-f1eb49z68o] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.progress-result-count[b-f1eb49z68o] {
    margin-left: auto;
    color: var(--ui-muted);
    font-weight: 700;
}

.progress-timeline[b-f1eb49z68o] {
    display: grid;
    gap: 1.25rem;
}

.progress-day[b-f1eb49z68o] {
    overflow: hidden;
    background: var(--ui-surface);
    border: 1px solid var(--ui-border);
    border-radius: 1rem;
    box-shadow: var(--ui-shadow);
}

.progress-day-header[b-f1eb49z68o] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
    padding: 0.9rem 1.1rem;
    background: color-mix(in srgb, var(--ui-primary) 8%, var(--ui-surface));
    border-bottom: 1px solid var(--ui-border);
}

.progress-day-header div[b-f1eb49z68o] {
    display: flex;
    align-items: baseline;
    gap: 0.55rem;
}

.progress-day-header span[b-f1eb49z68o] {
    color: var(--ui-link);
    font-weight: 800;
    text-transform: capitalize;
}

.progress-day-header strong[b-f1eb49z68o] {
    color: var(--ui-text);
}

.progress-day-header .progress-day-total[b-f1eb49z68o] {
    color: var(--ui-muted);
    font-size: 0.88rem;
    text-transform: none;
}

.progress-day-list[b-f1eb49z68o] {
    display: grid;
}

.progress-entry[b-f1eb49z68o] {
    display: grid;
    grid-template-columns: 96px minmax(0, 1fr);
    gap: 1rem;
    padding: 1rem 1.1rem;
    border-bottom: 1px solid var(--ui-border);
}

.progress-entry:last-child[b-f1eb49z68o] {
    border-bottom: 0;
}

.progress-entry.is-incomplete[b-f1eb49z68o] {
    border-left: 4px solid var(--ui-warning);
}

/* Le informazioni non richiedono ore: nessun richiamo di attenzione. */
.progress-entry.is-info[b-f1eb49z68o] {
    border-left: 4px solid var(--ui-border);
}

.progress-entry-time[b-f1eb49z68o] {
    display: flex;
    flex-direction: column;
    color: var(--ui-text);
}

.progress-entry-time strong[b-f1eb49z68o] {
    font-size: 1.1rem;
}

.progress-entry-time span[b-f1eb49z68o],
.progress-client[b-f1eb49z68o] {
    color: var(--ui-muted);
    font-size: 0.8rem;
}

.progress-entry-main[b-f1eb49z68o],
.progress-entry-heading > div[b-f1eb49z68o] {
    min-width: 0;
}

.progress-entry-heading[b-f1eb49z68o] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
}

.progress-entry-heading > div[b-f1eb49z68o] {
    display: flex;
    flex-direction: column;
}

.progress-entry-heading strong[b-f1eb49z68o] {
    color: var(--ui-text);
    font-size: 1rem;
}

.progress-entry-type[b-f1eb49z68o] {
    color: var(--ui-link);
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

/* Il testo si legge per intero: prima era tagliato a circa 5 righe. Solo le note
   lunghissime scorrono dentro la scheda, senza allungare la pagina all'infinito. */
.progress-content[b-f1eb49z68o] {
    max-height: 30rem;
    overflow-y: auto;
    overscroll-behavior: contain;
    overflow-wrap: anywhere;
    margin-top: 0.55rem;
    color: var(--ui-text);
}

/* I riquadri che scorrono ricevono il fuoco dalla tastiera (Chrome): bordo visibile. */
.progress-content:focus-visible[b-f1eb49z68o] {
    outline: 2px solid var(--ui-primary);
    outline-offset: 2px;
    border-radius: var(--ui-radius-control);
}

.progress-content[b-f1eb49z68o]  p:last-child {
    margin-bottom: 0;
}

.progress-entry footer[b-f1eb49z68o],
.progress-group-card footer[b-f1eb49z68o] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
    margin-top: 0.7rem;
    color: var(--ui-muted);
    font-size: 0.86rem;
}

.progress-entry footer a[b-f1eb49z68o] {
    font-weight: 700;
}

.progress-groups-grid[b-f1eb49z68o] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
}

.progress-group-card[b-f1eb49z68o] {
    display: flex;
    flex-direction: column;
    padding: 1.1rem;
    background: var(--ui-surface);
    border: 1px solid var(--ui-border);
    border-top: 4px solid var(--ui-primary);
    border-radius: 1rem;
    box-shadow: var(--ui-shadow);
}

.progress-group-card--person[b-f1eb49z68o] {
    border-top-color: var(--ui-brand);
}

.progress-group-card header[b-f1eb49z68o] {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 1rem;
}

.progress-group-card header > div[b-f1eb49z68o] {
    min-width: 0;
}

.progress-group-card header span:not(.progress-group-hours)[b-f1eb49z68o] {
    color: var(--ui-link);
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

.progress-group-card h2[b-f1eb49z68o] {
    margin: 0.15rem 0;
    color: var(--ui-text);
    font-size: 1.05rem;
}

.progress-group-card small[b-f1eb49z68o] {
    color: var(--ui-muted);
}

.progress-group-hours[b-f1eb49z68o] {
    flex: 0 0 auto;
    color: var(--ui-text);
    font-size: 1.4rem;
    font-weight: 800;
}

.progress-group-stats[b-f1eb49z68o] {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0.5rem;
    margin-top: 1rem;
}

.progress-group-stats span.is-warning strong[b-f1eb49z68o] { color: var(--ui-warning); }

.progress-group-stats span[b-f1eb49z68o] {
    display: flex;
    flex-direction: column;
    padding: 0.65rem;
    color: var(--ui-muted);
    background: color-mix(in srgb, var(--ui-primary) 5%, transparent);
    border-radius: 0.65rem;
    font-size: 0.78rem;
}

.progress-group-stats strong[b-f1eb49z68o] {
    color: var(--ui-text);
    font-size: 1.05rem;
}

.progress-group-card footer[b-f1eb49z68o] {
    margin-top: auto;
    padding-top: 1rem;
}

.progress-empty[b-f1eb49z68o] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.4rem;
    padding: 2rem;
    color: var(--ui-muted);
    text-align: center;
}

.progress-empty i[b-f1eb49z68o] {
    font-size: 2rem;
}

.progress-empty strong[b-f1eb49z68o] {
    color: var(--ui-text);
    font-size: 1.1rem;
}

@media (max-width: 992px) {
    .progress-summary-grid[b-f1eb49z68o] {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .progress-filter-grid[b-f1eb49z68o] {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        grid-template-areas:
            "ricerca ricerca"
            "dal al"
            "operatore progetto"
            "commessa commessa"
            "footer footer";
    }
}

@media (max-width: 700px) {
    .progress-summary-grid[b-f1eb49z68o],
    .progress-groups-grid[b-f1eb49z68o] {
        grid-template-columns: 1fr;
    }

    .progress-filter-grid[b-f1eb49z68o] {
        grid-template-columns: minmax(0, 1fr);
        grid-template-areas: "ricerca" "dal" "al" "operatore" "commessa" "progetto" "footer";
    }

    .progress-filter-footer .btn[b-f1eb49z68o] {
        width: 100%;
    }

    .progress-view-toolbar .btn[b-f1eb49z68o] {
        flex: 1 1 100%;
    }

    .progress-result-count[b-f1eb49z68o] {
        width: 100%;
        margin-left: 0;
        text-align: center;
    }

    .progress-day-header[b-f1eb49z68o],
    .progress-entry-heading[b-f1eb49z68o],
    .progress-entry footer[b-f1eb49z68o],
    .progress-group-card footer[b-f1eb49z68o] {
        align-items: flex-start;
        flex-direction: column;
    }

    .progress-day-header div[b-f1eb49z68o] {
        align-items: flex-start;
        flex-direction: column;
        gap: 0;
    }

    .progress-entry[b-f1eb49z68o] {
        grid-template-columns: 1fr;
    }

    .progress-entry-time[b-f1eb49z68o] {
        flex-direction: row;
        align-items: baseline;
        gap: 0.5rem;
    }
}
/* /Pages/Guida/Guide.razor.rz.scp.css */
/* Elenco delle guide: una riga per guida con icona, testo e pulsante. */
.guide-elenco[b-i4bok5b4t1] {
    list-style: none;
    margin: var(--ui-space-4) 0 0;
    padding: 0;
    display: grid;
    gap: var(--ui-space-3);
}

.guide-voce[b-i4bok5b4t1] {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: var(--ui-space-4);
    padding: var(--ui-space-4);
    background: var(--ui-surface);
    border: 1px solid var(--ui-border);
    border-radius: var(--ui-radius-card);
}

.guide-voce__icona[b-i4bok5b4t1] {
    width: 2.75rem;
    height: 2.75rem;
    display: grid;
    place-items: center;
    border-radius: var(--ui-radius-control);
    background: var(--ui-brand-soft);
    color: var(--ui-brand-text);
    font-size: 1.125rem;
}

.guide-voce__titolo[b-i4bok5b4t1] {
    margin: 0 0 var(--ui-space-1);
    font-size: 1.125rem;
    font-weight: 700;
}

.guide-voce__numero[b-i4bok5b4t1] {
    color: var(--ui-brand-text);
}

.guide-voce__apri[b-i4bok5b4t1] {
    min-height: 44px;
}

/* Schermo della guida: il lettore dentro l'iframe si adatta allo spazio ricevuto. */
.guide-schermo[b-i4bok5b4t1] {
    width: 100%;
    height: clamp(420px, calc(100dvh - 15rem), 920px);
    border-radius: var(--ui-radius-card);
    overflow: hidden;
    background: #0c131d;
}

.guide-schermo iframe[b-i4bok5b4t1] {
    display: block;
    width: 100%;
    height: 100%;
    border: 0;
}

@media (max-width: 640.98px) {
    .guide-voce[b-i4bok5b4t1] {
        grid-template-columns: auto minmax(0, 1fr);
    }

    .guide-voce__apri[b-i4bok5b4t1] {
        grid-column: 1 / -1;
    }

    /* Sul telefono la guida verticale usa tutta l'altezza sopra la barra inferiore. */
    .guide-schermo[b-i4bok5b4t1] {
        height: calc(100dvh - var(--cma-tabbar-space, 4rem) - 9rem);
        min-height: 520px;
        border-radius: 0;
        margin-inline: calc(-1 * var(--ui-space-4));
        width: calc(100% + 2 * var(--ui-space-4));
    }
}
/* /Pages/Index.razor.rz.scp.css */
.home-page[b-8sxdxvqcql] { --home-muted: var(--ui-muted); --home-border: var(--ui-border); max-width: 1640px; margin: 0 auto 2rem; padding: var(--ui-space-5); border-radius: var(--ui-radius-card); }
.home-page *[b-8sxdxvqcql] { box-sizing: border-box; }
.home-page a[b-8sxdxvqcql] { text-decoration: none; }
.home-page a:focus-visible[b-8sxdxvqcql], .home-page button:focus-visible[b-8sxdxvqcql], .home-page summary:focus-visible[b-8sxdxvqcql] { outline: 2px solid var(--ui-focus); outline-offset: 3px; }
.home-hero[b-8sxdxvqcql] { display: flex; align-items: flex-start; justify-content: space-between; gap: var(--ui-space-5); margin-bottom: var(--ui-space-5); }
.home-eyebrow[b-8sxdxvqcql] { display: block; color: var(--home-muted); font-size: var(--ui-text-meta); font-weight: 800; letter-spacing: .14em; text-transform: uppercase; margin-bottom: .4rem; }
.home-hero h1[b-8sxdxvqcql] { font-size: var(--ui-text-title); letter-spacing: -.025em; line-height: 1.2; margin: 0 0 var(--ui-space-2); }
.home-hero p[b-8sxdxvqcql] { color: var(--home-muted); max-width: 680px; margin-bottom: var(--ui-space-2); font-size: var(--ui-text-compact); }
.hero-meta[b-8sxdxvqcql] { display: flex; gap: .6rem 1.4rem; flex-wrap: wrap; font-size: var(--ui-text-compact); color: var(--home-muted); }
.hero-meta span:first-child[b-8sxdxvqcql] { text-transform: capitalize; }
.hero-actions[b-8sxdxvqcql] { display: flex; flex-wrap: wrap; gap: .65rem; flex-shrink: 0; }
.hero-actions .btn[b-8sxdxvqcql] { border-radius: var(--ui-radius-control); padding: .75rem 1rem; font-size: var(--ui-text-compact); }
.home-refresh[b-8sxdxvqcql] { background: var(--ui-surface); border: 1px solid var(--home-border); color: var(--ui-text); }
.home-metrics[b-8sxdxvqcql] { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; margin-bottom: var(--ui-space-5); }
.home-metric[b-8sxdxvqcql] { position: relative; display: flex; flex-direction: column; min-height: 136px; padding: var(--ui-space-4); border: 1px solid var(--home-border); border-radius: var(--ui-radius-card); background: var(--ui-surface); color: var(--ui-text); box-shadow: var(--ui-shadow); transition: border-color .15s ease; overflow-wrap: anywhere; }
.home-metric:hover[b-8sxdxvqcql] { border-color: var(--ui-link); color: var(--ui-text); }
.home-metric > span:not(.metric-icon)[b-8sxdxvqcql] { padding-right: 2.6rem; font-size: var(--ui-text-compact); font-weight: 650; min-height: 2.4em; }
.home-metric > strong[b-8sxdxvqcql] { font-size: 2rem; line-height: 1.1; letter-spacing: -.045em; margin: .35rem 0 .5rem; font-variant-numeric: tabular-nums; }
.home-metric > .metric-text[b-8sxdxvqcql] { font-size: 1.35rem; margin-top: .65rem; }
.home-metric small[b-8sxdxvqcql] { color: var(--home-muted); font-size: var(--ui-text-meta); margin-top: auto; }
.metric-icon[b-8sxdxvqcql] { position: absolute; right: 1rem; top: 1rem; width: 32px; height: 32px; display: grid; place-items: center; border-radius: var(--ui-radius-control); background: var(--ui-surface-alt); color: var(--ui-link); }
.accent-blue[b-8sxdxvqcql] { --metric-color: var(--ui-link); }
.accent-amber[b-8sxdxvqcql] { --metric-color: var(--ui-warning); }
.accent-violet[b-8sxdxvqcql] { --metric-color: var(--ui-link); }
.accent-teal[b-8sxdxvqcql] { --metric-color: var(--ui-link); }
.home-columns[b-8sxdxvqcql] { display: grid; grid-template-columns: minmax(0, 1.7fr) minmax(320px, 1fr); gap: var(--ui-space-5); align-items: start; }
.home-main[b-8sxdxvqcql], .home-side[b-8sxdxvqcql] { display: grid; gap: var(--ui-space-5); min-width: 0; }
.home-panel[b-8sxdxvqcql] { background: var(--ui-surface); border: 1px solid var(--home-border); border-radius: var(--ui-radius-card); padding: var(--ui-space-5); min-width: 0; scroll-margin-top: 7rem; }
.panel-heading[b-8sxdxvqcql] { display: flex; justify-content: space-between; align-items: center; gap: 1rem; margin-bottom: 1.15rem; }
.panel-heading h2[b-8sxdxvqcql] { font-size: 1.12rem; margin: 0; letter-spacing: -.025em; }
.panel-heading a[b-8sxdxvqcql] { font-size: var(--ui-text-compact); font-weight: 700; white-space: nowrap; }
.panel-symbol[b-8sxdxvqcql] { font-size: 1.1rem; color: var(--home-muted); }
.panel-toolbar[b-8sxdxvqcql] { display: flex; gap: .7rem; flex-wrap: wrap; align-items: center; margin-bottom: .9rem; }
.home-search[b-8sxdxvqcql] { display: flex; flex: 1 1 220px; align-items: center; gap: .6rem; padding: .55rem .7rem; border: 1px solid var(--home-border); border-radius: var(--ui-radius-control); color: var(--home-muted); }
.home-search input[b-8sxdxvqcql] { background: transparent; color: var(--ui-text); border: 0; width: 100%; min-width: 0; font-size: var(--ui-text-compact); }
.home-search:focus-within[b-8sxdxvqcql] { outline: 2px solid var(--ui-focus); outline-offset: 2px; }
.home-search input:focus[b-8sxdxvqcql] { outline: 0; }
.home-chip[b-8sxdxvqcql] { display: inline-block; padding: .28rem .5rem; border-radius: var(--ui-radius-badge); background: rgba(var(--ui-primary-rgb),.07); color: var(--ui-text); font-size: var(--ui-text-meta); font-weight: 650; line-height: 1.4; }
.schedule-row[b-8sxdxvqcql] { display: grid; grid-template-columns: 34px minmax(100px,1fr) minmax(100px,1fr); align-items: center; gap: .8rem; padding: .8rem 0; border-bottom: 1px solid var(--home-border); }
.home-avatar[b-8sxdxvqcql] { display: grid; place-items: center; width: 34px; height: 34px; background: rgba(var(--ui-primary-rgb),.09); border-radius: var(--ui-radius-control); font-size: var(--ui-text-meta); font-weight: 800; }
.schedule-row strong[b-8sxdxvqcql] { display: block; font-size: var(--ui-text-compact); }
.schedule-row small[b-8sxdxvqcql], .job-row small[b-8sxdxvqcql] { display: block; font-size: var(--ui-text-meta); color: var(--home-muted); margin-top: .2rem; }
.schedule-assignment[b-8sxdxvqcql] { text-align: right; overflow-wrap: anywhere; }
.panel-footer[b-8sxdxvqcql] { color: var(--home-muted); font-size: var(--ui-text-meta); line-height: 1.6; margin-top: .9rem; }
.priority-panel[b-8sxdxvqcql] { border-top: 3px solid var(--ui-warning); }
.action-row[b-8sxdxvqcql] { display: flex; align-items: center; gap: .7rem; color: var(--ui-text); padding: .8rem 0; border-bottom: 1px solid var(--home-border); font-size: var(--ui-text-compact); }
.action-row > span[b-8sxdxvqcql] { flex: 1; }
.action-row > i[b-8sxdxvqcql] { color: var(--home-muted); font-size: var(--ui-text-meta); }
.count-pill[b-8sxdxvqcql] { padding: .25rem .55rem; border-radius: var(--ui-radius-badge); background: rgba(var(--ui-primary-rgb),.08); min-width: 28px; text-align: center; font-size: var(--ui-text-compact); }
.count-pill.has-warning[b-8sxdxvqcql] { background: var(--ui-warning-bg); color: var(--ui-warning); }
.home-success[b-8sxdxvqcql] { margin: 1rem 0 0; font-size: var(--ui-text-compact); line-height: 1.6; color: var(--ui-text); }
.home-success i[b-8sxdxvqcql] { color: var(--ui-success); }
.job-row[b-8sxdxvqcql] { display: flex; justify-content: space-between; gap: .8rem; color: var(--ui-text); padding: .8rem 0; border-bottom: 1px solid var(--home-border); }
.job-row > div[b-8sxdxvqcql] { min-width: 0; overflow-wrap: anywhere; }
.job-row strong[b-8sxdxvqcql] { font-size: var(--ui-text-compact); }
.job-state[b-8sxdxvqcql] { align-self: start; font-size: var(--ui-text-meta); padding: .3rem .45rem; border-radius: 6px; background: rgba(var(--ui-primary-rgb),.08); flex-shrink: 0; }
.activity-feed[b-8sxdxvqcql] { padding-left: .4rem; }
.feed-item[b-8sxdxvqcql] { position: relative; padding: .2rem 0 1.3rem 1.25rem; border-left: 1px solid var(--home-border); }
.feed-item:last-child[b-8sxdxvqcql] { padding-bottom: .2rem; }
.feed-dot[b-8sxdxvqcql] { position: absolute; width: 9px; height: 9px; border-radius: 50%; background: var(--ui-link); left: -5px; top: .55rem; box-shadow: 0 0 0 4px var(--ui-surface); }
.feed-heading[b-8sxdxvqcql] { display: flex; flex-wrap: wrap; justify-content: space-between; gap: .4rem; }
.feed-heading strong[b-8sxdxvqcql] { font-size: var(--ui-text-compact); overflow-wrap: anywhere; }
.feed-heading time[b-8sxdxvqcql] { font-size: var(--ui-text-meta); color: var(--home-muted); font-variant-numeric: tabular-nums; }
.feed-author[b-8sxdxvqcql] { font-size: var(--ui-text-meta); color: var(--home-muted); }
.feed-item p[b-8sxdxvqcql], .recent-row p[b-8sxdxvqcql] { font-size: var(--ui-text-compact); line-height: 1.6; margin: .45rem 0; overflow-wrap: anywhere; }
.vehicle-row[b-8sxdxvqcql] { display: flex; flex-direction: column; gap: .35rem; padding: .8rem 0; border-bottom: 1px solid var(--home-border); color: var(--ui-text); font-size: var(--ui-text-compact); }
.vehicle-row > span[b-8sxdxvqcql] { overflow-wrap: anywhere; }
.vehicle-row small[b-8sxdxvqcql] { font-size: var(--ui-text-meta); color: var(--home-muted); }
.vehicle-heading[b-8sxdxvqcql] { display: flex; justify-content: space-between; gap: .6rem; align-items: center; }
.vehicle-warning[b-8sxdxvqcql] { font-weight: 700; }
.home-shortcuts[b-8sxdxvqcql] { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .7rem; }
.home-shortcuts a[b-8sxdxvqcql] { display: flex; align-items: center; gap: .65rem; padding: 1rem; border: 1px solid var(--home-border); border-radius: 12px; background: var(--ui-surface); font-size: var(--ui-text-compact); font-weight: 700; }
.warehouse-shortcuts[b-8sxdxvqcql] { grid-template-columns: repeat(3,minmax(0,1fr)); margin-bottom: var(--ui-space-5); }
.week-panel[b-8sxdxvqcql] { margin-bottom: var(--ui-space-5); }
.week-strip[b-8sxdxvqcql] { display: grid; grid-template-columns: repeat(7,minmax(0,1fr)); gap: .65rem; }
.week-day[b-8sxdxvqcql] { display: flex; flex-direction: column; align-items: flex-start; text-align: left; gap: .65rem; padding: .9rem .8rem; border: 1px solid var(--home-border); border-radius: 12px; background: transparent; color: var(--ui-text); transition: background .15s; min-width: 0; }
.week-day:hover[b-8sxdxvqcql] { background: rgba(var(--ui-primary-rgb),.05); }
.week-day.is-selected[b-8sxdxvqcql] { background: rgba(var(--ui-primary-rgb),.1); border-color: var(--ui-link); box-shadow: inset 0 0 0 1px var(--ui-link); }
.week-label[b-8sxdxvqcql] { display: flex; justify-content: space-between; gap: .4rem; width: 100%; text-transform: uppercase; font-size: var(--ui-text-meta); font-weight: 700; color: var(--home-muted); }
.week-label > span[b-8sxdxvqcql] { color: var(--ui-link); text-transform: none; }
.week-number[b-8sxdxvqcql] { font-size: 1.55rem; line-height: 1; letter-spacing: -.05em; }
.week-task[b-8sxdxvqcql] { font-size: var(--ui-text-compact); font-weight: 650; overflow-wrap: anywhere; }
.week-day small[b-8sxdxvqcql] { font-size: var(--ui-text-meta); color: var(--home-muted); overflow-wrap: anywhere; }
.today-plan-list[b-8sxdxvqcql] { display: grid; grid-template-columns: minmax(0, 1fr); gap: .7rem; margin-bottom: var(--ui-space-5); }
.today-plan[b-8sxdxvqcql] { display: flex; flex-wrap: wrap; min-width: 0; align-items: center; gap: .8rem; padding: 1rem; background: var(--ui-surface-alt); border-radius: var(--ui-radius-card); }
.today-plan > div[b-8sxdxvqcql] { display: flex; flex-direction: column; gap: .25rem; flex: 1 1 12rem; min-width: 0; overflow-wrap: anywhere; font-size: var(--ui-text-compact); }
.today-plan small[b-8sxdxvqcql] { color: var(--home-muted); font-size: var(--ui-text-meta); text-transform: uppercase; font-weight: 700; }
.plan-icon[b-8sxdxvqcql] { display: grid; place-items: center; width: 40px; height: 40px; border-radius: 12px; background: var(--ui-surface); color: var(--ui-link); flex-shrink: 0; }
.home-error[b-8sxdxvqcql] { background: var(--ui-danger-bg); color: var(--ui-danger); }
.notice-box[b-8sxdxvqcql] { display: flex; flex-direction: column; gap: var(--ui-space-1); border-left: 3px solid var(--ui-warning); padding: var(--ui-space-3); background: var(--ui-warning-bg); border-radius: var(--ui-radius-control); margin: var(--ui-space-3) 0; color: var(--ui-warning); }
.notice-box strong[b-8sxdxvqcql] { font-size: var(--ui-text-compact); }
.notice-box span[b-8sxdxvqcql] { font-size: var(--ui-text-compact); line-height: 1.5; }
.home-empty[b-8sxdxvqcql] { color: var(--home-muted); padding: 1.2rem .6rem; font-size: var(--ui-text-compact); display: flex; flex-direction: column; gap: .55rem; margin: 0; line-height: 1.6; }
div.home-empty[b-8sxdxvqcql] { align-items: center; text-align: center; padding: 2rem 1rem; }
.empty-icon[b-8sxdxvqcql] { font-size: 1.6rem; opacity: .7; margin-bottom: .3rem; }
.day-divider[b-8sxdxvqcql] { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: .25rem var(--ui-space-3); font-size: var(--ui-text-meta); font-weight: 700; color: var(--ui-text); text-decoration: none; padding: .45rem .65rem; border-radius: var(--ui-radius-badge); background: rgba(var(--ui-primary-rgb),.06); margin: 1rem 0 .4rem; }
.day-divider > span:first-child[b-8sxdxvqcql] { text-transform: capitalize; }
.day-divider__totale[b-8sxdxvqcql] { color: var(--home-muted); font-weight: 600; }
.giornata-apri[b-8sxdxvqcql] { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; margin-top: var(--ui-space-4); }
.recent-row[b-8sxdxvqcql] { padding: .65rem .3rem; border-bottom: 1px solid var(--home-border); }
.home-error[b-8sxdxvqcql] { display: flex; flex-direction: column; gap: var(--ui-space-1); border: 1px solid var(--ui-danger); border-radius: var(--ui-radius-card); padding: var(--ui-space-4); margin-bottom: var(--ui-space-4); font-size: var(--ui-text-compact); }
.home-loading[b-8sxdxvqcql] { padding: 3rem; text-align: center; color: var(--home-muted); }

@media (max-width: 1199.98px) {
    .home-hero[b-8sxdxvqcql] { align-items: flex-start; }
    .hero-actions[b-8sxdxvqcql] { flex-direction: column; }
    .home-columns[b-8sxdxvqcql] { grid-template-columns: minmax(0,1.4fr) minmax(290px,1fr); }
    .week-strip[b-8sxdxvqcql] { gap: .4rem; }
    .week-day[b-8sxdxvqcql] { padding: .75rem .5rem; }
    .week-label[b-8sxdxvqcql] { flex-direction: column; }
}
@media (max-width: 991.98px) {
    .home-metrics[b-8sxdxvqcql] { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .home-columns[b-8sxdxvqcql] { grid-template-columns: minmax(0,1fr); }
    .week-strip[b-8sxdxvqcql] { grid-template-columns: repeat(4,minmax(0,1fr)); }
    .week-label[b-8sxdxvqcql] { flex-direction: row; }
}
@media (max-width: 767.98px) {
    .home-page[b-8sxdxvqcql] { padding: var(--ui-space-3); }
    .home-hero[b-8sxdxvqcql] { padding: 0; flex-direction: column; gap: 1rem; border-radius: var(--ui-radius-card); }
    .home-hero h1[b-8sxdxvqcql] { font-size: var(--ui-text-title); }
    .hero-actions[b-8sxdxvqcql] { width: 100%; flex-direction: row; }
    .hero-actions .btn[b-8sxdxvqcql] { flex: 1; font-size: var(--ui-text-meta); padding: .65rem .5rem; }
    .home-metrics[b-8sxdxvqcql] { gap: .65rem; }
    .home-metric[b-8sxdxvqcql] { min-height: 136px; padding: var(--ui-space-3); }
    .metric-icon[b-8sxdxvqcql] { width: 26px; height: 26px; font-size: var(--ui-text-meta); right: .7rem; top: .7rem; }
    .home-metric > span:not(.metric-icon)[b-8sxdxvqcql] { font-size: var(--ui-text-meta); padding-right: 1.8rem; }
    .home-metric > strong[b-8sxdxvqcql] { font-size: 1.55rem; margin-top: .7rem; }
    .home-metric > .metric-text[b-8sxdxvqcql] { font-size: 1.12rem; }
    .home-panel[b-8sxdxvqcql] { padding: var(--ui-space-4); border-radius: var(--ui-radius-card); }
    .panel-heading[b-8sxdxvqcql] { gap: .5rem; }
    .panel-heading h2[b-8sxdxvqcql] { font-size: 1rem; }
    .panel-heading a[b-8sxdxvqcql] { font-size: var(--ui-text-meta); white-space: normal; text-align: right; }
    .week-strip[b-8sxdxvqcql] { grid-template-columns: minmax(0,1fr); }
    .week-day[b-8sxdxvqcql] { display: grid; grid-template-columns: 45px minmax(0,1fr); gap: .3rem .8rem; padding: .7rem; }
    .week-label[b-8sxdxvqcql] { grid-column: 1; grid-row: 1; font-size: var(--ui-text-meta); flex-direction: column; gap: .1rem; }
    .week-number[b-8sxdxvqcql] { grid-column: 1; grid-row: 2 / 4; font-size: 1.25rem; }
    .week-task[b-8sxdxvqcql] { grid-column: 2; grid-row: 1 / 3; align-self: center; }
    .week-day small[b-8sxdxvqcql], .week-day .cma-status[b-8sxdxvqcql] { grid-column: 2; justify-self: start; }
    .schedule-row[b-8sxdxvqcql] { grid-template-columns: 30px minmax(0,1fr); gap: .6rem; }
    .schedule-assignment[b-8sxdxvqcql] { grid-column: 2; text-align: left; }
    .today-plan[b-8sxdxvqcql] { flex-wrap: wrap; }
    .giornata-apri[b-8sxdxvqcql] { width: 100%; }
    .home-shortcuts[b-8sxdxvqcql], .warehouse-shortcuts[b-8sxdxvqcql] { grid-template-columns: minmax(0,1fr); }
}
@media (prefers-reduced-motion: reduce) {
    .home-page *[b-8sxdxvqcql] { transition: none !important; }
    .home-metric:hover[b-8sxdxvqcql] { transform: none; }
}


/* Scoped CSS follows mobile.css: preserve touch dimensions here as well. */
.metric-icon[b-8sxdxvqcql] { color: var(--metric-color, var(--ui-link)); }
.accent-amber .metric-icon[b-8sxdxvqcql] { background: var(--ui-warning-bg); }
.hero-copy[b-8sxdxvqcql], .panel-heading > div[b-8sxdxvqcql], .action-row > span[b-8sxdxvqcql] { min-width: 0; }
.panel-heading[b-8sxdxvqcql] { flex-wrap: wrap; }
.schedule-row strong[b-8sxdxvqcql], .panel-heading h2[b-8sxdxvqcql], .action-row > span[b-8sxdxvqcql] { overflow-wrap: anywhere; }
.home-search input[b-8sxdxvqcql] { min-height: 40px; }
.home-panel a:not(.btn):hover[b-8sxdxvqcql] { text-decoration: underline; }
.home-page .home-metric[b-8sxdxvqcql] { text-decoration: none; }
.home-page .notice-box[b-8sxdxvqcql] { color: var(--ui-warning); }

@media (pointer: coarse) {
    .home-search input[b-8sxdxvqcql] { font-size: 16px; }
    .home-search input[b-8sxdxvqcql], .hero-actions .btn[b-8sxdxvqcql], .day-divider[b-8sxdxvqcql],
    .panel-heading a[b-8sxdxvqcql], .action-row[b-8sxdxvqcql], .job-row[b-8sxdxvqcql], .home-shortcuts a[b-8sxdxvqcql] { min-height: 44px; }
    .panel-heading a[b-8sxdxvqcql] { display: inline-flex; align-items: center; }
}
/* /Pages/Kpi/KpiAndamento.razor.rz.scp.css */
/* Andamento delle commesse: colori dai token di cma-ui.css. */
.kpi-dashboard[b-zdeb6xsu9o] { display: grid; gap: var(--ui-space-4); }
.kpi-metric-grid[b-zdeb6xsu9o] { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 12rem), 1fr)); gap: var(--ui-space-3); }
.kpi-two-columns[b-zdeb6xsu9o] { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--ui-space-4); }
.kpi-table-wrap[b-zdeb6xsu9o] { max-height: 560px; }
.kpi-table-wrap td small[b-zdeb6xsu9o] { display: block; max-width: 360px; color: var(--ui-muted); }
@media (max-width: 900px) { .kpi-two-columns[b-zdeb6xsu9o] { grid-template-columns: minmax(0, 1fr); } }
/* /Pages/Kpi/KpiAziendali.razor.rz.scp.css */
/* Disposizione dei cruscotti KPI; colori e superfici dai token di cma-ui.css. */
.kpi-toolbar[b-cs746w7w55] { align-items: end; }
.kpi-toolbar__commessa[b-cs746w7w55] { flex: 1 1 22rem; min-width: 0; }
.kpi-dashboard[b-cs746w7w55] { display: grid; gap: var(--ui-space-4); }
.kpi-entity-header[b-cs746w7w55] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: var(--ui-space-4);
    padding: var(--ui-space-4);
    border: 1px solid var(--ui-border);
    border-left: 4px solid var(--ui-brand);
    border-radius: var(--ui-radius-card);
    background: var(--ui-surface);
}
.kpi-entity-header h2[b-cs746w7w55] { margin: var(--ui-space-1) 0; color: var(--ui-text); font-size: var(--ui-text-section); }
.kpi-entity-header p[b-cs746w7w55], .kpi-entity-header small[b-cs746w7w55] { display: block; margin: 0; color: var(--ui-muted); }
.kpi-entity-header > div:last-child[b-cs746w7w55] { display: grid; justify-items: end; gap: var(--ui-space-1); }
.kpi-code[b-cs746w7w55] { color: var(--ui-brand-text); font-size: var(--ui-text-label); font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.kpi-metric-grid[b-cs746w7w55] { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 12rem), 1fr)); gap: var(--ui-space-3); }
.kpi-two-columns[b-cs746w7w55] { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--ui-space-4); }
.kpi-two-columns--inside[b-cs746w7w55] { margin-top: var(--ui-space-4); }
.kpi-table-wrap[b-cs746w7w55] { max-height: 560px; }
.kpi-table-wrap td small[b-cs746w7w55] { display: block; max-width: 360px; color: var(--ui-muted); }
.kpi-inline-stats[b-cs746w7w55] { display: flex; flex-wrap: wrap; gap: var(--ui-space-2); }
.kpi-inline-stats span[b-cs746w7w55], .kpi-quality-grid span[b-cs746w7w55] {
    padding: var(--ui-space-2) var(--ui-space-3);
    border-radius: var(--ui-radius-control);
    color: var(--ui-muted);
    background: var(--ui-surface-alt);
    font-size: var(--ui-text-compact);
}
.kpi-inline-stats strong[b-cs746w7w55], .kpi-quality-grid strong[b-cs746w7w55] { color: var(--ui-text); }
.kpi-quality-grid[b-cs746w7w55] { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 14rem), 1fr)); gap: var(--ui-space-2); }
.kpi-client-table-filters[b-cs746w7w55] { display: flex; align-items: end; flex-wrap: wrap; gap: var(--ui-space-3); margin-bottom: var(--ui-space-4); }
.kpi-client-table-filters > div:not(.form-check)[b-cs746w7w55] { flex: 1 1 14rem; }
.kpi-client-table[b-cs746w7w55] { max-height: 650px; }
.kpi-client-table th[b-cs746w7w55], .kpi-client-table td[b-cs746w7w55] { white-space: nowrap; }
@media (max-width: 900px) { .kpi-two-columns[b-cs746w7w55] { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 640px) {
    .kpi-entity-header[b-cs746w7w55] { align-items: flex-start; flex-direction: column; }
    .kpi-entity-header > div:last-child[b-cs746w7w55] { justify-items: start; }
}
/* /Pages/Kpi/KpiCostiCommesse.razor.rz.scp.css */
/* Costi delle commesse: colori dai token di cma-ui.css. */
.kpi-dashboard[b-01b2wrt80r] { display: grid; gap: var(--ui-space-4); }
.kpi-costi-setup[b-01b2wrt80r] { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); gap: var(--ui-space-4); }
.kpi-costi-commesse[b-01b2wrt80r] { display: flex; flex-direction: column; gap: var(--ui-space-3); }
.kpi-costi-parametri[b-01b2wrt80r] { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--ui-space-3); align-items: end; }
.kpi-costi-parametri .cma-span-all[b-01b2wrt80r] { grid-column: 1 / -1; }
.kpi-costi-tariffe[b-01b2wrt80r] { display: flex; flex-wrap: wrap; align-items: end; gap: var(--ui-space-2); padding-bottom: var(--ui-space-3); border-bottom: 1px solid var(--ui-border); }
.kpi-costi-tariffe > div[b-01b2wrt80r] { flex: 1 1 14rem; min-width: 0; }

.kpi-costi-chips[b-01b2wrt80r] { display: flex; flex-wrap: wrap; gap: var(--ui-space-2); margin: 0; padding: 0; list-style: none; }
.kpi-costi-chips li[b-01b2wrt80r] {
    display: inline-flex;
    align-items: center;
    gap: var(--ui-space-1);
    max-width: 100%;
    padding: .2rem .25rem .2rem .65rem;
    color: var(--ui-text);
    background: var(--ui-surface-alt);
    border: 1px solid var(--ui-border);
    border-radius: 999px;
    font-size: var(--ui-text-compact);
}
.kpi-costi-chip__testo[b-01b2wrt80r] { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; max-width: 22rem; }
.kpi-costi-chip__testo strong[b-01b2wrt80r] { color: var(--ui-brand-text); }
.kpi-costi-chip__togli[b-01b2wrt80r] {
    display: grid;
    place-items: center;
    flex: 0 0 auto;
    width: 28px;
    height: 28px;
    padding: 0;
    color: var(--ui-muted);
    background: transparent;
    border: 0;
    border-radius: 999px;
}
.kpi-costi-chip__togli:hover[b-01b2wrt80r] { color: var(--ui-text); background: var(--ui-surface); }
.kpi-costi-chip__togli:focus-visible[b-01b2wrt80r] { outline: 2px solid var(--ui-primary); outline-offset: 1px; }
@media (pointer: coarse) { .kpi-costi-chip__togli[b-01b2wrt80r] { width: 44px; height: 44px; margin: -8px -6px -8px 0; } }

/* Barra della composizione del costo: manodopera, materiali, trasferte. */
.kpi-costi-barra[b-01b2wrt80r] {
    display: flex;
    height: .75rem;
    margin: var(--ui-space-2) 0 0;
    overflow: hidden;
    background: var(--ui-surface-alt);
    border-radius: 999px;
}
.kpi-costi-tabella .kpi-costi-barra[b-01b2wrt80r] { height: .4rem; max-width: 16rem; }
.kpi-costi-barra span[b-01b2wrt80r] { display: block; height: 100%; }
.kpi-costi-barra__manodopera[b-01b2wrt80r] { background: var(--ui-info-fill); }
.kpi-costi-barra__materiali[b-01b2wrt80r] { background: var(--ui-success-fill); }
.kpi-costi-barra__trasferte[b-01b2wrt80r] { background: var(--ui-warning-fill); }
.kpi-costi-legenda[b-01b2wrt80r] { display: flex; flex-wrap: wrap; gap: var(--ui-space-2) var(--ui-space-4); margin: var(--ui-space-3) 0 0; padding: 0; list-style: none; color: var(--ui-muted); font-size: var(--ui-text-compact); }
.kpi-costi-legenda li[b-01b2wrt80r] { display: inline-flex; align-items: center; gap: var(--ui-space-1); }
.kpi-costi-legenda strong[b-01b2wrt80r] { color: var(--ui-text); font-variant-numeric: tabular-nums; }
.kpi-costi-punto[b-01b2wrt80r] { display: inline-block; width: .7rem; height: .7rem; border-radius: 999px; }

.kpi-costi-avvisi ul[b-01b2wrt80r] { margin: var(--ui-space-1) 0 0; padding-left: 1.1rem; }
.kpi-table-wrap[b-01b2wrt80r] { max-height: 560px; }
.kpi-table-wrap td small[b-01b2wrt80r] { display: block; max-width: 360px; color: var(--ui-muted); }
.kpi-costi-tabella tfoot th[b-01b2wrt80r], .kpi-costi-tabella tfoot td[b-01b2wrt80r] { border-top: 2px solid var(--ui-border); background: var(--ui-surface-alt); }
.kpi-costi-persona[b-01b2wrt80r] { width: 6.5rem; min-height: 36px; }
.kpi-costi-visita--esclusa td[b-01b2wrt80r] { color: var(--ui-muted); }

.kpi-two-columns[b-01b2wrt80r] { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--ui-space-4); }
.kpi-metric-grid[b-01b2wrt80r] { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 12rem), 1fr)); gap: var(--ui-space-3); }

@media (max-width: 1100px) { .kpi-costi-setup[b-01b2wrt80r] { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 900px) { .kpi-two-columns[b-01b2wrt80r] { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 640px) { .kpi-costi-parametri[b-01b2wrt80r] { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 767.98px) { .kpi-costi-persona[b-01b2wrt80r] { width: 100%; } }
/* /Pages/Kpi/KpiFlotta.razor.rz.scp.css */
/* Uso della flotta: colori dai token di cma-ui.css. */
.kpi-dashboard[b-drom215hg4] { display: grid; gap: var(--ui-space-4); }
.kpi-metric-grid[b-drom215hg4] { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 12rem), 1fr)); gap: var(--ui-space-3); }
.kpi-two-columns[b-drom215hg4] { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--ui-space-4); }
.kpi-table-wrap[b-drom215hg4] { max-height: 560px; }
.kpi-table-wrap td small[b-drom215hg4] { display: block; color: var(--ui-muted); }
.kpi-flotta-tabella th[b-drom215hg4], .kpi-flotta-tabella td[b-drom215hg4] { white-space: nowrap; }
@media (max-width: 900px) { .kpi-two-columns[b-drom215hg4] { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 767.98px) { .kpi-flotta-tabella th[b-drom215hg4], .kpi-flotta-tabella td[b-drom215hg4] { white-space: normal; } }
/* /Pages/Kpi/KpiPersone.razor.rz.scp.css */
/* Presenze del personale: colori dai token di cma-ui.css. */
.kpi-dashboard[b-v0wcvaoul3] { display: grid; gap: var(--ui-space-4); }
.kpi-metric-grid[b-v0wcvaoul3] { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 12rem), 1fr)); gap: var(--ui-space-3); }
.kpi-two-columns[b-v0wcvaoul3] { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--ui-space-4); }
.kpi-persone-filtri[b-v0wcvaoul3] { display: flex; flex-wrap: wrap; align-items: end; gap: var(--ui-space-3); margin-bottom: var(--ui-space-4); }
.kpi-persone-filtri > div[b-v0wcvaoul3] { flex: 1 1 14rem; }
.kpi-table-wrap[b-v0wcvaoul3] { max-height: 640px; }
.kpi-table-wrap td small[b-v0wcvaoul3] { display: block; color: var(--ui-muted); }
.kpi-persone-tabella th[b-v0wcvaoul3], .kpi-persone-tabella td[b-v0wcvaoul3] { white-space: nowrap; }
.kpi-persone-tabella tfoot th[b-v0wcvaoul3], .kpi-persone-tabella tfoot td[b-v0wcvaoul3] { border-top: 2px solid var(--ui-border); background: var(--ui-surface-alt); }
@media (max-width: 900px) { .kpi-two-columns[b-v0wcvaoul3] { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 767.98px) { .kpi-persone-tabella th[b-v0wcvaoul3], .kpi-persone-tabella td[b-v0wcvaoul3] { white-space: normal; } }
/* /Pages/Notifiche/Notifiche.razor.rz.scp.css */
.notifiche-page[b-8mqxm0987n]  .notifiche-dispositivo {
    margin-bottom: var(--ui-space-4);
}

.notifiche-dispositivo__testo[b-8mqxm0987n] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--ui-space-2);
    margin-bottom: var(--ui-space-3);
}

.notifiche-toolbar[b-8mqxm0987n] {
    margin-bottom: var(--ui-space-3);
}

.notifiche-vuoto[b-8mqxm0987n] {
    padding: var(--ui-space-5) var(--ui-space-3);
    border: 1px dashed var(--ui-border);
    border-radius: var(--ui-radius-card);
    color: var(--ui-muted);
    text-align: center;
}

.notifiche-elenco[b-8mqxm0987n] {
    display: grid;
    gap: var(--ui-space-2);
    margin: 0;
    padding: 0;
    list-style: none;
}

.notifiche-voce[b-8mqxm0987n] {
    padding: var(--ui-space-3) var(--ui-space-4);
    border: 1px solid var(--ui-border);
    border-radius: var(--ui-radius-card);
    background: var(--ui-surface);
}

/* Da leggere: bordo sinistro blu e titolo piu' marcato, oltre al punto e al testo nascosto. */
.notifiche-voce.is-nuova[b-8mqxm0987n] {
    border-left: 4px solid var(--ui-link);
}

.notifiche-voce__testata[b-8mqxm0987n] {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    justify-content: space-between;
    gap: var(--ui-space-1) var(--ui-space-3);
}

.notifiche-voce__titolo[b-8mqxm0987n] {
    display: flex;
    align-items: center;
    gap: var(--ui-space-2);
    margin: 0;
    font-size: var(--ui-text-body);
    font-weight: 600;
    color: var(--ui-text);
    overflow-wrap: anywhere;
}

.notifiche-voce.is-nuova .notifiche-voce__titolo[b-8mqxm0987n] {
    font-weight: 800;
}

.notifiche-voce__punto[b-8mqxm0987n] {
    flex: 0 0 auto;
    width: .6rem;
    height: .6rem;
    border-radius: 50%;
    background: var(--ui-link);
}

.notifiche-voce__quando[b-8mqxm0987n] {
    color: var(--ui-muted);
    font-size: var(--ui-text-meta);
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}

.notifiche-voce__testo[b-8mqxm0987n] {
    margin: var(--ui-space-2) 0 0;
    color: var(--ui-text);
    font-size: var(--ui-text-compact);
    white-space: pre-line;
    overflow-wrap: anywhere;
}

.notifiche-voce__azioni[b-8mqxm0987n] {
    display: flex;
    flex-wrap: wrap;
    gap: var(--ui-space-2);
    margin-top: var(--ui-space-3);
}

.notifiche-altre[b-8mqxm0987n] {
    display: flex;
    justify-content: center;
    margin-top: var(--ui-space-4);
}

@media (max-width: 767.98px) {
    .notifiche-voce[b-8mqxm0987n] {
        padding: var(--ui-space-3);
    }

    .notifiche-voce__azioni .btn[b-8mqxm0987n],
    .notifiche-altre .btn[b-8mqxm0987n] {
        flex: 1 1 auto;
        min-height: 44px;
    }
}

.notifiche-dispositivo__azioni[b-8mqxm0987n] {
    display: flex;
    flex-wrap: wrap;
    gap: var(--ui-space-2);
}

.notifiche-dispositivo__esito[b-8mqxm0987n] {
    margin: var(--ui-space-3) 0 0;
    color: var(--ui-muted);
    font-size: var(--ui-text-compact);
}

@media (max-width: 767.98px) {
    .notifiche-dispositivo__azioni .btn[b-8mqxm0987n] {
        flex: 1 1 100%;
        min-height: 44px;
    }
}

.notifiche-preferenze[b-8mqxm0987n] {
    margin-top: var(--ui-space-5);
    scroll-margin-top: 6rem;
}
/* /Pages/Notifiche/RegistroNotifiche.razor.rz.scp.css */
.registro-riepilogo[b-jpufsj69kg] {
    display: flex;
    flex-wrap: wrap;
    gap: var(--ui-space-2);
    margin-bottom: var(--ui-space-3);
}

.registro-filtri[b-jpufsj69kg] {
    margin-bottom: var(--ui-space-3);
}

@media (min-width: 768px) {
    .registro-filtri[b-jpufsj69kg] {
        display: flex;
        gap: var(--ui-space-2);
    }

    .registro-filtri .form-select[b-jpufsj69kg] {
        width: auto;
        min-width: 12rem;
    }
}

.registro-vuoto[b-jpufsj69kg] {
    padding: var(--ui-space-5) var(--ui-space-3);
    border: 1px dashed var(--ui-border);
    border-radius: var(--ui-radius-card);
    color: var(--ui-muted);
    text-align: center;
}

/* Con la barra laterale lo spazio e' poco: colonne brevi su una riga e testi con una
   larghezza minima, la tabella scorre dentro table-responsive invece di spezzare le parole. */
@media (min-width: 768px) {
    .registro-tabella td[data-label="Data"][b-jpufsj69kg],
    .registro-tabella td[data-label="Canale"][b-jpufsj69kg],
    .registro-tabella td[data-label="Stato"][b-jpufsj69kg] {
        white-space: nowrap;
    }

    .registro-tabella td[data-label="Destinatario"][b-jpufsj69kg] {
        min-width: 9rem;
    }

    .registro-tabella td[data-label="Notifica"][b-jpufsj69kg] {
        min-width: 13rem;
    }
}

.registro-titolo[b-jpufsj69kg] {
    display: block;
    font-weight: 600;
    overflow-wrap: anywhere;
}

.registro-evento[b-jpufsj69kg] {
    display: block;
    color: var(--ui-muted);
    font-size: var(--ui-text-meta);
}

.registro-dettaglio[b-jpufsj69kg] {
    min-width: 14rem;
    color: var(--ui-muted);
    font-size: var(--ui-text-compact);
    overflow-wrap: anywhere;
}

@media (min-width: 768px) {
    .registro-tabella .cma-actions-cell[b-jpufsj69kg] {
        width: 1%;
        white-space: nowrap;
    }
}

.registro-altri[b-jpufsj69kg] {
    display: flex;
    justify-content: center;
    margin-top: var(--ui-space-4);
}
/* /Pages/Notifiche/RiepiloghiGiornalieri.razor.rz.scp.css */
.riepiloghi__griglia[b-3bqx3qulc5] { display: grid; grid-template-columns: minmax(15rem, 19rem) minmax(0, 1fr); gap: var(--ui-space-5); align-items: start; }
.riepiloghi__elenco[b-3bqx3qulc5] { border: 1px solid var(--ui-border); border-radius: var(--ui-radius-card); background: var(--ui-surface); padding: var(--ui-space-2); position: sticky; top: var(--ui-space-4); max-height: calc(100vh - 8rem); overflow-y: auto; }
.riepiloghi__elenco ul[b-3bqx3qulc5] { list-style: none; margin: 0; padding: 0; display: grid; gap: 2px; }
.riepiloghi__voce[b-3bqx3qulc5] { display: grid; gap: .3rem; padding: .6rem .75rem; border-radius: var(--ui-radius-control); color: var(--ui-text); text-decoration: none; border-left: 3px solid transparent; }
.riepiloghi__voce:hover[b-3bqx3qulc5] { background: var(--ui-surface-alt); }
.riepiloghi__voce.is-active[b-3bqx3qulc5] { background: var(--ui-surface-alt); border-left-color: var(--ui-brand); }
.riepiloghi__data[b-3bqx3qulc5] { font-weight: 600; }
.riepiloghi__data[b-3bqx3qulc5]::first-letter { text-transform: uppercase; }
.riepiloghi__stati[b-3bqx3qulc5] { display: flex; flex-wrap: wrap; gap: .3rem; }
.riepiloghi__contenuto[b-3bqx3qulc5] { min-width: 0; display: grid; gap: var(--ui-space-3); }
.riepiloghi__indietro[b-3bqx3qulc5] { display: none; }
.riepiloghi__testa[b-3bqx3qulc5] { display: flex; justify-content: space-between; align-items: start; gap: var(--ui-space-3); }
.riepiloghi__testa h2[b-3bqx3qulc5] { font-size: 1.25rem; font-weight: 650; margin: 0 0 .25rem; }
.riepiloghi__testa p[b-3bqx3qulc5] { margin: 0; }
.riepiloghi__frecce[b-3bqx3qulc5] { display: flex; gap: var(--ui-space-1); flex-shrink: 0; }
.riepiloghi__frecce .btn[b-3bqx3qulc5] { min-width: 44px; min-height: 44px; display: inline-flex; align-items: center; justify-content: center; }
.riepiloghi__azioni[b-3bqx3qulc5] { display: flex; flex-wrap: wrap; gap: var(--ui-space-2); }
.riepiloghi__azioni .btn[b-3bqx3qulc5] { min-height: 44px; display: inline-flex; align-items: center; gap: var(--ui-space-2); }
/* La mail e' pensata su sfondo chiaro: resta chiara anche nel tema scuro, come in un client di posta. */
.riepiloghi__mail[b-3bqx3qulc5] { width: 100%; height: min(78vh, 1000px); border: 1px solid var(--ui-border); border-radius: var(--ui-radius-card); background: #fff; }
.riepiloghi__invito[b-3bqx3qulc5], .riepiloghi__vuoto[b-3bqx3qulc5] { display: grid; justify-items: center; gap: var(--ui-space-2); padding: var(--ui-space-5); color: var(--ui-muted); text-align: center; }
.riepiloghi__invito i[b-3bqx3qulc5], .riepiloghi__vuoto i[b-3bqx3qulc5] { font-size: 1.5rem; }
.riepiloghi__invito p[b-3bqx3qulc5], .riepiloghi__vuoto p[b-3bqx3qulc5] { margin: 0; }

/* Telefono e tablet: o l'elenco o il riepilogo, con "Tutti i riepiloghi" per tornare. */
@media (max-width: 991px) {
    .riepiloghi__griglia[b-3bqx3qulc5] { grid-template-columns: minmax(0, 1fr); }
    .riepiloghi__elenco[b-3bqx3qulc5] { position: static; max-height: none; }
    .riepiloghi:not(.riepiloghi--dettaglio) .riepiloghi__contenuto[b-3bqx3qulc5] { display: none; }
    .riepiloghi--dettaglio .riepiloghi__elenco[b-3bqx3qulc5] { display: none; }
    .riepiloghi__indietro[b-3bqx3qulc5] { display: inline-flex; }
}
@media (max-width: 575px) {
    .riepiloghi__azioni .btn[b-3bqx3qulc5] { flex: 1 1 100%; justify-content: center; }
}
/* /Pages/Notifiche/RiepilogoGiornaliero.razor.rz.scp.css */
.riepilogo-prova[b-73bkmj2q5w] { display: grid; gap: var(--ui-space-4); min-width: 0; border: 1px solid var(--ui-border); border-radius: var(--ui-radius-card); padding: var(--ui-space-5); background: var(--ui-surface); margin-bottom: 1.25rem; }
.riepilogo-prova__testa h2[b-73bkmj2q5w] { font-size: 1.1rem; font-weight: 650; margin: 0 0 .25rem; }
.riepilogo-prova__testa p[b-73bkmj2q5w] { color: var(--ui-muted); font-size: .875rem; margin: 0; }
.riepilogo-prova__campi[b-73bkmj2q5w] { display: flex; align-items: end; flex-wrap: wrap; gap: var(--ui-space-4); border-top: 1px solid var(--ui-border); padding-top: 1.1rem; }
.riepilogo-prova__date[b-73bkmj2q5w] { display: grid; grid-template-columns: minmax(0, 12rem) auto minmax(0, 12rem); align-items: end; gap: var(--ui-space-3); min-width: 0; }
.riepilogo-prova__date > div[b-73bkmj2q5w] { min-width: 0; }
.riepilogo-prova__freccia[b-73bkmj2q5w] { padding-bottom: .65rem; color: var(--ui-muted); }
.riepilogo-prova__ia[b-73bkmj2q5w] { min-height: 44px; display: flex; align-items: center; gap: var(--ui-space-2); margin: 0; }
.riepilogo-prova__genera[b-73bkmj2q5w] { display: inline-flex; align-items: center; gap: var(--ui-space-2); min-height: 44px; margin-left: auto; }
.riepilogo-attesa[b-73bkmj2q5w] { display: flex; align-items: center; gap: var(--ui-space-4); padding: var(--ui-space-4) var(--ui-space-5); border: 1px solid var(--ui-border); border-radius: var(--ui-radius-card); background: var(--ui-surface); }
.riepilogo-attesa > div[b-73bkmj2q5w] { flex: 1; min-width: 0; }
.riepilogo-attesa p[b-73bkmj2q5w] { margin: .25rem 0 0; }
.riepilogo-esito[b-73bkmj2q5w] { display: grid; gap: var(--ui-space-3); }
.riepilogo-esito__stato[b-73bkmj2q5w] { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem 1rem; }
.riepilogo-esito__azioni[b-73bkmj2q5w] { display: flex; flex-wrap: wrap; gap: var(--ui-space-2); }
.riepilogo-esito__azioni .btn[b-73bkmj2q5w] { min-height: 44px; display: inline-flex; align-items: center; gap: var(--ui-space-2); }
/* La mail e' pensata su sfondo chiaro: resta chiara anche nel tema scuro, come in un client di posta. */
.riepilogo-anteprima[b-73bkmj2q5w] { width: 100%; height: min(75vh, 900px); border: 1px solid var(--ui-border); border-radius: var(--ui-radius-card); background: #fff; }
.riepilogo-invito[b-73bkmj2q5w] { display: flex; align-items: center; justify-content: center; gap: var(--ui-space-4); padding: var(--ui-space-5); color: var(--ui-muted); }
.riepilogo-invito > i[b-73bkmj2q5w] { font-size: 1.5rem; }
.riepilogo-invito strong[b-73bkmj2q5w] { color: var(--ui-text); font-size: .9375rem; }
.riepilogo-invito p[b-73bkmj2q5w] { margin: .25rem 0 0; font-size: .875rem; }
.riepilogo-vuoto[b-73bkmj2q5w] { padding: 2rem 1rem; background: var(--ui-surface); border-radius: var(--ui-radius-card); text-align: center; }
@media (max-width: 575px) {
    .riepilogo-prova[b-73bkmj2q5w] { padding: var(--ui-space-4); }
    .riepilogo-prova__date[b-73bkmj2q5w] { width: 100%; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); gap: .4rem; }
    .riepilogo-prova__genera[b-73bkmj2q5w], .riepilogo-esito__azioni .btn[b-73bkmj2q5w] { width: 100%; justify-content: center; }
    .riepilogo-attesa[b-73bkmj2q5w] { flex-wrap: wrap; padding: var(--ui-space-4); }
    .riepilogo-attesa .btn[b-73bkmj2q5w] { width: 100%; }
    .riepilogo-invito[b-73bkmj2q5w] { align-items: start; justify-content: start; padding: 1rem .25rem; }
}
/* /Pages/Offerte/ConfigurazioneOfferte.razor.rz.scp.css */
.configurazione-offerte__schede[b-32mddo6f7t] {
    margin-bottom: var(--ui-space-3);
}

.configurazione-offerte__schema[b-32mddo6f7t] {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: var(--ui-space-2) var(--ui-space-3);
    margin-bottom: var(--ui-space-3);
}

.configurazione-offerte__schema .form-select[b-32mddo6f7t] {
    width: auto;
    min-width: 16rem;
}

.configurazione-offerte__condizioni[b-32mddo6f7t] {
    display: flex;
    flex-direction: column;
    gap: var(--ui-space-2);
    margin: 0 0 var(--ui-space-3);
    padding: 0;
    list-style: none;
}

.configurazione-offerte__condizioni li[b-32mddo6f7t] {
    display: grid;
    grid-template-columns: 13rem minmax(0, 1fr) auto;
    gap: var(--ui-space-2);
    align-items: start;
}

.configurazione-offerte__etichetta[b-32mddo6f7t] {
    font-weight: 600;
}

/* Il testo cresce con il contenuto, come nell'editor delle offerte. */
.configurazione-offerte__testo[b-32mddo6f7t] {
    field-sizing: content;
    min-height: 5.5rem;
    max-height: 22rem;
}

.configurazione-offerte__comandi[b-32mddo6f7t] {
    display: flex;
    gap: var(--ui-space-1);
}

@media (max-width: 767.98px) {
    .configurazione-offerte__condizioni li[b-32mddo6f7t] {
        grid-template-columns: minmax(0, 1fr) auto;
    }

    .configurazione-offerte__testo[b-32mddo6f7t] {
        grid-column: 1 / -1;
        grid-row: 2;
    }
}
/* /Pages/Offerte/EditorOfferta.razor.rz.scp.css */
/* Editor dell'offerta: indice | modifica | anteprima da 1200 px; sotto, una vista alla volta. */
.editor-offerta__griglia[b-gt9u799fn9] {
    display: grid;
    grid-template-columns: 220px minmax(0, 1.4fr) minmax(0, 1fr);
    gap: var(--ui-space-4);
    align-items: start;
}

.editor-offerta__indice[b-gt9u799fn9],
.editor-offerta__anteprima[b-gt9u799fn9] {
    /* Sotto la testata del gestionale, che resta in alto mentre si scorre. */
    position: sticky;
    top: 8rem;
    max-height: calc(100vh - 9rem);
    overflow: auto;
    min-width: 0;
}

/* Sticky crea un contesto di sovrapposizione: una finestra aperta da indice o anteprima (es.
   "Eliminare il capitolo?") resterebbe sotto la colonna centrale. Con la finestra aperta la
   colonna sale sopra il resto della pagina. */
.editor-offerta__indice:has(.cma-modal-overlay)[b-gt9u799fn9],
.editor-offerta__anteprima:has(.cma-modal-overlay)[b-gt9u799fn9] {
    z-index: 1200;
}

.editor-offerta__editor[b-gt9u799fn9] {
    display: flex;
    flex-direction: column;
    gap: var(--ui-space-3);
    min-width: 0;
}

.editor-offerta__barra[b-gt9u799fn9] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--ui-space-2);
}

.editor-offerta__schede[b-gt9u799fn9] {
    display: none;
}

.editor-offerta__vista[b-gt9u799fn9] {
    margin-bottom: var(--ui-space-3);
}

.editor-offerta__interno[b-gt9u799fn9] {
    margin-left: var(--ui-space-1);
    padding: 1px 6px;
    border-radius: var(--ui-radius-badge);
    background: var(--ui-brand-soft);
    color: var(--ui-brand-text);
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

.editor-offerta__nota[b-gt9u799fn9] {
    white-space: pre-line;
}

.editor-offerta__schede[b-gt9u799fn9],
.editor-offerta__mostra[b-gt9u799fn9] {
    margin-bottom: var(--ui-space-3);
}

.editor-offerta__mostra[b-gt9u799fn9] {
    margin-left: auto;
}

/* Anteprima nascosta: la colonna di modifica prende anche il suo spazio. */
@media (min-width: 1200px) {
    .editor-offerta__griglia[data-anteprima="nascosta"][b-gt9u799fn9] {
        grid-template-columns: 220px minmax(0, 1fr);
    }

    .editor-offerta__griglia[data-anteprima="nascosta"] .editor-offerta__anteprima[b-gt9u799fn9] {
        display: none;
    }
}

.editor-offerta__anteprima-testa[b-gt9u799fn9] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--ui-space-2);
    margin-bottom: var(--ui-space-2);
}

.editor-offerta__anteprima-testa h2[b-gt9u799fn9] {
    flex: 1;
    margin: 0;
    font-size: 1.125rem;
}

.editor-offerta__campi[b-gt9u799fn9] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--ui-space-3);
}

.editor-offerta__campi .largo[b-gt9u799fn9] {
    grid-column: 1 / -1;
}

/* Stato del salvataggio accanto alle azioni: puntino colorato e testo. */
.editor-offerta__salvataggio[b-gt9u799fn9] {
    display: inline-flex;
    align-items: center;
    gap: var(--ui-space-2);
    color: var(--ui-muted);
    font-size: 0.8125rem;
    white-space: nowrap;
}

.editor-offerta__salvataggio:empty[b-gt9u799fn9] {
    display: none;
}

.editor-offerta__salvataggio[b-gt9u799fn9]::before {
    content: "";
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--ui-success);
    flex: none;
}

.editor-offerta__salvataggio[data-stato="da-salvare"][b-gt9u799fn9]::before,
.editor-offerta__salvataggio[data-stato="in-corso"][b-gt9u799fn9]::before {
    background: var(--ui-brand);
}

.editor-offerta__salvataggio[data-stato="errore"][b-gt9u799fn9] {
    color: var(--ui-danger);
}

.editor-offerta__salvataggio[data-stato="errore"][b-gt9u799fn9]::before {
    background: var(--ui-danger);
}

.editor-offerta__fasi[b-gt9u799fn9] {
    display: flex;
    flex-wrap: wrap;
    gap: var(--ui-space-1);
    margin: 0 0 var(--ui-space-3);
    padding: 0;
    list-style: none;
}

.editor-offerta__fasi li[b-gt9u799fn9] {
    padding: 2px var(--ui-space-3);
    border: 1px solid var(--ui-border);
    border-radius: 999px;
    background: var(--ui-surface-alt);
    color: var(--ui-muted);
    font-size: 0.8125rem;
}

.editor-offerta__fasi li.fatta[b-gt9u799fn9] {
    border-color: transparent;
    background: var(--ui-success-bg);
    color: var(--ui-success);
}

.editor-offerta__fasi li.ora[b-gt9u799fn9] {
    border-color: var(--ui-brand);
    background: var(--ui-brand-soft);
    color: var(--ui-brand-text);
    font-weight: 700;
}

.editor-offerta__storia[b-gt9u799fn9] {
    display: flex;
    flex-direction: column;
    gap: var(--ui-space-2);
    margin: 0;
    padding: 0;
    list-style: none;
}

.editor-offerta__storia p[b-gt9u799fn9] {
    margin: var(--ui-space-1) 0 0;
    white-space: pre-line;
}

.editor-offerta__storia .cma-meta[b-gt9u799fn9] {
    margin-left: var(--ui-space-2);
}

.editor-offerta__finestra[b-gt9u799fn9] {
    text-align: left;
}

@media (max-width: 1199.98px) {
    .editor-offerta__griglia[b-gt9u799fn9] {
        grid-template-columns: minmax(0, 1fr);
    }

    .editor-offerta__schede[b-gt9u799fn9] {
        display: flex;
    }

    /* Su schermi stretti l'anteprima e' gia' una scheda a parte: niente pulsanti per nasconderla. */
    .editor-offerta__mostra[b-gt9u799fn9],
    .editor-offerta__nascondi[b-gt9u799fn9] {
        display: none;
    }

    .editor-offerta__indice[b-gt9u799fn9],
    .editor-offerta__anteprima[b-gt9u799fn9] {
        position: static;
        max-height: none;
        overflow: visible;
    }

    .editor-offerta__griglia:not([data-vista="Indice"]) .editor-offerta__indice[b-gt9u799fn9],
    .editor-offerta__griglia:not([data-vista="Modifica"]) .editor-offerta__editor[b-gt9u799fn9],
    .editor-offerta__griglia:not([data-vista="Anteprima"]) .editor-offerta__anteprima[b-gt9u799fn9] {
        display: none;
    }
}

@media (max-width: 767.98px) {
    .editor-offerta__campi[b-gt9u799fn9] {
        grid-template-columns: minmax(0, 1fr);
    }
}

.editor-offerta__effetti[b-gt9u799fn9] {
    margin: var(--ui-space-3) 0 0;
    padding-left: 1.2rem;
    font-size: 0.875rem;
}
/* /Pages/Offerte/RicercaOfferte.razor.rz.scp.css */
.ricerca-offerte__pagine[b-novte98nfu] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: var(--ui-space-3);
    margin-top: var(--ui-space-3);
}
/* /Pages/OrdiniFornitori/DettaglioOrdineFornitore.razor.rz.scp.css */
/* Solo la disposizione propria del dettaglio ordine; sezioni, campi, totali e
   tabella usano le classi condivise di cma-ui.css. */
.ordine-summary[b-gjzg1j6ddl] { display: flex; flex-wrap: wrap; align-items: center; gap: var(--ui-space-2) var(--ui-space-3); margin: calc(-1 * var(--ui-space-2)) 0 var(--ui-space-4); }
.ordine-indirizzi[b-gjzg1j6ddl] { display: grid; gap: var(--ui-space-3); grid-template-columns: repeat(auto-fit, minmax(16rem, 1fr)); }
.ordine-indirizzo[b-gjzg1j6ddl] { padding: var(--ui-space-3); background: var(--ui-surface-alt); border-radius: var(--ui-radius-control); }
.ordine-indirizzo__title[b-gjzg1j6ddl] { display: flex; flex-wrap: wrap; align-items: center; gap: var(--ui-space-2); font-size: var(--ui-text-compact); font-weight: 600; margin: 0 0 var(--ui-space-2); }
.ordine-note[b-gjzg1j6ddl] { white-space: pre-line; }
.ordine-page[b-gjzg1j6ddl]  .ordine-righe td:nth-child(2) { min-width: 14rem; }
/* Accanto a Modifica e Stampa, "Altro" mantiene l'altezza dei pulsanti della testata. */
.ordine-page[b-gjzg1j6ddl]  .ordine-more-toggle { min-height: 40px; }
/* /Pages/OrdiniFornitori/ListaOrdiniFornitori.razor.rz.scp.css */
/* Solo cio' che e' proprio dell'elenco ordini: il resto e' nelle classi condivise
   di cma-ui.css (barra filtri, viste, tabella, schede, stati, azioni di riga). */

/* Numero e data non vanno a capo; il fornitore prende lo spazio che resta. */
.ordini-page[b-ny7hpiyn32]  .ordini-table td:first-child { min-width: 7.5rem; white-space: nowrap; }
.ordini-page[b-ny7hpiyn32]  .ordini-table td:nth-child(2) { min-width: 10rem; max-width: 22rem; }
.ordini-page[b-ny7hpiyn32]  .ordini-table td:nth-child(3) { min-width: 7rem; }
.ordini-page[b-ny7hpiyn32]  .ordini-table .cma-status { white-space: nowrap; }

@media (min-width: 768px) {
    .ordini-page[b-ny7hpiyn32]  .ordini-filter-date { width: 9.5rem; }
}
/* /Pages/OrdiniFornitori/RicezioneOrdiniFornitori.razor.rz.scp.css */
/* Disposizione propria della ricezione: un riquadro per ordine con le righe da
   spuntare. Colori, tabella e stati vengono da cma-ui.css. */
.ricezione-ordini[b-xhm97xggky] { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--ui-space-4); }
.ricezione-ordine[b-xhm97xggky] { overflow: hidden; }
.ricezione-ordine.is-dirty[b-xhm97xggky] { border-color: var(--ui-warning); box-shadow: inset 3px 0 0 var(--ui-warning); }
.ricezione-ordine__head[b-xhm97xggky] { display: flex; flex-wrap: wrap; justify-content: space-between; gap: var(--ui-space-3); padding: var(--ui-space-3) var(--ui-space-4); border-bottom: 1px solid var(--ui-border); }
.ricezione-ordine__state[b-xhm97xggky] { text-align: right; }
.ricezione-ordine__actions[b-xhm97xggky] { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: var(--ui-space-2); padding: var(--ui-space-3) var(--ui-space-4); border-top: 1px solid var(--ui-border); }
.ricezione-ordine__bulk[b-xhm97xggky], .ricezione-ordine__save[b-xhm97xggky] { display: flex; flex-wrap: wrap; align-items: center; gap: var(--ui-space-2); }
.ricezione-ordine__save[b-xhm97xggky] { margin-left: auto; }

/* La casella di spunta e' l'azione di ogni riga: area di tocco ampia e riga
   evidenziata quando la merce e' arrivata. */
.ricezione-check[b-xhm97xggky] { width: 1%; white-space: nowrap; }
.ricezione-check .form-check-input[b-xhm97xggky] { width: 1.35rem; height: 1.35rem; margin: 0; cursor: pointer; vertical-align: middle; }
.ricezione-check__label[b-xhm97xggky] { cursor: pointer; }
.ricezione-check__text[b-xhm97xggky] { display: none; }
.ricezione-righe tr.is-received td[b-xhm97xggky] { color: var(--ui-muted); }

@media (max-width: 767.98px) {
    .ricezione-ordine__state[b-xhm97xggky] { text-align: left; }
    .ricezione-ordine__save[b-xhm97xggky] { margin-left: 0; width: 100%; }
    .ricezione-ordine__save .btn-primary[b-xhm97xggky] { flex: 1 1 auto; min-height: 44px; }
    /* In scheda la spunta diventa un interruttore con testo, largo quanto la riga. */
    .ricezione-righe td.ricezione-check[b-xhm97xggky] { display: flex; align-items: center; gap: var(--ui-space-3); width: auto; min-height: 44px; }
    .ricezione-check__label[b-xhm97xggky] { display: flex; align-items: center; flex: 1; min-height: 44px; }
    .ricezione-check__text[b-xhm97xggky] { display: inline; font-weight: 600; }
}
@media (min-width: 768px) {
    .ricezione-page[b-xhm97xggky]  .ricezione-filter-date { width: 9.5rem; }
}
/* /Pages/OrdiniFornitori/SchedaOrdineFornitore.razor.rz.scp.css */
/* Disposizione propria della scheda ordine. Colori di campi, menu dei suggerimenti
   e tabelle vengono dai token di cma-ui.css (alias --color-* ridefiniti nell'ambito):
   le vecchie regole con la sintassi ::deep(...) non erano mai applicate. */
.ordine-righe-list[b-33winxk2kl] {
    display: grid;
    /* minmax(0, ...): senza, la tabella larga allargherebbe la griglia e l'intera
       pagina invece di scorrere dentro table-responsive. */
    grid-template-columns: minmax(0, 1fr);
    gap: var(--ui-space-4);
}

/* Un gruppo di righe con la stessa destinazione. */
.ordine-riga-card[b-33winxk2kl] {
    min-width: 0;
    border: 1px solid var(--ui-border);
    border-radius: var(--ui-radius-card);
    padding: var(--ui-space-4);
    background: var(--ui-surface-alt);
    color: var(--ui-text);
}

.ordine-gruppo-actions[b-33winxk2kl] {
    display: flex;
    flex-wrap: wrap;
    gap: var(--ui-space-3);
    align-items: end;
}

.ordine-gruppo-selector[b-33winxk2kl] {
    min-width: min(100%, 22rem);
    flex: 1 1 18rem;
}

.ordine-gruppo-selector-sm[b-33winxk2kl] {
    min-width: min(100%, 12rem);
    flex: 0 1 14rem;
}

.ordine-destinazione-readonly[b-33winxk2kl] {
    background: var(--ui-surface-alt);
    color: var(--ui-text);
    border-color: var(--ui-border);
}

.nuovo-fornitore-card[b-33winxk2kl] {
    display: grid;
    gap: var(--ui-space-3);
    padding: var(--ui-space-4);
    background: var(--ui-surface-alt);
    border: 1px solid var(--ui-border);
    border-radius: var(--ui-radius-card);
}

.nuovo-fornitore-tabs[b-33winxk2kl] {
    gap: var(--ui-space-2);
}

.scheda-ordine-auto[b-33winxk2kl] {
    padding: var(--ui-space-3) var(--ui-space-4);
    background: var(--ui-surface-alt);
    border-radius: var(--ui-radius-control);
}

/* Righe: i campi hanno una larghezza minima leggibile (un importo intero, un codice);
   se lo spazio non basta la tabella scorre dentro il proprio riquadro. Senza minimi
   la tabella comprimeva i campi fino a nascondere le cifre. */
@media (min-width: 768px) {
    .scheda-righe[b-33winxk2kl]  .scheda-riga-numero .form-control { min-width: 3.75rem; }
    .scheda-righe .scheda-riga-codice[b-33winxk2kl] { min-width: 14rem; }
    .scheda-righe td:nth-child(3)[b-33winxk2kl]  .form-control { min-width: 14rem; }
    .scheda-righe td:nth-child(4)[b-33winxk2kl]  .form-control { min-width: 4.5rem; }
}
.scheda-righe td:nth-child(n+5):nth-child(-n+8)[b-33winxk2kl]  .form-control { text-align: right; }
@media (min-width: 768px) { .scheda-righe td:nth-child(n+5):nth-child(-n+8)[b-33winxk2kl]  .form-control { min-width: 6.5rem; } }
.scheda-riga-rimuovi__text[b-33winxk2kl] { display: none; }


@media (max-width: 767.98px) {
    .ordine-riga-card[b-33winxk2kl] { padding: var(--ui-space-3); }
    /* In scheda i campi occupano la larghezza e Rimuovi e' esplicito. */
    /* Codice e descrizione hanno bisogno di tutta la larghezza: etichetta sopra il campo. */
    .scheda-righe td.scheda-riga-codice[b-33winxk2kl], .scheda-righe td.scheda-riga-descrizione[b-33winxk2kl] { grid-template-columns: minmax(0, 1fr); gap: var(--ui-space-1); }
    .scheda-riga-rimuovi__text[b-33winxk2kl] { display: inline; margin-left: var(--ui-space-1); }
    .scheda-righe td.scheda-riga-rimuovi .btn[b-33winxk2kl] { width: 100%; min-height: 44px; }
}
/* /Pages/Permessi/AggiungiPermessi.razor.rz.scp.css */
/* Disposizione propria di "Aggiungi permessi"; il resto da cma-ui.css. */
.permessi-admin-grid[b-w4k9ag9zcv] { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); gap: var(--ui-space-4); align-items: start; }
@media (max-width: 991.98px) { .permessi-admin-grid[b-w4k9ag9zcv] { grid-template-columns: minmax(0, 1fr); } }
.permessi-admin-user-actions[b-w4k9ag9zcv] { display: flex; flex-direction: column; gap: var(--ui-space-2); margin-bottom: var(--ui-space-3); }
.permessi-admin-action-buttons[b-w4k9ag9zcv] { display: flex; flex-wrap: wrap; gap: var(--ui-space-2); }
.permessi-admin-user-list[b-w4k9ag9zcv] { max-height: 26rem; overflow: auto; border: 1px solid var(--ui-border); border-radius: var(--ui-radius-control); padding: var(--ui-space-1); }
.permessi-admin-user-item[b-w4k9ag9zcv] { display: flex; align-items: center; gap: var(--ui-space-2); min-height: 40px; padding: 0 var(--ui-space-2); border-radius: var(--ui-radius-badge); }
.permessi-admin-user-item:hover[b-w4k9ag9zcv] { background: var(--ui-surface-alt); }
.permessi-admin-user-item .form-check-input[b-w4k9ag9zcv] { margin: 0; flex: 0 0 auto; }
.permessi-admin-user-name[b-w4k9ag9zcv] { flex: 1 1 auto; min-width: 0; margin: 0; cursor: pointer; overflow-wrap: anywhere; }
@media (pointer: coarse) { .permessi-admin-user-item[b-w4k9ag9zcv] { min-height: 44px; } }
.permessi-admin-summary[b-w4k9ag9zcv] { padding: var(--ui-space-3); background: var(--ui-surface-alt); border-radius: var(--ui-radius-control); }
.permessi-admin-submit[b-w4k9ag9zcv] { display: flex; justify-content: flex-end; }
@media (max-width: 575.98px) { .permessi-admin-submit .btn[b-w4k9ag9zcv] { width: 100%; min-height: 44px; } }
/* /Pages/Permessi/GestioneRichiestePermessi.razor.rz.scp.css */
/* Disposizione propria delle richieste di permesso; il resto da cma-ui.css. */
.richieste-date[b-nyaxc2mf6i] { flex: 1 1 100%; margin-top: var(--ui-space-3); border-top: 1px solid var(--ui-border); padding-top: var(--ui-space-2); }
.richieste-date summary[b-nyaxc2mf6i] { color: var(--ui-link); cursor: pointer; padding: var(--ui-space-1) 0; }
.richieste-date__griglia[b-nyaxc2mf6i] { display: grid; gap: var(--ui-space-2); margin-top: var(--ui-space-2); }
.richieste-date__coppia[b-nyaxc2mf6i] { display: flex; flex-wrap: wrap; align-items: center; gap: var(--ui-space-2); padding-left: var(--ui-space-5); }
.richieste-date__coppia .form-label[b-nyaxc2mf6i] { margin: 0; color: var(--ui-muted); font-size: var(--ui-text-compact); position: static; width: auto; height: auto; clip: auto; overflow: visible; }
.richieste-date__coppia .form-control[b-nyaxc2mf6i] { width: auto; flex: 1 1 12rem; }
@media (min-width: 768px) { .richieste-date[b-nyaxc2mf6i] { order: 6; } }
/* /Pages/Permessi/RichiestePermessiProprie.razor.rz.scp.css */
/* Disposizione propria di "I miei permessi"; il resto da cma-ui.css. */
.permessi-periodo[b-kmd6ztm4ea] { margin-left: auto; }
.permessi-periodo summary[b-kmd6ztm4ea] { color: var(--ui-link); cursor: pointer; padding: var(--ui-space-1) var(--ui-space-2); }
.permessi-periodo__campi[b-kmd6ztm4ea] { display: flex; flex-wrap: wrap; align-items: center; gap: var(--ui-space-2); margin-top: var(--ui-space-2); }
.permessi-periodo__campi .form-label[b-kmd6ztm4ea] { margin: 0; color: var(--ui-muted); font-size: var(--ui-text-compact); }
.permessi-periodo__campi .form-control[b-kmd6ztm4ea] { width: auto; flex: 1 1 12rem; }
@media (max-width: 767.98px) { .permessi-periodo[b-kmd6ztm4ea] { margin-left: 0; width: 100%; } }
/* /Pages/Produzione/ListaTemplates.razor.rz.scp.css */
/* Disposizione propria dei modelli targhette; il resto da cma-ui.css. */
.modelli-campi[b-mbw1gx8cbt] { margin-top: var(--ui-space-4); display: grid; grid-template-columns: repeat(auto-fill, minmax(9rem, 1fr)); gap: var(--ui-space-2); }
.modelli-campi legend[b-mbw1gx8cbt] { grid-column: 1 / -1; font-size: var(--ui-text-body); }
.modelli-campi .form-check[b-mbw1gx8cbt] { min-height: 32px; display: flex; align-items: center; gap: var(--ui-space-2); }
/* /Pages/Produzione/TarghetteCommessa.razor.rz.scp.css */
/* Disposizione propria delle targhette; colori e superfici da cma-ui.css. */
.targhette-grid[b-sqk0881y7o] { display: grid; gap: var(--ui-space-4); grid-template-columns: repeat(auto-fill, minmax(min(100%, 20rem), 1fr)); }
.targhetta-card[b-sqk0881y7o] { min-width: 0; }
.targhetta-card__head[b-sqk0881y7o] { display: flex; justify-content: space-between; align-items: flex-start; gap: var(--ui-space-2); padding: var(--ui-space-3) var(--ui-space-3) var(--ui-space-3) var(--ui-space-4); border-bottom: 1px solid var(--ui-border); }
.targhetta-card__head .min-w-0[b-sqk0881y7o] { min-width: 0; overflow-wrap: anywhere; }
.targhette-page .targhetta-fields[b-sqk0881y7o] { grid-template-columns: minmax(6rem, 40%) minmax(0, 1fr); gap: var(--ui-space-1) var(--ui-space-3); font-size: var(--ui-text-compact); }
/* /Pages/Programmazione/AttivitaSvolte.razor.rz.scp.css */
/* Disposizione propria di giornata e registro; colori, stati e tabelle da cma-ui.css. */
.giornata-toolbar[b-c91k1rydm5] { justify-content: space-between; }
.giornata-toolbar__giorno[b-c91k1rydm5] { display: flex; align-items: center; gap: var(--ui-space-1); }
.giornata-toolbar__giorno .form-control[b-c91k1rydm5] { width: auto; }
.giornata-toolbar__persona .form-select[b-c91k1rydm5] { min-width: 14rem; }
.giornata-titolo[b-c91k1rydm5] { display: flex; align-items: flex-end; justify-content: space-between; gap: var(--ui-space-3); margin-bottom: var(--ui-space-3); }
.giornata-titolo h2[b-c91k1rydm5] { margin: 0; font-size: var(--ui-text-section); }
.giornata-lista[b-c91k1rydm5] { display: grid; gap: var(--ui-space-3); margin: 0; padding: 0; list-style: none; }
.giornata-lista li[b-c91k1rydm5] { display: grid; gap: var(--ui-space-1); justify-items: start; padding-bottom: var(--ui-space-3); border-bottom: 1px solid var(--ui-border); }
.giornata-lista li:last-child[b-c91k1rydm5] { padding-bottom: 0; border-bottom: 0; }
.giornata-lista p[b-c91k1rydm5] { margin: 0; }
.attivita-contenuto[b-c91k1rydm5] { overflow-wrap: anywhere; }
.attivita-contenuto[b-c91k1rydm5]  p:last-child { margin-bottom: 0; }
.attivita-page[b-c91k1rydm5]  .registro-table td:last-child { min-width: 16rem; }
.attivita-page[b-c91k1rydm5]  .is-eliminata { opacity: .65; }
.attivita-finestra[b-c91k1rydm5] { text-align: left; }
.attivita-campi[b-c91k1rydm5] { display: grid; gap: var(--ui-space-3); grid-template-columns: repeat(2, minmax(0, 1fr)); }
.attivita-campi__largo[b-c91k1rydm5] { grid-column: 1 / -1; }
@media (max-width: 767.98px) {
    .giornata-toolbar__giorno .form-control[b-c91k1rydm5] { flex: 1 1 auto; min-width: 0; }
    .giornata-toolbar__persona .form-select[b-c91k1rydm5] { min-width: 0; width: 100%; }
    .attivita-campi[b-c91k1rydm5] { grid-template-columns: minmax(0, 1fr); }
}
/* /Pages/Programmazione/MyWeeklySchedule.razor.rz.scp.css */
/* Settimana del proprio programma: disposizione dei giorni e delle voci.
   Colori dai token di cma-ui.css; il colore di ogni voce e' quello scelto
   per la commessa (stile in linea, dati dell'utente). */
.programma-toolbar[b-edqm27jcqe] { justify-content: space-between; }
.programma-toolbar__settimana[b-edqm27jcqe] { display: flex; flex-wrap: wrap; align-items: center; gap: var(--ui-space-2); }
.programma-toolbar__settimana .form-control[b-edqm27jcqe] { width: auto; }

.programma-settimana[b-edqm27jcqe] { display: grid; gap: var(--ui-space-3); grid-template-columns: repeat(7, minmax(0, 1fr)); }
.programma-giorno[b-edqm27jcqe] {
    display: flex;
    flex-direction: column;
    gap: var(--ui-space-2);
    min-width: 0;
    padding: var(--ui-space-2);
    border: 1px solid var(--ui-border);
    border-radius: var(--ui-radius-control);
    background: var(--ui-surface);
}
.programma-giorno.is-oggi[b-edqm27jcqe] { border-color: var(--ui-brand); box-shadow: inset 0 3px 0 var(--ui-brand); }
.programma-giorno.is-vuoto[b-edqm27jcqe] { background: var(--ui-surface-alt); }
.programma-giorno__apri[b-edqm27jcqe] {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: baseline;
    gap: 0 var(--ui-space-2);
    width: 100%;
    min-height: 44px;
    padding: var(--ui-space-1);
    border: 0;
    border-radius: var(--ui-radius-control);
    background: transparent;
    color: var(--ui-text);
    text-align: left;
}
.programma-giorno__apri:hover[b-edqm27jcqe] { background: var(--ui-surface-alt); }
.programma-giorno__nome[b-edqm27jcqe] { font-weight: 700; text-transform: capitalize; }
.programma-giorno__nome[b-edqm27jcqe], .programma-giorno__data[b-edqm27jcqe] { grid-column: 1; min-width: 0; }
.programma-giorno__freccia[b-edqm27jcqe] { grid-column: 2; grid-row: 1; color: var(--ui-muted); }
.programma-giorno__conteggi[b-edqm27jcqe] { grid-column: 1 / -1; display: flex; flex-wrap: wrap; align-items: center; gap: var(--ui-space-1); margin-top: var(--ui-space-1); }
.programma-giorno__conteggi .cma-status[b-edqm27jcqe] { max-width: 100%; }
.programma-giorno__vuoto[b-edqm27jcqe] { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: var(--ui-space-2); margin-top: auto; padding: 0 var(--ui-space-1); }
.programma-giorno__aggiungi[b-edqm27jcqe] { display: inline-flex; align-items: center; align-self: flex-start; margin-top: auto; font-size: var(--ui-text-compact); text-decoration: none; }
.programma-giorno__vuoto .programma-giorno__aggiungi[b-edqm27jcqe] { margin-top: 0; }

.programma-voci[b-edqm27jcqe] { display: grid; gap: var(--ui-space-1); margin: 0; padding: 0; list-style: none; }
.programma-voce[b-edqm27jcqe] {
    display: grid;
    gap: 2px;
    padding: var(--ui-space-2);
    border-radius: 6px;
    background: var(--ui-surface-alt);
    color: var(--ui-text);
    overflow-wrap: anywhere;
}
.programma-voce strong[b-edqm27jcqe] { font-size: var(--ui-text-compact); line-height: 1.3; }
.programma-voce small[b-edqm27jcqe] { opacity: .85; font-size: var(--ui-text-meta); }
.programma-voce__stato[b-edqm27jcqe] { justify-self: start; max-width: 100%; margin-top: 2px; }
.programma-voci--dettaglio .programma-voce[b-edqm27jcqe] { padding: var(--ui-space-3); }
.programma-voce__testa[b-edqm27jcqe] { display: flex; justify-content: space-between; align-items: flex-start; gap: var(--ui-space-2); }
.programma-voce__azioni[b-edqm27jcqe] { display: flex; flex-wrap: wrap; gap: var(--ui-space-2); margin-top: var(--ui-space-2); }

.programma-finestra[b-edqm27jcqe] { text-align: left; }
.programma-finestra__sezione[b-edqm27jcqe] { margin: var(--ui-space-4) 0 var(--ui-space-2); color: var(--ui-muted); font-size: var(--ui-text-label); font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
.programma-finestra__sezione:first-child[b-edqm27jcqe] { margin-top: 0; }
.programma-svolte[b-edqm27jcqe] { display: grid; gap: var(--ui-space-3); margin: 0; padding: 0; list-style: none; }
.programma-svolte li[b-edqm27jcqe] { display: grid; gap: var(--ui-space-2); justify-items: start; padding-bottom: var(--ui-space-3); border-bottom: 1px solid var(--ui-border); }
.programma-svolte__testa[b-edqm27jcqe] { display: flex; flex-wrap: wrap; gap: var(--ui-space-1) var(--ui-space-2); align-items: baseline; }
.programma-svolte__testo[b-edqm27jcqe] { overflow-wrap: anywhere; }
.programma-svolte__testo[b-edqm27jcqe]  p:last-child { margin-bottom: 0; }
.programma-modifica[b-edqm27jcqe] { width: 100%; padding: var(--ui-space-3); border-radius: var(--ui-radius-control); background: var(--ui-surface-alt); }
.programma-campi[b-edqm27jcqe] { display: grid; gap: var(--ui-space-3); grid-template-columns: repeat(2, minmax(0, 1fr)); }
.programma-campi__largo[b-edqm27jcqe] { grid-column: 1 / -1; }
.programma-durata[b-edqm27jcqe] { max-width: 8rem; }
.programma-pericolo[b-edqm27jcqe] { gap: var(--ui-space-2); flex-wrap: wrap; }

@media (max-width: 1199.98px) {
    .programma-settimana[b-edqm27jcqe] { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
@media (max-width: 767.98px) {
    .programma-settimana[b-edqm27jcqe] { grid-template-columns: minmax(0, 1fr); }
    .programma-giorno.is-vuoto[b-edqm27jcqe] { gap: var(--ui-space-1); }
    .programma-toolbar__settimana .form-control[b-edqm27jcqe] { flex: 1 1 8rem; min-width: 0; }
    .programma-campi[b-edqm27jcqe] { grid-template-columns: minmax(0, 1fr); }
}

.programma-voci--dettaglio .programma-voce__azioni[b-edqm27jcqe] { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); }
.programma-voci--dettaglio .programma-voce__azioni .btn[b-edqm27jcqe] { white-space: normal; height: 100%; }

/* Dettaglio del giorno: lo stato si legge dalla scheda, non dal colore della commessa. */
.giornata-dettaglio[b-edqm27jcqe] { background: transparent; }
.giornata-riepilogo[b-edqm27jcqe] { display: flex; flex-wrap: wrap; gap: .5rem; margin-bottom: .75rem; }
.giornata-conteggio[b-edqm27jcqe] { display: inline-flex; align-items: center; gap: .4rem; padding: .4rem .7rem; border-radius: 8px; font-size: .8125rem; }
.giornata-conteggio strong[b-edqm27jcqe] { font-size: 1rem; }
.giornata-conteggio--pending[b-edqm27jcqe] { color: var(--ui-warning); background: var(--ui-warning-bg); }
.giornata-conteggio--done[b-edqm27jcqe] { color: var(--ui-success); background: var(--ui-success-bg); }
.giornata-conteggio--missed[b-edqm27jcqe] { color: var(--ui-danger); background: var(--ui-danger-bg); }
.giornata-esito[b-edqm27jcqe] { display: flex; align-items: center; gap: .5rem; margin: 0 0 1rem; font-size: .875rem; color: var(--ui-muted); }
.giornata-esito i[b-edqm27jcqe] { color: var(--ui-success); }
.giornata-dettaglio .giornata-sezione[b-edqm27jcqe] { margin: 1.25rem 0 .65rem; font-size: 1rem; font-weight: 700; text-transform: none; letter-spacing: normal; }
.giornata-aiuto[b-edqm27jcqe] { color: var(--ui-muted); font-size: .8125rem; margin: 0; }
.giornata-dettaglio > .giornata-aiuto[b-edqm27jcqe] { margin-bottom: .75rem; }
.giornata-dettaglio .giornata-lavoro[b-edqm27jcqe] {
    --giornata-accent: var(--ui-warning);
    --giornata-tint: var(--ui-warning-bg);
    display: grid; gap: .8rem; min-width: 0; margin-bottom: .75rem;
    padding: 1rem 1.15rem; border: 1px solid var(--ui-border); border-left: 4px solid var(--giornata-accent);
    border-radius: 10px; background: var(--ui-surface); color: var(--ui-text); overflow-wrap: anywhere;
}
.giornata-dettaglio .giornata-lavoro--done[b-edqm27jcqe] { --giornata-accent: var(--ui-success); --giornata-tint: var(--ui-success-bg); }
.giornata-dettaglio .giornata-lavoro--missed[b-edqm27jcqe] { --giornata-accent: var(--ui-danger); --giornata-tint: var(--ui-danger-bg); }
.giornata-lavoro__testa[b-edqm27jcqe] { display: flex; justify-content: space-between; align-items: center; gap: .75rem; flex-wrap: wrap; }
.giornata-stato[b-edqm27jcqe] { display: inline-flex; align-items: center; gap: .4rem; justify-self: start; padding: .25rem .6rem; border-radius: 6px; color: var(--giornata-accent); background: var(--giornata-tint); font-size: .75rem; font-weight: 700; }
.giornata-dettaglio .giornata-lavoro h4[b-edqm27jcqe], .giornata-lavoro .programma-voce__testa > strong[b-edqm27jcqe] { margin: 0; color: var(--ui-text); font-size: 1rem; font-weight: 650; line-height: 1.4; }
.giornata-orario[b-edqm27jcqe] { display: flex; align-items: center; gap: .65rem; }
.giornata-orario > i[b-edqm27jcqe] { color: var(--ui-muted); font-size: 1rem; }
.giornata-orario span[b-edqm27jcqe] { display: grid; gap: .15rem; }
.giornata-orario small[b-edqm27jcqe] { color: var(--ui-muted); font-size: .75rem; }
.giornata-orario strong[b-edqm27jcqe] { font-size: 1rem; font-weight: 650; font-variant-numeric: tabular-nums; }
.giornata-motivo[b-edqm27jcqe] { background: var(--giornata-tint); border-radius: 7px; padding: .75rem; }
.giornata-motivo > strong[b-edqm27jcqe] { display: block; margin-bottom: .25rem; color: var(--giornata-accent); font-size: .75rem; }
.giornata-motivo p[b-edqm27jcqe], .giornata-nota[b-edqm27jcqe] { margin: 0; font-size: .875rem; white-space: pre-wrap; }
/* Testo del lavoro svolto: HTML del diario, con elenchi e titoli. */
.giornata-resoconto[b-edqm27jcqe] { font-size: .875rem; overflow-wrap: anywhere; }
.giornata-resoconto[b-edqm27jcqe]  p:last-child, .giornata-resoconto[b-edqm27jcqe]  ul:last-child, .giornata-resoconto[b-edqm27jcqe]  ol:last-child { margin-bottom: 0; }
/* Nota di chi ha programmato il lavoro, letta nella finestra di conferma. */
.programma-nota-programma[b-edqm27jcqe] { padding: var(--ui-space-2) var(--ui-space-3); border-radius: var(--ui-radius-control); background: var(--ui-surface-alt); white-space: pre-wrap; }
.giornata-correggi[b-edqm27jcqe] { display: inline-flex; align-items: center; gap: .4rem; padding: .45rem .65rem; border: 1px solid var(--ui-border); border-radius: 7px; background: transparent; color: var(--ui-text); font-size: .8125rem; cursor: pointer; }
.giornata-correggi:hover[b-edqm27jcqe] { background: var(--ui-surface-alt); }
.giornata-correggi:focus-visible[b-edqm27jcqe] { outline: 2px solid var(--ui-brand); outline-offset: 3px; }
.giornata-dettaglio .cma-dialog-actions[b-edqm27jcqe] { margin-top: 1rem; }
@media (max-width: 575.98px) {
    .giornata-dettaglio .giornata-lavoro[b-edqm27jcqe] { padding: .85rem; }
    .giornata-lavoro .programma-voce__testa[b-edqm27jcqe] { flex-direction: column-reverse; }
    .giornata-dettaglio .programma-voce__azioni[b-edqm27jcqe] { grid-template-columns: 1fr; }
}

@media (pointer: coarse) { .programma-giorno__aggiungi[b-edqm27jcqe] { min-height: 44px; } }
/* /Pages/Programmazione/StoricoAttivita.razor.rz.scp.css */
.storico-filtri[b-rx1u4zoctc] { display: grid; gap: 1.25rem; min-width: 0; border: 1px solid var(--ui-border); border-radius: var(--ui-radius-card); padding: var(--ui-space-5); background: var(--ui-surface); margin-bottom: 1.25rem; }
.storico-filtri__testa[b-rx1u4zoctc] { display: flex; justify-content: space-between; align-items: center; gap: var(--ui-space-4); }
.storico-filtri__testa h2[b-rx1u4zoctc] { font-size: 1.1rem; font-weight: 650; margin: 0 0 .25rem; }
.storico-filtri__testa p[b-rx1u4zoctc] { color: var(--ui-muted); font-size: .875rem; margin: 0; }
.storico-modalita[b-rx1u4zoctc] { flex-shrink: 0; flex-wrap: nowrap; }
.storico-modalita .btn[b-rx1u4zoctc] { display: inline-flex; justify-content: center; align-items: center; gap: var(--ui-space-2); min-height: 44px; }
.storico-filtri__soggetto[b-rx1u4zoctc] { min-width: 0; }
.storico-filtri__soggetto[b-rx1u4zoctc]  .commessa-recents { flex-wrap: nowrap; overflow-x: auto; padding: .25rem 0 .35rem; gap: var(--ui-space-2); }
.storico-filtri__soggetto[b-rx1u4zoctc]  .commessa-recents > small { flex-shrink: 0; font-size: .75rem; }
.storico-filtri__soggetto[b-rx1u4zoctc]  .commessa-recent { flex-shrink: 0; max-width: min(24rem, 85%); padding: .35rem .6rem; }
.storico-filtri__soggetto[b-rx1u4zoctc]  .commessa-recent strong { flex-shrink: 0; }
.storico-filtri__soggetto[b-rx1u4zoctc]  .commessa-recent span { min-width: 0; }
.storico-periodo[b-rx1u4zoctc] { display: flex; align-items: end; justify-content: space-between; flex-wrap: wrap; gap: var(--ui-space-4); border-top: 1px solid var(--ui-border); padding-top: 1.1rem; }
.storico-periodo__date[b-rx1u4zoctc] { display: grid; grid-template-columns: minmax(0, 12rem) auto minmax(0, 12rem); align-items: end; gap: var(--ui-space-3); min-width: 0; }
.storico-periodo__date > div[b-rx1u4zoctc] { min-width: 0; }
.storico-periodo__freccia[b-rx1u4zoctc] { align-self: end; padding-bottom: .65rem; color: var(--ui-muted); }
.storico-periodo .storico-cerca[b-rx1u4zoctc] { display: inline-flex; justify-content: center; align-items: center; gap: var(--ui-space-2); min-height: 44px; margin-left: auto; }
.storico-invito[b-rx1u4zoctc] { display: flex; align-items: center; justify-content: center; gap: var(--ui-space-4); padding: var(--ui-space-5); color: var(--ui-muted); }
.storico-invito > i[b-rx1u4zoctc] { font-size: 1.5rem; }
.storico-invito strong[b-rx1u4zoctc] { color: var(--ui-text); font-size: .9375rem; }
.storico-invito p[b-rx1u4zoctc] { margin: .25rem 0 0; font-size: .875rem; }
.storico-riepilogo[b-rx1u4zoctc] { display: flex; flex-wrap: wrap; gap: .5rem 1.5rem; margin: 1rem 0; }
.storico-vuoto[b-rx1u4zoctc] { padding: 2rem 1rem; background: var(--ui-surface); border-radius: var(--ui-radius-card); text-align: center; }
@media (max-width: 575px) {
    .storico-filtri[b-rx1u4zoctc] { padding: var(--ui-space-4); gap: var(--ui-space-4); }
    .storico-filtri__testa[b-rx1u4zoctc] { align-items: stretch; flex-direction: column; }
    .storico-modalita .btn[b-rx1u4zoctc] { flex: 1; }
    .storico-periodo__date[b-rx1u4zoctc] { width: 100%; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); gap: .4rem; }
    .storico-periodo .storico-cerca[b-rx1u4zoctc] { width: 100%; }
    .storico-invito[b-rx1u4zoctc] { align-items: start; justify-content: start; padding: 1rem .25rem; }
}
/* /Pages/Programmazione/StoricoAttivitaGiorno.razor.rz.scp.css */
.storico-giorno[b-301le0g3wp] { margin: 1.5rem 0; }
.storico-giorno > header[b-301le0g3wp] { display: flex; align-items: baseline; justify-content: space-between; gap: 1rem; margin-bottom: .75rem; }
.storico-giorno h2[b-301le0g3wp] { font-size: 1.1rem; margin: 0; text-transform: capitalize; }
.storico-giorno > header > span[b-301le0g3wp] { font-size: .8125rem; color: var(--ui-muted); }
.storico-voci[b-301le0g3wp] { display: grid; gap: .75rem; }
.storico-voce[b-301le0g3wp] { --accent: var(--ui-warning); --tint: var(--ui-warning-bg); background: var(--ui-surface); border: 1px solid var(--ui-border); border-left: 4px solid var(--accent); border-radius: 10px; padding: 1rem; min-width: 0; overflow-wrap: anywhere; }
.is-done[b-301le0g3wp] { --accent: var(--ui-success); --tint: var(--ui-success-bg); }
.is-missed[b-301le0g3wp] { --accent: var(--ui-danger); --tint: var(--ui-danger-bg); }
.is-cancelled[b-301le0g3wp] { --accent: var(--ui-muted); --tint: var(--ui-surface-alt); }
.storico-voce__testa[b-301le0g3wp] { display: flex; justify-content: space-between; gap: 1rem; align-items: start; }
.storico-stato[b-301le0g3wp] { background: var(--tint); color: var(--accent); border-radius: 6px; padding: .25rem .55rem; font-size: .75rem; white-space: nowrap; }
.storico-orari[b-301le0g3wp], .storico-persona[b-301le0g3wp] { margin: .5rem 0 0; font-size: .875rem; }
.storico-orari > span[b-301le0g3wp], .storico-persona[b-301le0g3wp] { color: var(--ui-muted); }
.storico-note[b-301le0g3wp], .storico-motivo[b-301le0g3wp] { margin-top: .65rem; font-size: .875rem; white-space: pre-wrap; }
.storico-note[b-301le0g3wp]  p { margin: 0; }
.storico-motivo[b-301le0g3wp] { padding: .6rem; background: var(--tint); border-radius: 6px; }
@media (max-width: 575px) { .storico-voce__testa[b-301le0g3wp] { flex-direction: column-reverse; gap: .5rem; } }
/* /Pages/Programmazione/WeeklySchedule.razor.rz.scp.css */
.weekly-schedule-page[b-i1i2nrfi52] {
    display: block;
}

/* Barra del periodo: frecce e date sulla stessa riga (cma-toolbar). */
.weekly-toolbar[b-i1i2nrfi52] { justify-content: space-between; }
.weekly-toolbar__periodo[b-i1i2nrfi52] { display: flex; flex-wrap: wrap; align-items: center; gap: var(--ui-space-2); }
.weekly-toolbar__periodo .form-control[b-i1i2nrfi52] { width: auto; }
/* Su desktop "Questa settimana" viene dopo la freccia; sul telefono sta tra le frecce. */
.weekly-toolbar__oggi[b-i1i2nrfi52] { order: 1; }
.weekly-hint[b-i1i2nrfi52] { margin-bottom: var(--ui-space-3); }
.weekly-editor[b-i1i2nrfi52] { text-align: left; }
.weekly-editor__chi[b-i1i2nrfi52] { margin-bottom: var(--ui-space-3); }
.weekly-editor__chi strong[b-i1i2nrfi52] { text-transform: none; }

.weekly-toolbar-actions[b-i1i2nrfi52],
.weekly-editor-actions[b-i1i2nrfi52] {
    display: flex;
    gap: .5rem;
    flex-wrap: wrap;
    align-items: center;
}

.weekly-selection-bar[b-i1i2nrfi52] {
    display: flex;
    flex-wrap: wrap;
    gap: .5rem;
    align-items: center;
}

.weekly-selection-status[b-i1i2nrfi52] {
    display: inline-flex;
    align-items: center;
    min-height: 2.25rem;
    border: 1px solid var(--ui-border);
    border-radius: 6px;
    padding: .35rem .6rem;
    background: var(--ui-surface);
    color: var(--ui-muted);
    font-weight: 700;
}

/* Larghezze della griglia: colonna dei nomi fissa a sinistra e un giorno per
   colonna. Il numero di giorni arriva dalla pagina (--weekly-giorni). */
.weekly-schedule-page[b-i1i2nrfi52] {
    --weekly-nome: 190px;
    --weekly-giorno: 128px;
}

/* La griglia scorre dentro un riquadro alto quanto lo schermo (meno intestazione dell'app e
   barra inferiore del telefono): la riga delle date resta in alto e la barra di scorrimento
   orizzontale e' sempre visibile. Prima il riquadro era alto quanto la tabella: date e barra
   orizzontale si perdevano scendendo tra le persone. */
.weekly-grid-scroll[b-i1i2nrfi52] {
    overflow: auto;
    max-height: max(20rem, calc(100dvh - 6rem - var(--cma-tabbar-space, 0px)));
    overscroll-behavior-x: contain;
}

.weekly-grid thead th[b-i1i2nrfi52] {
    position: sticky;
    top: 0;
    z-index: 4;
}

.weekly-grid thead th.weekly-employee-column[b-i1i2nrfi52] {
    left: 0;
    z-index: 5;
}

/* overflow visibile: la regola globale .table { overflow: hidden } rendeva la
   tabella il contenitore di scorrimento e la colonna dei nomi non restava ferma. */
.weekly-grid[b-i1i2nrfi52] {
    min-width: calc(var(--weekly-nome) + var(--weekly-giorni, 7) * var(--weekly-giorno));
    table-layout: fixed;
    overflow: visible;
}

.weekly-period-grid th:not(.weekly-employee-column)[b-i1i2nrfi52],
.weekly-period-grid td[b-i1i2nrfi52] {
    width: var(--weekly-giorno);
}

.weekly-grid th[b-i1i2nrfi52] {
    background: var(--ui-surface-alt);
    color: var(--ui-text);
}

.weekly-grid thead th[b-i1i2nrfi52] {
    text-transform: capitalize;
}

.weekly-grid thead small[b-i1i2nrfi52] {
    display: block;
    color: var(--ui-muted);
    font-weight: 400;
}

.weekly-employee-column[b-i1i2nrfi52] {
    width: var(--weekly-nome);
    overflow-wrap: anywhere;
    position: sticky;
    left: 0;
    z-index: 2;
}

.weekly-grid tbody .weekly-employee-column[b-i1i2nrfi52] {
    background: var(--ui-surface);
    color: var(--ui-text);
}

.weekly-group-row th[b-i1i2nrfi52] {
    position: sticky;
    left: 0;
    z-index: 3;
    padding: .55rem .75rem;
    background: var(--ui-surface-alt);
    color: var(--ui-text);
    border-color: var(--ui-border);
    font-weight: 800;
    letter-spacing: 0;
}

/* La riga del gruppo occupa tutta la larghezza: il suo titolo resta fermo a
   sinistra mentre si scorre tra i giorni. */
.weekly-group-heading[b-i1i2nrfi52] {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    position: sticky;
    left: .75rem;
}

.weekly-group-badge[b-i1i2nrfi52] {
    display: inline-flex;
    width: 1rem;
    height: 1rem;
    flex: 0 0 1rem;
    border: 1px solid color-mix(in srgb, currentColor 20%, transparent);
    border-radius: 999px;
}

.weekly-cell[b-i1i2nrfi52] {
    display: flex;
    flex-direction: column;
    justify-content: center;
    width: 100%;
    min-height: 74px;
    border: 1px solid var(--ui-border);
    border-radius: 6px;
    padding: .45rem;
    color: var(--ui-text);
    text-align: left;
    transition: border-color .12s ease, box-shadow .12s ease;
}

.weekly-cell:hover[b-i1i2nrfi52] {
    border-color: var(--ui-primary);
    box-shadow: 0 0 0 .15rem color-mix(in srgb, var(--ui-focus) 30%, transparent);
}

.weekly-cell.is-empty[b-i1i2nrfi52] {
    background: var(--ui-surface);
    color: var(--ui-muted);
    align-items: center;
    text-align: center;
    border-style: dashed;
}

.weekly-cell.is-selected[b-i1i2nrfi52] {
    border-color: var(--ui-primary);
    box-shadow: 0 0 0 .18rem color-mix(in srgb, var(--ui-focus) 30%, transparent);
    outline: 2px solid var(--ui-primary);
    outline-offset: -4px;
}

.weekly-cell strong[b-i1i2nrfi52],
.weekly-cell small[b-i1i2nrfi52] {
    overflow-wrap: anywhere;
}

.weekly-cell small[b-i1i2nrfi52] {
    color: color-mix(in srgb, currentColor 72%, transparent);
    margin-top: .25rem;
}

.weekly-quick-menu[b-i1i2nrfi52] {
    position: fixed;
    z-index: 2300;
    --weekly-menu-width: min(17rem, calc(100vw - 1rem));
    --weekly-menu-max-height: calc(100vh - 1rem);
    left: clamp(.5rem, var(--weekly-menu-x, .5rem), calc(100vw - var(--weekly-menu-width) - .5rem));
    top: clamp(.5rem, var(--weekly-menu-y, .5rem), calc(100vh - min(16.5rem, var(--weekly-menu-max-height)) - .5rem));
    width: var(--weekly-menu-width);
    max-height: var(--weekly-menu-max-height);
    overflow-y: auto;
    padding: .35rem;
    border: 1px solid var(--ui-border);
    border-radius: 10px;
    background: var(--ui-surface);
    color: var(--ui-text);
    box-shadow: var(--ui-shadow);
}

.weekly-quick-menu button[b-i1i2nrfi52] {
    display: flex;
    align-items: center;
    gap: .55rem;
    width: 100%;
    min-height: 2.15rem;
    border: 0;
    border-radius: 8px;
    padding: .4rem .55rem;
    background: transparent;
    color: var(--ui-text);
    font-weight: 700;
    text-align: left;
}

.weekly-quick-menu button:hover[b-i1i2nrfi52],
.weekly-quick-menu button:focus[b-i1i2nrfi52] {
    background: var(--ui-surface-alt);
    color: var(--ui-text);
}

.weekly-quick-menu button:disabled[b-i1i2nrfi52] {
    cursor: not-allowed;
    color: var(--ui-muted);
    opacity: .62;
}

.weekly-quick-menu button:disabled:hover[b-i1i2nrfi52],
.weekly-quick-menu button:disabled:focus[b-i1i2nrfi52] {
    background: transparent;
    color: var(--ui-muted);
}

.weekly-quick-menu i[b-i1i2nrfi52] {
    width: 1rem;
    color: var(--ui-link);
}

.weekly-quick-menu button:disabled i[b-i1i2nrfi52] {
    color: var(--ui-muted);
}

.weekly-quick-menu .weekly-quick-menu-delete[b-i1i2nrfi52],
.weekly-quick-menu .weekly-quick-menu-delete i[b-i1i2nrfi52] {
    color: var(--bs-danger);
}

.weekly-quick-menu-separator[b-i1i2nrfi52] {
    display: block;
    height: 1px;
    margin: .3rem .2rem;
    background: var(--ui-border);
}

.weekly-editor-grid[b-i1i2nrfi52] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .75rem;
    text-align: left;
}

.weekly-editor-notes[b-i1i2nrfi52],
.weekly-editor-actions[b-i1i2nrfi52] {
    grid-column: 1 / -1;
}

.weekly-time-range[b-i1i2nrfi52] {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .75rem;
}

.weekly-editor-actions[b-i1i2nrfi52] {
    justify-content: flex-end;
    margin-top: 1rem;
}

@media (max-width: 768px) {
    .weekly-editor-grid[b-i1i2nrfi52] {
        grid-template-columns: 1fr;
    }

    .weekly-toolbar__periodo .form-control[b-i1i2nrfi52] {
        flex: 1 1 8rem;
        min-width: 0;
    }

    .weekly-toolbar-actions[b-i1i2nrfi52] {
        width: 100%;
    }

    .weekly-toolbar-actions .btn[b-i1i2nrfi52] {
        flex: 1;
    }
}
.weekly-cell[b-i1i2nrfi52] { display:flex; flex-direction:column; gap:.25rem; min-height:7rem; padding:.35rem; }
.weekly-cell-entry[b-i1i2nrfi52] { display:flex; flex-direction:column; align-items:flex-start; width:100%; border:1px solid color-mix(in srgb, currentColor 18%, transparent); border-radius:.35rem; padding:.35rem; text-align:left; color:inherit; background:inherit; }
.weekly-cell-entry:hover[b-i1i2nrfi52] { filter:brightness(.96); }
.weekly-entry-client[b-i1i2nrfi52] { display:block; margin-top:.12rem; font-weight:600; line-height:1.25; opacity:.86; }
.weekly-entry-details[b-i1i2nrfi52] { display:flex; align-items:center; flex-wrap:wrap; gap:.3rem; margin-top:.15rem; }
.weekly-entry-details.has-pending[b-i1i2nrfi52] { width:100%; flex-direction:column; align-items:flex-start; }
.weekly-entry-meta[b-i1i2nrfi52] { font-size:.72rem; opacity:.8; }
.weekly-pending-badge[b-i1i2nrfi52] { display:inline-flex; align-self:center; align-items:center; justify-content:center; width:max-content; max-width:100%; padding:.3rem .5rem; border:1px solid #eab308 !important; background:#facc15 !important; color:#422006 !important; font-size:.68rem; line-height:1.1; white-space:normal; text-align:center; }
.weekly-add-activity[b-i1i2nrfi52] { border:0; background:transparent; color:inherit; font-size:.72rem; opacity:.75; text-align:left; padding:.2rem; }

/* Piede della cella: "Aggiungi" e il pulsante delle altre azioni (stesse voci del tasto destro). */
.weekly-cell-footer[b-i1i2nrfi52] { display:flex; align-items:center; justify-content:space-between; gap:.25rem; margin-top:auto; width:100%; }
.weekly-cell.is-empty .weekly-cell-footer[b-i1i2nrfi52] { justify-content:center; margin-top:0; }
.weekly-cell-more[b-i1i2nrfi52] { display:inline-grid; place-items:center; width:28px; height:28px; flex:0 0 auto; border:0; border-radius:var(--ui-radius-badge); background:transparent; color:var(--ui-muted); opacity:0; transition:opacity .12s ease; }
.weekly-cell-more:hover[b-i1i2nrfi52] { background:var(--ui-surface-alt); color:var(--ui-text); }
.weekly-cell:hover .weekly-cell-more[b-i1i2nrfi52],
.weekly-cell.is-selected .weekly-cell-more[b-i1i2nrfi52],
.weekly-cell-more:focus-visible[b-i1i2nrfi52] { opacity:1; }
.weekly-cell.is-empty .weekly-cell-more[b-i1i2nrfi52] { position:absolute; top:.2rem; right:.2rem; }
.weekly-cell[b-i1i2nrfi52] { position:relative; }

/* Assenze: arrivano dalle richieste, non si modificano qui. Righe diagonali e lucchetto. */
.weekly-cell-entry.is-absence[b-i1i2nrfi52] { cursor:help; background-image:repeating-linear-gradient(135deg, transparent 0 6px, color-mix(in srgb, currentColor 9%, transparent) 6px 12px); }

/* Giorno di oggi. */
.weekly-grid thead th.is-today[b-i1i2nrfi52] { box-shadow:inset 0 -3px 0 var(--ui-brand); }
.weekly-grid thead th.is-today > span[b-i1i2nrfi52] { color:var(--ui-brand-text); }
.weekly-grid td.is-today[b-i1i2nrfi52] { background:color-mix(in srgb, var(--ui-brand) 7%, transparent); }

/* Editor: scelte a pulsanti, sezione "Altre opzioni" chiusa se non serve. */
.weekly-editor-largo[b-i1i2nrfi52] { grid-column:1 / -1; min-width:0; }
.weekly-editor-grid fieldset[b-i1i2nrfi52] { margin:0; padding:0; border:0; min-width:0; }
.weekly-editor-grid legend[b-i1i2nrfi52] { float:none; width:auto; padding:0; font-size:inherit; }
.weekly-scelte .btn[b-i1i2nrfi52] { display:inline-flex; align-items:center; }
.weekly-editor-altro summary[b-i1i2nrfi52] { display:inline-flex; align-items:center; gap:.35rem; min-height:32px; padding:.15rem .4rem; margin-left:-.4rem; border-radius:var(--ui-radius-control); cursor:pointer; color:var(--ui-link); font-weight:600; }
.weekly-editor-altro summary:focus[b-i1i2nrfi52] { outline:none; }
.weekly-editor-altro summary:focus-visible[b-i1i2nrfi52] { outline:2px solid var(--ui-link); outline-offset:2px; }
.weekly-orario-scelto[b-i1i2nrfi52] { font-weight:400; }
.weekly-colore[b-i1i2nrfi52] { display:flex; align-items:center; gap:var(--ui-space-3); min-width:0; }
.weekly-colore .form-control-color[b-i1i2nrfi52] { flex:0 0 auto; }

/* Telefono: prima la colonna dei nomi (190 px) lasciava ai giorni meno di 100 px
   visibili. Nomi piu' stretti, griglia a tutta larghezza della scheda e scorrimento
   che si ferma all'inizio di un giorno. */
@media (max-width: 767.98px) {
    .weekly-schedule-page[b-i1i2nrfi52] {
        --weekly-nome: 104px;
        --weekly-giorno: 150px;
    }

    .weekly-schedule-page[b-i1i2nrfi52]  .weekly-period-card > .card-body {
        padding-inline: 0;
    }

    .weekly-grid-scroll[b-i1i2nrfi52] {
        scroll-snap-type: x proximity;
        scroll-padding-left: var(--weekly-nome);
    }

    .weekly-period-grid thead th:not(.weekly-employee-column)[b-i1i2nrfi52],
    .weekly-period-grid tbody td[b-i1i2nrfi52] {
        scroll-snap-align: start;
    }

    .weekly-grid .weekly-employee-column[b-i1i2nrfi52] {
        font-size: var(--ui-text-compact);
        padding-inline: var(--ui-space-2);
    }

}

/* Al tocco: niente suggerimento su Ctrl+clic e tasto destro; il pulsante delle azioni
   della cella e' sempre visibile e alto 44 px. */
@media (pointer: coarse) {
    .weekly-hint[b-i1i2nrfi52] {
        display: none;
    }

    .weekly-cell-more[b-i1i2nrfi52] { opacity:1; width:44px; height:44px; }
    .weekly-add-activity[b-i1i2nrfi52] { min-height:44px; }
    .weekly-scelte .btn[b-i1i2nrfi52] { min-height:44px; }
}

/* Telefono: pulsanti dell'intestazione affiancati e periodo su due righe ordinate
   (date affiancate; sotto frecce e "Questa settimana"). Prima le frecce
   finivano su righe diverse dalle date. */
@media (max-width: 575.98px) {
    .weekly-schedule-page[b-i1i2nrfi52]  .cma-page-header__actions {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: var(--ui-space-2);
        width: 100%;
    }

    .weekly-schedule-page[b-i1i2nrfi52]  .cma-page-header__actions > .btn,
    .weekly-schedule-page[b-i1i2nrfi52]  .cma-page-header__actions .dropdown > .btn {
        width: 100%;
        justify-content: center;
    }

    .weekly-toolbar__periodo[b-i1i2nrfi52] {
        display: grid;
        grid-template-columns: 44px minmax(0, 1fr) minmax(0, 1fr) 44px;
        grid-template-areas:
            "dal dal al al"
            "prec oggi oggi succ";
        gap: var(--ui-space-2);
        width: 100%;
    }

    .weekly-toolbar__dal[b-i1i2nrfi52] { grid-area: dal; min-width: 0; }
    .weekly-toolbar__al[b-i1i2nrfi52] { grid-area: al; min-width: 0; }
    .weekly-toolbar__prec[b-i1i2nrfi52] { grid-area: prec; }
    .weekly-toolbar__succ[b-i1i2nrfi52] { grid-area: succ; }
    .weekly-toolbar__oggi[b-i1i2nrfi52] { grid-area: oggi; justify-self: center; }

    .weekly-toolbar__periodo .form-control[b-i1i2nrfi52] {
        width: 100%;
        min-width: 0;
        padding-inline: var(--ui-space-2);
    }
}

/* Fase 2: selezione, assegnazione su piu' celle, ripetizione e copia della settimana. */
.weekly-toolbar__seleziona[b-i1i2nrfi52] { display:inline-flex; align-items:center; min-height:44px; }
.weekly-cell[b-i1i2nrfi52] { user-select:none; }
.weekly-group-copy[b-i1i2nrfi52] { padding:0 var(--ui-space-2); font-size:var(--ui-text-meta); font-weight:600; text-decoration:none; }
.weekly-ripeti[b-i1i2nrfi52] { display:flex; flex-wrap:wrap; align-items:end; gap:var(--ui-space-3); margin-top:var(--ui-space-2); }
.weekly-ripeti .form-control[b-i1i2nrfi52] { width:auto; }
@media (pointer: coarse) {
    .weekly-selection-bar .btn[b-i1i2nrfi52] { min-height:44px; }
    .weekly-group-copy[b-i1i2nrfi52] { min-height:44px; }
}

/* Fase 3: ricerca e filtro per gruppo, gruppi comprimibili, trascinamento. */
.weekly-filtri[b-i1i2nrfi52] { display:flex; flex-wrap:wrap; align-items:center; gap:var(--ui-space-2); margin-bottom:var(--ui-space-3); }
.weekly-filtri__cerca[b-i1i2nrfi52] { position:relative; flex:1 1 14rem; max-width:22rem; min-width:0; }
.weekly-filtri__cerca i[b-i1i2nrfi52] { position:absolute; left:.75rem; top:50%; transform:translateY(-50%); color:var(--ui-muted); pointer-events:none; }
.weekly-filtri__cerca .form-control[b-i1i2nrfi52] { padding-left:2.2rem; }
.weekly-filtri__gruppo[b-i1i2nrfi52] { width:auto; max-width:16rem; }
.weekly-group-toggle[b-i1i2nrfi52] { display:inline-flex; align-items:center; gap:.5rem; min-height:32px; padding:0 .25rem; border:0; border-radius:var(--ui-radius-control); background:transparent; color:inherit; font:inherit; font-weight:800; }
.weekly-group-toggle:hover[b-i1i2nrfi52] { background:var(--ui-surface); }
.weekly-group-toggle:focus-visible[b-i1i2nrfi52] { outline:2px solid var(--ui-link); outline-offset:2px; }
.weekly-group-toggle .cma-meta[b-i1i2nrfi52] { font-weight:600; }
.weekly-nessun-risultato[b-i1i2nrfi52] { padding:var(--ui-space-4); color:var(--ui-muted); text-align:left; }
.weekly-cell-entry.is-draggable[b-i1i2nrfi52] { cursor:grab; }
.weekly-cell-entry.is-draggable:active[b-i1i2nrfi52] { cursor:grabbing; }
.weekly-cell.is-drop-target[b-i1i2nrfi52] { border-color:var(--ui-brand); border-style:solid; box-shadow:0 0 0 .2rem color-mix(in srgb, var(--ui-brand) 35%, transparent); }
@media (pointer: coarse) {
    .weekly-group-toggle[b-i1i2nrfi52] { min-height:44px; }
}
/* /Pages/SafeFleet/GestioneSafeFleet.razor.rz.scp.css */
/* Disposizione della gestione SafeFleet; colori e stati da cma-ui.css. */
.safefleet-admin__grid[b-c2y6807vid] { display: grid; gap: var(--ui-space-4); grid-template-columns: repeat(auto-fit, minmax(min(100%, 22rem), 1fr)); align-items: start; }
.safefleet-admin__campi[b-c2y6807vid] { display: grid; gap: var(--ui-space-3); grid-template-columns: repeat(2, minmax(0, 1fr)); }
.safefleet-admin__sync[b-c2y6807vid] { display: grid; gap: var(--ui-space-3); margin: 0; padding: 0; list-style: none; }
.safefleet-admin__sync li[b-c2y6807vid] { padding-bottom: var(--ui-space-3); border-bottom: 1px solid var(--ui-border); }
.safefleet-admin__sync li:last-child[b-c2y6807vid] { padding-bottom: 0; border-bottom: 0; }
.safefleet-admin__sync-head[b-c2y6807vid] { display: flex; justify-content: space-between; align-items: baseline; gap: var(--ui-space-2); }
.safefleet-admin__dettaglio[b-c2y6807vid] { margin-top: var(--ui-space-1); font-size: var(--ui-text-compact); }
.safefleet-admin__dettaglio summary[b-c2y6807vid] { cursor: pointer; color: var(--ui-muted); }
.safefleet-admin__dettaglio p[b-c2y6807vid] { margin: var(--ui-space-1) 0 0; overflow-wrap: anywhere; color: var(--ui-danger); }
.safefleet-admin[b-c2y6807vid]  .safefleet-anomalie td { overflow-wrap: anywhere; }
.safefleet-admin code[b-c2y6807vid], .safefleet-associa code[b-c2y6807vid] { overflow-wrap: anywhere; white-space: normal; }
.safefleet-associa[b-c2y6807vid] { text-align: left; }
@media (max-width: 575.98px) {
    .safefleet-admin__campi[b-c2y6807vid] { grid-template-columns: minmax(0, 1fr); }
}
/* /Pages/SafeFleet/ListaTappeVeicolo.razor.rz.scp.css */
/* Giorni ripiegabili dei viaggi; tabella, stati e filtri da cma-ui.css. */
.tappe-conteggio[b-mgjvdopqdu] { margin: 0 0 var(--ui-space-2); }
.tappe-giorno[b-mgjvdopqdu] { margin-bottom: var(--ui-space-3); padding: 0; overflow: hidden; }
.tappe-giorno__titolo[b-mgjvdopqdu] { margin: 0; font-size: var(--ui-text-body); }
.tappe-giorno__toggle[b-mgjvdopqdu] {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: var(--ui-space-2) var(--ui-space-3);
    width: 100%;
    min-height: 48px;
    padding: var(--ui-space-3) var(--ui-space-4);
    border: 0;
    background: transparent;
    color: var(--ui-text);
    font-weight: 700;
    text-align: left;
}
.tappe-giorno__toggle:hover[b-mgjvdopqdu] { background: var(--ui-surface-alt); }
.tappe-giorno__toggle .fa-solid[b-mgjvdopqdu] { width: 1rem; color: var(--ui-muted); }
.tappe-giorno__toggle .cma-meta[b-mgjvdopqdu] { font-weight: 500; }
.tappe-giorno__corpo[b-mgjvdopqdu] { padding: 0 var(--ui-space-4) var(--ui-space-4); border-top: 1px solid var(--ui-border); }
.tappe-page[b-mgjvdopqdu]  .tappe-table td { max-width: 20rem; overflow-wrap: anywhere; }
.tappe-page[b-mgjvdopqdu]  .is-escluso { opacity: .72; }
.tappe-azione[b-mgjvdopqdu] { text-align: left; }
.tappe-azione__viaggio[b-mgjvdopqdu] { margin-bottom: var(--ui-space-2); }
/* /Pages/SafeFleet/ListaVeicoli.razor.rz.scp.css */
/* Disposizione delle schede veicolo; colori e stati da cma-ui.css. */
.veicoli-grid[b-xs9lusv98t] { display: grid; gap: var(--ui-space-4); grid-template-columns: repeat(auto-fill, minmax(min(100%, 18rem), 1fr)); }
.veicolo-card[b-xs9lusv98t] { border-left: 4px solid var(--ui-border); }
.veicolo-card.is-running[b-xs9lusv98t] { border-left-color: var(--ui-success); }
.veicolo-card__head[b-xs9lusv98t] { display: flex; align-items: flex-start; justify-content: space-between; gap: var(--ui-space-3); margin-bottom: var(--ui-space-3); }
.veicolo-card__targa[b-xs9lusv98t] { color: var(--ui-muted); font-size: var(--ui-text-label); font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.veicolo-card__fields[b-xs9lusv98t] { margin-bottom: var(--ui-space-3); }
.veicolo-card__stale[b-xs9lusv98t] { margin: 0 0 var(--ui-space-3); padding: var(--ui-space-2) var(--ui-space-3); border-radius: var(--ui-radius-control); background: var(--ui-warning-bg); color: var(--ui-warning); font-weight: 600; }
/* /Pages/SafeFleet/StoricoCarburante.razor.rz.scp.css */
/* Nota esplicativa ripiegabile: sempre disponibile, senza occupare la pagina. */
.carburante-note summary[b-5cg3vcin46] { cursor: pointer; font-weight: 600; }
.carburante-note ul[b-5cg3vcin46] { margin: var(--ui-space-2) 0 0; padding-left: 1.2rem; }
/* /Pages/SafeFleet/StoricoConducenti.razor.rz.scp.css */
/* Larghezze proprie dello storico; totali e tabella da cma-ui.css. */
.conducenti-page[b-nak7g76wfx]  .conducenti-table td { max-width: 18rem; overflow-wrap: anywhere; }
.conducenti-page[b-nak7g76wfx]  .is-escluso { opacity: .72; }
/* /Shared/CampanellaNotifiche.razor.rz.scp.css */
.cma-campanella[b-i3q0o0xn40] {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.75rem;
    height: 2.75rem;
    padding: 0;
    border: 1px solid var(--ui-border);
    border-radius: 50%;
    background: var(--ui-surface-alt);
    color: var(--ui-text);
    text-decoration: none;
    transition: background-color var(--ui-motion-fast) var(--ui-ease-out), border-color var(--ui-motion-fast) var(--ui-ease-out);
}

.cma-campanella:hover[b-i3q0o0xn40] {
    border-color: var(--ui-link);
    color: var(--ui-link);
}

.cma-campanella:focus-visible[b-i3q0o0xn40] {
    outline: none;
    box-shadow: var(--ui-focus-ring);
}

/* Sulla testata blu del telefono la campanella prende i colori della navigazione. */
.cma-campanella--compatta[b-i3q0o0xn40] {
    border-color: var(--ui-nav-border);
    background: transparent;
    color: var(--ui-nav-text);
}

.cma-campanella--compatta:hover[b-i3q0o0xn40],
.cma-campanella--compatta:focus-visible[b-i3q0o0xn40] {
    border-color: var(--ui-nav-accent);
    color: var(--ui-nav-text);
}

.cma-campanella__conteggio[b-i3q0o0xn40] {
    position: absolute;
    top: -.3rem;
    right: -.35rem;
    min-width: 1.35rem;
    height: 1.35rem;
    padding: 0 .3rem;
    border-radius: 999px;
    background: var(--ui-danger-fill);
    color: #ffffff;
    font-size: .75rem;
    font-weight: 700;
    line-height: 1.35rem;
    text-align: center;
    font-variant-numeric: tabular-nums;
}

.cma-campanella-pannello[b-i3q0o0xn40] {
    width: min(24rem, calc(100vw - 2rem));
    padding: 0;
    background: var(--ui-surface);
    border: 1px solid var(--ui-border);
    border-radius: var(--ui-radius-card);
    box-shadow: var(--ui-shadow-raised);
    overflow: hidden;
}

.cma-campanella-pannello__testata[b-i3q0o0xn40] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--ui-space-2);
    padding: var(--ui-space-2) var(--ui-space-3);
    border-bottom: 1px solid var(--ui-border);
}

.cma-campanella-pannello__titolo[b-i3q0o0xn40] {
    font-weight: 700;
    color: var(--ui-text);
}

.cma-campanella-pannello__testata .btn-link[b-i3q0o0xn40] {
    padding: 0;
    color: var(--ui-link);
    font-size: var(--ui-text-meta);
}

.cma-campanella-pannello__messaggio[b-i3q0o0xn40] {
    margin: 0;
    padding: var(--ui-space-4) var(--ui-space-3);
    color: var(--ui-muted);
    text-align: center;
}

.cma-campanella-elenco[b-i3q0o0xn40] {
    max-height: min(26rem, 60vh);
    margin: 0;
    padding: 0;
    list-style: none;
    overflow-y: auto;
}

.cma-campanella-elenco li + li[b-i3q0o0xn40] {
    border-top: 1px solid var(--ui-border);
}

.cma-campanella-voce[b-i3q0o0xn40] {
    display: grid;
    gap: .15rem;
    width: 100%;
    padding: var(--ui-space-2) var(--ui-space-3);
    border: 0;
    background: transparent;
    color: var(--ui-text);
    text-align: left;
}

.cma-campanella-voce:hover[b-i3q0o0xn40],
.cma-campanella-voce:focus-visible[b-i3q0o0xn40] {
    background: var(--ui-surface-alt);
    outline: none;
}

.cma-campanella-voce__titolo[b-i3q0o0xn40] {
    display: flex;
    align-items: center;
    gap: var(--ui-space-2);
    font-weight: 600;
    overflow-wrap: anywhere;
}

.cma-campanella-voce.is-nuova .cma-campanella-voce__titolo[b-i3q0o0xn40] {
    font-weight: 800;
}

.cma-campanella-voce__punto[b-i3q0o0xn40] {
    flex: 0 0 auto;
    width: .55rem;
    height: .55rem;
    border-radius: 50%;
    background: var(--ui-link);
}

.cma-campanella-voce__testo[b-i3q0o0xn40] {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
    color: var(--ui-muted);
    font-size: var(--ui-text-compact);
    white-space: pre-line;
}

.cma-campanella-voce__quando[b-i3q0o0xn40] {
    color: var(--ui-muted);
    font-size: var(--ui-text-meta);
}

.cma-campanella-pannello__tutte[b-i3q0o0xn40] {
    display: block;
    padding: var(--ui-space-2) var(--ui-space-3);
    border-top: 1px solid var(--ui-border);
    color: var(--ui-link);
    font-weight: 600;
    text-align: center;
    text-decoration: none;
}

.cma-campanella-pannello__tutte:hover[b-i3q0o0xn40] {
    background: var(--ui-surface-alt);
    text-decoration: underline;
}

@media (prefers-reduced-motion: reduce) {
    .cma-campanella[b-i3q0o0xn40] { transition: none; }
}
/* /Shared/CookiePrivacyNotice.razor.rz.scp.css */
.privacy-banner[b-1ktbumgatz] {
    position: fixed;
    z-index: 1080;
    right: 1.25rem;
    /* Sopra la barra di navigazione inferiore, non sotto. */
    bottom: calc(1.25rem + var(--cma-tabbar-space, 0px));
    left: 1.25rem;
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 1rem;
    max-width: 980px;
    margin: 0 auto;
    padding: 1rem 1.1rem;
    color: var(--ui-text);
    background: var(--ui-surface);
    border: 1px solid var(--ui-border);
    border-radius: 1rem;
}

.privacy-banner__icon[b-1ktbumgatz],
.privacy-status__icon[b-1ktbumgatz] {
    display: grid;
    place-items: center;
    flex: 0 0 auto;
    width: 2.75rem;
    height: 2.75rem;
    color: var(--ui-link);
    background: rgba(var(--ui-primary-rgb), .1);
    border-radius: .8rem;
    font-size: 1.15rem;
}

.privacy-banner h2[b-1ktbumgatz] {
    margin: 0 0 .2rem;
    font-size: 1rem;
    font-weight: 800;
}

.privacy-banner p[b-1ktbumgatz],
.privacy-status p[b-1ktbumgatz] {
    margin: 0;
    color: var(--ui-muted);
    font-size: .88rem;
    line-height: 1.45;
}

.privacy-banner__actions[b-1ktbumgatz] {
    display: flex;
    gap: .55rem;
}

.privacy-modal-backdrop[b-1ktbumgatz] {
    position: fixed;
    z-index: 1090;
    inset: 0;
    display: grid;
    place-items: center;
    padding: 1rem;
    background: var(--ui-overlay);
    backdrop-filter: blur(4px);
}

.privacy-modal[b-1ktbumgatz] {
    width: min(820px, 100%);
    max-height: min(88vh, 820px);
    overflow: hidden;
    color: var(--ui-text);
    background: var(--ui-surface);
    border: 1px solid var(--ui-border);
    border-radius: 1.1rem;
}

.privacy-modal__header[b-1ktbumgatz],
.privacy-modal__footer[b-1ktbumgatz] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 1rem 1.25rem;
}

.privacy-modal__header[b-1ktbumgatz] {
    border-bottom: 1px solid var(--ui-border);
}

.privacy-kicker[b-1ktbumgatz] {
    display: block;
    margin-bottom: .15rem;
    color: var(--ui-link);
    font-size: .7rem;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.privacy-modal h2[b-1ktbumgatz] {
    margin: 0;
    font-size: 1.35rem;
    font-weight: 800;
}

.privacy-modal h3[b-1ktbumgatz] {
    margin: 1.3rem 0 .55rem;
    font-size: 1rem;
    font-weight: 800;
}

.privacy-modal__close[b-1ktbumgatz] {
    display: grid;
    place-items: center;
    width: 2.4rem;
    height: 2.4rem;
    color: var(--ui-muted);
    background: transparent;
    border: 0;
    border-radius: .65rem;
    font-size: 1.1rem;
}

.privacy-modal__close:hover[b-1ktbumgatz] {
    background: rgba(127, 127, 127, .1);
}

.privacy-modal__body[b-1ktbumgatz] {
    max-height: calc(88vh - 142px);
    overflow-y: auto;
    padding: 1.15rem 1.25rem;
    line-height: 1.55;
}

.privacy-modal__body > p[b-1ktbumgatz] {
    margin: 0 0 .65rem;
    color: var(--ui-muted);
    font-size: .9rem;
}

.privacy-status[b-1ktbumgatz] {
    display: flex;
    align-items: center;
    gap: .85rem;
    padding: .9rem;
    background: rgba(var(--ui-primary-rgb), .07);
    border: 1px solid rgba(var(--ui-primary-rgb), .18);
    border-radius: .85rem;
}

.privacy-status > div:nth-child(2)[b-1ktbumgatz] {
    flex: 1;
}

.privacy-status__badge[b-1ktbumgatz] {
    padding: .3rem .55rem;
    color: var(--ui-success);
    background: var(--ui-success-bg);
    border-radius: 999px;
    font-size: .75rem;
    font-weight: 800;
    white-space: nowrap;
}

.privacy-table[b-1ktbumgatz] {
    overflow: hidden;
    border: 1px solid var(--ui-border);
    border-radius: .8rem;
}

.privacy-table__row[b-1ktbumgatz] {
    display: grid;
    grid-template-columns: 1.1fr 2fr 1.25fr;
    gap: .8rem;
    padding: .72rem .8rem;
    font-size: .82rem;
}

.privacy-table__row + .privacy-table__row[b-1ktbumgatz] {
    border-top: 1px solid var(--ui-border);
}

.privacy-table__head[b-1ktbumgatz] {
    color: var(--ui-muted);
    background: rgba(127, 127, 127, .06);
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .035em;
    text-transform: uppercase;
}

.privacy-note[b-1ktbumgatz] {
    display: flex;
    gap: .7rem;
    margin-top: 1rem;
    padding: .8rem .9rem;
    color: var(--ui-muted);
    background: rgba(127, 127, 127, .06);
    border-radius: .75rem;
    font-size: .82rem;
}

.privacy-note i[b-1ktbumgatz] {
    margin-top: .2rem;
    color: var(--ui-link);
}

.privacy-modal__footer[b-1ktbumgatz] {
    border-top: 1px solid var(--ui-border);
}

.privacy-modal__footer span[b-1ktbumgatz] {
    color: var(--ui-muted);
    font-size: .78rem;
}

.privacy-modal__actions[b-1ktbumgatz] {
    display: flex;
    gap: .55rem;
}

@media (max-width: 720px) {
    .privacy-banner[b-1ktbumgatz] {
        grid-template-columns: auto 1fr;
        right: .65rem;
        /* Lo scarto della barra inferiore va ripetuto: un `bottom` nudo qui
           annullerebbe quello della regola base e il banner finirebbe sotto. */
        bottom: calc(.65rem + var(--cma-tabbar-space, 0px));
        left: .65rem;
        gap: .75rem;
        padding: .85rem;
    }

    .privacy-banner__actions[b-1ktbumgatz] {
        grid-column: 1 / -1;
        justify-content: flex-end;
    }

    .privacy-status[b-1ktbumgatz] {
        align-items: flex-start;
        flex-wrap: wrap;
    }

    .privacy-status__badge[b-1ktbumgatz] {
        margin-left: 3.6rem;
    }

    .privacy-table__head[b-1ktbumgatz] {
        display: none;
    }

    .privacy-table__row[b-1ktbumgatz] {
        grid-template-columns: 1fr;
        gap: .2rem;
    }

    .privacy-table__row span:last-child[b-1ktbumgatz] {
        color: var(--ui-muted);
    }

    .privacy-modal__footer[b-1ktbumgatz] {
        align-items: stretch;
        flex-direction: column;
    }

    .privacy-modal__actions[b-1ktbumgatz] {
        justify-content: flex-end;
    }
}
/* /Shared/InvitoInstallazione.razor.rz.scp.css */
/* Fascia sopra la barra di navigazione inferiore, come i toast e l'informativa privacy.
   Esiste solo sul telefono: lo decide installazione.js, qui conta la disposizione. */
.invito-installazione[b-kwbz9z49f9] {
    position: fixed;
    z-index: 1070;
    right: .65rem;
    bottom: calc(.65rem + var(--cma-tabbar-space, 0px));
    left: .65rem;
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: center;
    gap: .75rem;
    padding: .85rem;
    color: var(--ui-text);
    background: var(--ui-surface);
    border: 1px solid var(--ui-border);
    border-top: 3px solid var(--ui-brand);
    border-radius: var(--ui-radius-card);
    box-shadow: var(--ui-shadow-raised);
    animation: invito-entra-b-kwbz9z49f9 var(--ui-motion-slow) var(--ui-ease-out);
}

.invito-installazione__icona[b-kwbz9z49f9] {
    border-radius: var(--ui-radius-control);
}

.invito-installazione__testo[b-kwbz9z49f9] {
    display: grid;
    gap: .15rem;
    font-size: .875rem;
    line-height: 1.4;
}

.invito-installazione__testo strong[b-kwbz9z49f9] {
    font-size: 1rem;
}

.invito-installazione__azioni[b-kwbz9z49f9] {
    grid-column: 1 / -1;
    display: flex;
    justify-content: flex-end;
    gap: var(--ui-space-2);
}

.invito-installazione__azioni .btn[b-kwbz9z49f9] {
    min-height: 44px;
}

@keyframes invito-entra-b-kwbz9z49f9 {
    from { opacity: 0; transform: translateY(12px); }
    to { opacity: 1; transform: none; }
}

@media (prefers-reduced-motion: reduce) {
    .invito-installazione[b-kwbz9z49f9] { animation: none; }
}
/* /Shared/InvitoNotifiche.razor.rz.scp.css */
/* Stessa fascia dell'invito all'installazione: sopra la barra inferiore sul telefono,
   scheda in basso a destra da tablet in su. */
.invito-notifiche[b-czh2fmi17y] {
    position: fixed;
    z-index: 1070;
    right: .65rem;
    bottom: calc(.65rem + var(--cma-tabbar-space, 0px));
    left: .65rem;
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: center;
    gap: .75rem;
    padding: .85rem;
    color: var(--ui-text);
    background: var(--ui-surface);
    border: 1px solid var(--ui-border);
    border-top: 3px solid var(--ui-brand);
    border-radius: var(--ui-radius-card);
    box-shadow: var(--ui-shadow-raised);
    animation: invito-notifiche-entra-b-czh2fmi17y var(--ui-motion-slow) var(--ui-ease-out);
}

@media (min-width: 641px) {
    .invito-notifiche[b-czh2fmi17y] {
        left: auto;
        right: 1.5rem;
        bottom: 1.5rem;
        width: min(26rem, calc(100vw - 3rem));
    }
}

.invito-notifiche__icona[b-czh2fmi17y] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    border-radius: var(--ui-radius-control);
    background: var(--ui-brand-soft);
    color: var(--ui-brand-text);
    font-size: 1.15rem;
}

.invito-notifiche__testo[b-czh2fmi17y] {
    display: grid;
    gap: .15rem;
    font-size: .875rem;
    line-height: 1.4;
}

.invito-notifiche__testo strong[b-czh2fmi17y] {
    font-size: 1rem;
}

.invito-notifiche__errore[b-czh2fmi17y] {
    color: var(--ui-danger);
}

.invito-notifiche__azioni[b-czh2fmi17y] {
    grid-column: 1 / -1;
    display: flex;
    justify-content: flex-end;
    gap: var(--ui-space-2);
}

.invito-notifiche__azioni .btn[b-czh2fmi17y] {
    min-height: 44px;
}

@keyframes invito-notifiche-entra-b-czh2fmi17y {
    from { opacity: 0; transform: translateY(12px); }
    to { opacity: 1; transform: none; }
}

@media (prefers-reduced-motion: reduce) {
    .invito-notifiche[b-czh2fmi17y] { animation: none; }
}
/* /Shared/MainLayout.razor.rz.scp.css */
.page[b-i2skirxyo5] {
    position: relative;
    display: flex;
    flex-direction: column;
}

.main[b-i2skirxyo5] {
    flex: 1;
    min-width: 0;
}

.sidebar[b-i2skirxyo5] {
    background: var(--ui-nav-bg);
    box-shadow: var(--ui-shadow-raised);
    overflow: hidden;
}

.top-row[b-i2skirxyo5] {
    background-color: var(--ui-surface);
    border-bottom: 1px solid var(--ui-border);
    justify-content: flex-end;
    height: 3.5rem;
    display: flex;
    align-items: center;
}

.top-row[b-i2skirxyo5]  a, .top-row .btn-link[b-i2skirxyo5] {
    white-space: nowrap;
    margin-left: 1.5rem;
}

.top-row a:first-child[b-i2skirxyo5] {
    overflow: hidden;
    text-overflow: ellipsis;
}

.main > .py-3[b-i2skirxyo5] {
    background: var(--ui-surface);
    border-bottom: 1px solid var(--ui-border);
}

.cma-header-shell[b-i2skirxyo5] {
    border-top: 3px solid var(--ui-brand);
    position: sticky;
    top: 0;
    z-index: 20;
    padding-top: .65rem;
    padding-bottom: .55rem;
    background: var(--ui-surface);
    border-bottom: 1px solid var(--ui-border);
}

.cma-header-content[b-i2skirxyo5] {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 1rem;
    align-items: start;
}

.cma-profile-toggle[b-i2skirxyo5] {
    color: var(--ui-text);
    font-weight: 700;
}

.cma-profile-toggle:hover[b-i2skirxyo5],
.cma-profile-toggle:focus[b-i2skirxyo5] {
    color: var(--ui-link);
}

.cma-profile-menu[b-i2skirxyo5] {
    min-width: 15rem;
    background: var(--ui-surface);
}

.cma-dropdown-label[b-i2skirxyo5] {
    font-size: var(--ui-text-label);
    letter-spacing: .06em;
    text-transform: uppercase;
    color: var(--ui-muted);
    font-weight: 800;
    padding: .35rem .7rem .2rem;
}

#alertsDropdown[b-i2skirxyo5] {
    width: 2.45rem;
    height: 2.45rem;
    border-radius: 50%;
    background: rgba(var(--ui-primary-rgb), 0.1);
    border: 1px solid rgba(var(--ui-primary-rgb), 0.2);
    color: var(--ui-link);
    transition: transform .2s ease, background-color .2s ease;
}

#alertsDropdown:hover[b-i2skirxyo5] {
    transform: translateY(-1px);
    background: rgba(var(--ui-primary-rgb), 0.18);
}

#alertsDropdown .fa-bell[b-i2skirxyo5] {
    color: var(--ui-brand-text);
}

@media (max-width: 640.98px) {
    .cma-header-shell[b-i2skirxyo5] {
        display: none;
    }

    .top-row:not(.auth)[b-i2skirxyo5] {
        display: none;
    }

    .top-row.auth[b-i2skirxyo5] {
        justify-content: space-between;
    }

    .top-row a[b-i2skirxyo5], .top-row .btn-link[b-i2skirxyo5] {
        margin-left: 0;
    }

    /* La testata del menu e' fissata in cima, quindi non occupa piu' spazio nel
       flusso: senza questo scarto la prima riga di ogni pagina le finirebbe sotto. */
    .main[b-i2skirxyo5] {
        width: auto;
        padding-top: calc(3.5rem + var(--cma-safe-top, 0px));
    }

    /* Inset della safe area, piu' lo spazio della barra di navigazione inferiore:
       senza, l'ultima riga di ogni elenco resterebbe coperta. */
    .content[b-i2skirxyo5] {
        padding-left: calc(1rem + var(--cma-safe-left, 0px)) !important;
        padding-right: calc(1rem + var(--cma-safe-right, 0px)) !important;
        padding-bottom: calc(1rem + var(--cma-tabbar-space, 0px)) !important;
    }
}

@media (min-width: 641px) {
    .page[b-i2skirxyo5] {
        flex-direction: row;
    }

    .sidebar[b-i2skirxyo5] {
        width: 268px;
        flex-shrink: 0;
        height: 100vh;
        position: sticky;
        top: 0;
        bottom: 0;
    }

    .top-row[b-i2skirxyo5] {
        position: sticky;
        top: 0;
        z-index: 1;
    }

    .main > div[b-i2skirxyo5] {
        padding-left: 2rem !important;
        padding-right: 1.5rem !important;
    }
}

@media (min-width: 641px) and (max-width: 991.98px) {
    .sidebar[b-i2skirxyo5] {
        width: 240px;
    }

    .main > div[b-i2skirxyo5] {
        padding-left: 1rem !important;
        padding-right: 1rem !important;
    }
}

.cma-header-content > *[b-i2skirxyo5] { min-width: 0; }
.cma-profile-toggle[b-i2skirxyo5] { min-height: 44px; overflow-wrap: anywhere; }
.cma-profile-menu[b-i2skirxyo5] { color: var(--ui-text); border-color: var(--ui-border); }
@media (min-width: 641px) and (max-width: 991.98px) {
    .cma-header-content[b-i2skirxyo5] { grid-template-columns: minmax(0, 1fr); gap: var(--ui-space-2); }
}

/* Menu ridotto alle icone: la barra si stringe e la pagina prende lo spazio. */
@media (min-width: 641px) {
    .sidebar[b-i2skirxyo5] { transition: width var(--ui-motion-base) var(--ui-ease-out); }
    html.cma-sidebar-collapsed .sidebar[b-i2skirxyo5] { width: 4.5rem; }
}
@media (prefers-reduced-motion: reduce) {
    .sidebar[b-i2skirxyo5] { transition: none; }
}
/* /Shared/MobileTabBar.razor.rz.scp.css */
/* La barra esiste solo su smartphone: sopra i 640px la navigazione e' la sidebar. */
.mobile-tab-bar[b-ztgmbfza4d] {
    display: none;
}

/* Le voci sono `NavLink`, quindi il loro `<a>` e' reso da un componente figlio e
   non riceve l'attributo di scope: tutte le regole che le riguardano passano da
   `::deep`. Senza, colpirebbero solo il pulsante Menu, scritto direttamente qui. */

@media (max-width: 640.98px) {
    .mobile-tab-bar[b-ztgmbfza4d] {
        position: fixed;
        right: 0;
        bottom: 0;
        left: 0;
        z-index: 1030;
        display: grid;
        grid-auto-flow: column;
        grid-auto-columns: 1fr;
        /* Tinta piena, non il gradiente della sidebar: quello e' costruito per una
           colonna alta e stretta, e su una barra larga e bassa mostrerebbe
           l'arancione di coda su una sola voce.

           Il valore di ripiego non e' decorativo: se `cma-ui.css` arriva da
           una copia in cache priva del token, senza ripiego la barra resterebbe
           trasparente e il contenuto della pagina le passerebbe attraverso. */
        background: var(--ui-nav-bg, #2b4058);
        border-top: 1px solid var(--ui-nav-border, #445d7a);
        box-shadow: 0 -2px 14px rgba(0, 0, 0, .18);
        padding-right: var(--cma-safe-right, 0px);
        padding-bottom: var(--cma-safe-bottom, 0px);
        padding-left: var(--cma-safe-left, 0px);
    }

    html.theme-dark .mobile-tab-bar[b-ztgmbfza4d],
    body.theme-dark .mobile-tab-bar[b-ztgmbfza4d] {
        background: var(--ui-nav-bg, #152131);
    }

    .mobile-tab-bar[b-ztgmbfza4d]  .mobile-tab {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: .15rem;
        min-width: 0;
        min-height: 56px;
        padding: .35rem .1rem;
        border: 0;
        background: transparent;
        color: var(--ui-nav-muted);
        font-size: var(--ui-text-label);
        font-weight: 700;
        line-height: 1.1;
        text-align: center;
        text-decoration: none;
        transition: color .2s ease, background-color .2s ease;
    }

    .mobile-tab-bar[b-ztgmbfza4d]  .mobile-tab i {
        font-size: 1.05rem;
    }

    .mobile-tab-bar[b-ztgmbfza4d]  .mobile-tab span {
        max-width: 100%;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: normal;
        overflow-wrap: anywhere;
    }

    /* La voce attiva si riconosce dal colore pieno e dalla barra superiore:
       il solo colore non basterebbe a chi distingue male i contrasti. */
    .mobile-tab-bar[b-ztgmbfza4d]  .mobile-tab.active,
    .mobile-tab-bar[b-ztgmbfza4d]  .mobile-tab.is-active {
        color: var(--ui-nav-text);
        background: var(--ui-nav-alt);
        box-shadow: inset 0 3px 0 var(--ui-brand);
    }

    .mobile-tab-bar[b-ztgmbfza4d]  .mobile-tab:focus-visible {
        outline: 2px solid var(--ui-nav-text);
        outline-offset: -3px;
    }
}

/* Schermi molto stretti: l'icona resta, l'etichetta si comprime. */
@media (max-width: 360px) {
    .mobile-tab-bar[b-ztgmbfza4d]  .mobile-tab {
        font-size: var(--ui-text-label);
    }

    .mobile-tab-bar[b-ztgmbfza4d]  .mobile-tab i {
        font-size: 1rem;
    }
}

.mobile-tab-bar[b-ztgmbfza4d]  :is(.active, .is-active) i { color: var(--ui-brand); }
/* /Shared/NavigationSearch.razor.rz.scp.css */
.cma-navigation-search[b-5fypnb20hc] { position: relative; width: min(100%, 52rem); min-width: 0; }
.cma-navigation-search .input-group-text[b-5fypnb20hc],
.cma-navigation-search .form-control[b-5fypnb20hc] { min-height: 2.6rem; padding-top: .4rem; padding-bottom: .4rem; font-size: 1rem; }
.cma-navigation-search .input-group-text[b-5fypnb20hc] { background: var(--ui-surface); color: var(--ui-muted); }
.cma-navigation-search-results[b-5fypnb20hc] { position: absolute; z-index: 30; top: calc(100% + .35rem); width: 100%; max-height: 22rem; overflow: auto; background: var(--ui-surface); color: var(--ui-text); border: 1px solid var(--ui-border); border-radius: .5rem; padding: .25rem; }
.cma-search-hint kbd[b-5fypnb20hc] { padding: .1rem .35rem; border: 1px solid var(--ui-border); border-radius: .3rem; background: transparent; color: var(--ui-muted); font-family: inherit; font-size: .75rem; box-shadow: none; }
@media (pointer: coarse), (max-width: 640.98px) { .cma-search-hint[b-5fypnb20hc] { display: none; } }
.cma-navigation-search-result[b-5fypnb20hc] { width: 100%; display: flex; gap: .65rem; align-items: start; text-align: left; border: 0; border-radius: .35rem; padding: .55rem; background: transparent; color: inherit; }
.cma-navigation-search-result:hover[b-5fypnb20hc], .cma-navigation-search-result:focus[b-5fypnb20hc] { background: rgba(var(--ui-primary-rgb), .1); }
.cma-navigation-search-result small[b-5fypnb20hc] { display: block; color: var(--ui-muted); font-size: .8rem; }
.cma-navigation-shortcuts[b-5fypnb20hc] { display: flex; flex-wrap: wrap; align-items: center; gap: .3rem; margin-top: .35rem; }
.cma-navigation-shortcuts-title[b-5fypnb20hc] { color: var(--ui-muted); font-size: .75rem; font-weight: 700; margin-left: .3rem; text-transform: uppercase; }
.cma-navigation-shortcuts-title:first-child[b-5fypnb20hc] { margin-left: 0; }
.cma-favorites-list[b-5fypnb20hc] { display: flex; flex-wrap: wrap; gap: .3rem; }
.cma-shortcuts-toggle[b-5fypnb20hc] { font-weight: 600; text-decoration: none; }
.cma-shortcuts-toggle:hover[b-5fypnb20hc] { text-decoration: underline; }
@media (max-width: 640.98px) {
    .cma-navigation-search .input-group-text[b-5fypnb20hc],
    .cma-navigation-search .form-control[b-5fypnb20hc] { min-height: 2.45rem; }
    /* Nel menu del telefono: titolo e azione sulla prima riga, preferiti sotto. */
    .cma-navigation-shortcuts[b-5fypnb20hc] { margin-top: var(--ui-space-2); }
    .cma-navigation-shortcuts-title[b-5fypnb20hc] { order: 0; margin-left: 0; color: var(--ui-nav-muted); }
    .cma-shortcuts-toggle[b-5fypnb20hc] { order: 1; margin-left: auto; }
    .cma-favorites-list[b-5fypnb20hc] { order: 2; flex-basis: 100%; }
    .cma-shortcuts-editor[b-5fypnb20hc] { order: 3; }
    .cma-favorites-list .cma-favorite[b-5fypnb20hc] { color: var(--ui-nav-text); border-color: var(--ui-nav-border); background: transparent; }
    .cma-navigation-shortcuts .cma-shortcuts-toggle[b-5fypnb20hc] { color: var(--ui-nav-accent); }
}

.cma-navigation-shortcuts-title i[b-5fypnb20hc] { color: var(--ui-brand-text); }
.cma-shortcuts-editor[b-5fypnb20hc] { display: flex; flex-wrap: wrap; gap: .35rem; width: 100%; max-height: 18rem; overflow-y: auto; padding: .75rem; border: 1px solid var(--ui-border); border-radius: var(--ui-radius-control); background: var(--ui-surface); }
@media (pointer: coarse), (max-width: 640.98px) {
    .cma-navigation-search-result[b-5fypnb20hc], .cma-navigation-shortcuts button[b-5fypnb20hc] { min-height: 44px; }
    .cma-navigation-shortcuts button[b-5fypnb20hc] { min-width: 44px; }
}
/* Comparsa di risultati e pannello preferiti. La chiusura resta immediata: segue
   una scelta o una navigazione, e un'uscita animata la farebbe sembrare lenta. */
@keyframes cmaPanelIn-b-5fypnb20hc { from { opacity: 0; translate: 0 -6px; } to { opacity: 1; translate: 0 0; } }
.cma-navigation-search-results[b-5fypnb20hc], .cma-shortcuts-editor[b-5fypnb20hc] { animation: cmaPanelIn-b-5fypnb20hc var(--ui-motion-base) var(--ui-ease-out); }
@media (prefers-reduced-motion: reduce) {
    .cma-navigation-search-results[b-5fypnb20hc], .cma-shortcuts-editor[b-5fypnb20hc] { animation: none; }
}
/* /Shared/NavMenu.razor.rz.scp.css */
.ico[b-2tpfw1d7uw] {
    width: 2rem;
}

.logo[b-2tpfw1d7uw] {
    height: 42px;
}

.nav-menu-shell[b-2tpfw1d7uw] {
    height: calc(100vh - 3.5rem);
    overflow-y: auto;
    overflow-x: hidden;
    padding: 0.2rem 0 0.65rem;
}

.nav-menu-shell[b-2tpfw1d7uw]::-webkit-scrollbar {
    width: 8px;
}

.nav-menu-shell[b-2tpfw1d7uw]::-webkit-scrollbar-thumb {
    background: rgba(255, 255, 255, 0.2);
    border-radius: 999px;
}

.nav-mobile-tools[b-2tpfw1d7uw] {
    display: none;
}

.top-row[b-2tpfw1d7uw] {
    height: 3.5rem;
    background-color: var(--ui-nav-alt);
    backdrop-filter: blur(6px);
}

.navbar-brand[b-2tpfw1d7uw] {
    font-size: 1.1rem;
}

.oi[b-2tpfw1d7uw] {
    width: 2rem;
    font-size: 1rem;
    vertical-align: text-top;
    top: -2px;
}

.nav-item[b-2tpfw1d7uw] {
    font-size: var(--ui-text-compact);
    padding: 0 0.55rem 0.22rem !important;
}

.nav-item:first-of-type[b-2tpfw1d7uw] {
    padding-top: 0;
}

.nav-divider[b-2tpfw1d7uw] {
    list-style: none;
    height: 1px;
    margin: 0.3rem 0.8rem 0.4rem;
    background: var(--ui-nav-border);
}

/* A single expanded area keeps the menu short; hidden removes links from Tab. */
.nav-area[b-2tpfw1d7uw] { list-style: none; padding: 0 .55rem .3rem; }
.nav-area--settings[b-2tpfw1d7uw] { margin-top: .75rem; padding-top: .75rem; border-top: 1px solid var(--ui-nav-border); }
.nav-area-toggle[b-2tpfw1d7uw] {
    display: flex; align-items: center; justify-content: space-between; gap: .5rem;
    width: 100%; min-height: 44px; padding: .5rem .45rem; border: 0;
    border-radius: var(--ui-radius-control); background: transparent;
    color: var(--ui-nav-text); font-size: var(--ui-text-compact); text-align: left;
}
.nav-area-toggle > span[b-2tpfw1d7uw] { display: flex; align-items: center; min-width: 0; font-weight: 600; }
.nav-area-toggle:hover[b-2tpfw1d7uw], .nav-area-toggle[aria-expanded="true"][b-2tpfw1d7uw] { background: var(--ui-nav-alt); }
.nav-area-toggle.is-active[b-2tpfw1d7uw] { box-shadow: inset 3px 0 0 var(--ui-brand); }
.nav-area-toggle:is(.is-active, [aria-expanded="true"]) .menu-icon[b-2tpfw1d7uw] { color: var(--ui-brand); }
.nav-area-chevron[b-2tpfw1d7uw] { flex: 0 0 auto; font-size: .75rem; transition: transform var(--ui-motion-base) var(--ui-ease-out); }
.nav-area-toggle[aria-expanded="true"] .nav-area-chevron[b-2tpfw1d7uw] { transform: rotate(180deg); }
.nav-area-items[b-2tpfw1d7uw] { list-style: none; margin: .25rem 0 0 .9rem; padding: 0 0 0 .5rem; border-left: 1px solid var(--ui-nav-border); }
/* Apertura e chiusura a scorrimento: la riga della griglia passa da 0fr a 1fr.
   visibility cambia subito all'apertura e solo a fine transizione alla chiusura. */
.nav-area-panel[b-2tpfw1d7uw] {
    display: grid; grid-template-rows: 0fr; visibility: hidden;
    transition: grid-template-rows var(--ui-motion-fast) var(--ui-ease-in), visibility 0s linear var(--ui-motion-fast);
}
.nav-area-panel.is-open[b-2tpfw1d7uw] {
    grid-template-rows: 1fr; visibility: visible;
    transition: grid-template-rows var(--ui-motion-base) var(--ui-ease-out), visibility 0s;
}
.nav-area-panel > .nav-area-items[b-2tpfw1d7uw] { min-height: 0; overflow: hidden; margin-top: 0; }
/* Spazio sopra la prima voce dentro la parte che si richiude: da chiuso l'area non lascia vuoti. */
.nav-area-panel > .nav-area-items > li:first-child[b-2tpfw1d7uw] { margin-top: .25rem; }

/* Area with a single destination for the role: a direct link at area level. */
.nav-area-single[b-2tpfw1d7uw] { padding-bottom: .3rem !important; }
.nav-area-single.nav-area--settings[b-2tpfw1d7uw] { padding-top: .75rem !important; }
.nav-area-single[b-2tpfw1d7uw]  a { font-weight: 600; }

/* Logout lives at the bottom of the phone menu, away from the profile command. */
.nav-mobile-logout[b-2tpfw1d7uw] { display: none; margin-top: .75rem; padding-top: .75rem !important; border-top: 1px solid var(--ui-nav-border); }
/* Voci successive del gruppo utente in fondo al menu: un solo separatore sopra il gruppo. */
.nav-mobile-logout--seguito[b-2tpfw1d7uw] { margin-top: 0; padding-top: 0 !important; border-top: 0; }

.nav-item--nested[b-2tpfw1d7uw] {
    padding-left: 0.35rem !important;
    padding-right: 0 !important;
}

.nav-item[b-2tpfw1d7uw]  a {
    color: var(--ui-nav-text);
    border-radius: 8px;
    min-height: 2.5rem;
    display: flex;
    align-items: center;
    line-height: 1.15rem;
    padding: 0.18rem 0.45rem;
    transition: transform .2s ease, background-color .2s ease, box-shadow .2s ease;
}

.nav-item[b-2tpfw1d7uw]  a.active {
    background: var(--ui-nav-alt);
    color: var(--ui-nav-text);
    box-shadow: inset 3px 0 0 var(--ui-brand);
}

.nav-item[b-2tpfw1d7uw]  a:hover {
    background-color: var(--ui-nav-alt);
    color: var(--ui-nav-text);
    transform: none;
}

/* Voce che apre un pannello invece di navigare: e' un button, non un link, ma
   nell'elenco deve essere indistinguibile dalle altre voci. */
.nav-link-button[b-2tpfw1d7uw] {
    width: 100%;
    display: flex;
    align-items: center;
    min-height: 2.5rem;
    line-height: 1.15rem;
    padding: 0.18rem 0.45rem;
    border: 0;
    border-radius: 8px;
    background: transparent;
    color: var(--ui-nav-text);
    text-align: left;
    transition: transform .2s ease, background-color .2s ease;
}

.nav-link-button:hover[b-2tpfw1d7uw] {
    background-color: var(--ui-nav-alt);
    color: var(--ui-nav-text);
    transform: none;
}

.menu-icon[b-2tpfw1d7uw] {
    flex: 0 0 auto;
    width: 1.45rem;
    height: 1.45rem;
    border-radius: 7px;
    margin-right: 0.48rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 0.74rem;
    color: var(--ui-nav-accent);
    background: var(--ui-nav-alt);
    box-shadow: none;
}


@media (max-width: 640.98px) {
    /* Inset della safe area: la barra del menu e' il primo elemento sotto il
       notch, la lista scorrevole arriva fino alla barra inferiore.
       La testata resta agganciata in alto e porta il solo logo, centrato. Serve
       `fixed` e non `sticky`, perche' il contenitore della sidebar e' alto quanto
       la testata stessa e non lascerebbe margine di scorrimento. Staccata dalla
       sidebar, la testata ha bisogno di uno sfondo pieno proprio: quello
       originale e' una velatura pensata per posare sul gradiente. */
    .top-row[b-2tpfw1d7uw] {
        position: fixed;
        top: 0;
        right: 0;
        left: 0;
        z-index: 1031;
        height: calc(3.5rem + var(--cma-safe-top, 0px));
        padding-top: var(--cma-safe-top, 0px);
        justify-content: center;
    }

    /* Testata e pannello condividono la tinta della barra inferiore. Il gradiente
       della sidebar e' tarato su una colonna alta e stretta: su un pannello largo
       quanto lo schermo la coda arancione arriva a meta' altezza e il testo delle
       voci in fondo perde contrasto. */
    /* Ripiego pieno: un pannello trasparente lascerebbe passare la pagina se
       `cma-ui.css` arrivasse da una copia in cache priva del token. */
    .top-row[b-2tpfw1d7uw],
    .nav-menu-shell[b-2tpfw1d7uw] {
        background: var(--ui-nav-bg, #2b4058);
    }

    html.theme-dark .top-row[b-2tpfw1d7uw],
    html.theme-dark .nav-menu-shell[b-2tpfw1d7uw],
    body.theme-dark .top-row[b-2tpfw1d7uw],
    body.theme-dark .nav-menu-shell[b-2tpfw1d7uw] {
        background: var(--ui-nav-bg, #152131);
    }

    /* Il menu e' un pannello sovrapposto, non un blocco nel flusso: da aperto
       spingeva il contenuto della pagina piu' in basso, e scorrendo si vedevano
       menu e pagina uno dopo l'altro. Fissato fra testata e barra inferiore,
       copre lo schermo e scorre per conto proprio. */
    .nav-menu-shell[b-2tpfw1d7uw] {
        position: fixed;
        top: calc(3.5rem + var(--cma-safe-top, 0px));
        right: 0;
        bottom: var(--cma-tabbar-space, 0px);
        left: 0;
        z-index: 1029;
        height: auto;
        padding: .8rem calc(.75rem + var(--cma-safe-right, 0px)) 1rem calc(.75rem + var(--cma-safe-left, 0px));
    }

    /* Bersagli tattili: 32px erano sotto la soglia utilizzabile con un dito. */
    .nav-item[b-2tpfw1d7uw]  a,
    .nav-link-button[b-2tpfw1d7uw],
    .nav-area-toggle[b-2tpfw1d7uw] {
        min-height: 44px;
        padding-top: .4rem;
        padding-bottom: .4rem;
    }


    .nav-mobile-logout[b-2tpfw1d7uw] {
        display: block;
    }

    .nav-mobile-tools[b-2tpfw1d7uw] {
        display: grid;
        gap: .8rem;
        margin-bottom: .9rem;
        padding-bottom: .9rem;
        border-bottom: 1px solid var(--ui-nav-border);
    }

    .nav-mobile-tools[b-2tpfw1d7uw]  .cma-navigation-search {
        width: 100%;
    }

    .nav-mobile-account[b-2tpfw1d7uw] {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: .75rem;
        padding: .7rem;
        border: 1px solid var(--ui-nav-border);
        border-radius: .65rem;
        background: rgba(255, 255, 255, .06);
    }

    .nav-mobile-account-name[b-2tpfw1d7uw] {
        display: flex;
        align-items: center;
        min-width: 0;
        gap: .55rem;
        color: var(--ui-nav-text);
        font-weight: 700;
    }

    .nav-mobile-account-name > span:last-child[b-2tpfw1d7uw] {
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .nav-mobile-account-icon[b-2tpfw1d7uw] {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        flex: 0 0 auto;
        width: 2rem;
        height: 2rem;
        border-radius: 50%;
        background: rgba(255, 255, 255, .12);
    }

    .nav-mobile-account-actions[b-2tpfw1d7uw] {
        display: flex;
        flex: 0 0 auto;
        gap: .4rem;
    }

    .nav-mobile-account-btn[b-2tpfw1d7uw] {
        display: inline-grid;
        place-items: center;
        width: 44px;
        height: 44px;
        padding: 0;
    }

    .nav-menu-shell > .nav[b-2tpfw1d7uw] {
        margin-left: -.2rem;
        margin-right: -.2rem;
    }
}

@media (min-width: 641px) {
    .collapse[b-2tpfw1d7uw] {
        display: block;
    }
}

/* Anche su tablet touch i comandi conservano una superficie utile. */
@media (pointer: coarse) {
    .nav-item[b-2tpfw1d7uw]  a, .nav-link-button[b-2tpfw1d7uw], .nav-area-toggle[b-2tpfw1d7uw] { min-height: 44px; }
}


/* Align with the main header: one continuous brand line above both areas. */
.top-row[b-2tpfw1d7uw] { border-top: 3px solid var(--ui-brand); }
.nav-item[b-2tpfw1d7uw]  a.active .menu-icon { color: var(--ui-brand); }

/* Telefono: il pannello del menu resta nel layout anche da chiuso (invisibile e
   non cliccabile) per animare sia l'apertura sia la chiusura. Batte la regola
   Bootstrap .collapse:not(.show) { display: none }. */
@media (max-width: 640.98px) {
    .nav-menu-shell.collapse[b-2tpfw1d7uw] {
        display: block; visibility: hidden; opacity: 0; translate: 0 -12px; pointer-events: none;
        transition: opacity var(--ui-motion-fast) var(--ui-ease-in), translate var(--ui-motion-fast) var(--ui-ease-in), visibility 0s linear var(--ui-motion-fast);
    }
    .nav-menu-shell:not(.collapse)[b-2tpfw1d7uw] {
        visibility: visible; opacity: 1; translate: 0 0;
        transition: opacity var(--ui-motion-base) var(--ui-ease-out), translate var(--ui-motion-base) var(--ui-ease-out), visibility 0s;
    }
}

/* Menu ridotto alle icone (solo da tablet in su). Lo stato e' la classe
   cma-sidebar-collapsed su <html>; la larghezza della barra sta in MainLayout. */
.nav-collapse-toggle[b-2tpfw1d7uw] { display: none; }

@media (min-width: 641px) {
    .top-row[b-2tpfw1d7uw] { flex-wrap: nowrap; justify-content: space-between; gap: var(--ui-space-2); }
    /* !important: batte [hidden] { display: none !important } di Bootstrap. */
    .nav-collapse-toggle[hidden][b-2tpfw1d7uw] {
        display: inline-flex !important; flex: 0 0 auto; align-items: center; justify-content: center;
        width: 2.25rem; height: 2.25rem; padding: 0;
        border: 1px solid var(--ui-nav-border); border-radius: var(--ui-radius-control);
        background: transparent; color: var(--ui-nav-text);
    }
    .nav-collapse-toggle:hover[b-2tpfw1d7uw] { background: var(--ui-nav-alt); }
    .nav-collapse-toggle:focus-visible[b-2tpfw1d7uw] { outline: 2px solid var(--ui-nav-accent); outline-offset: 2px; }

    html.cma-sidebar-collapsed .top-row[b-2tpfw1d7uw] { justify-content: center; padding-inline: 0 !important; }
    html.cma-sidebar-collapsed .top-row[b-2tpfw1d7uw]  .nav-logo-link { display: none; }
    html.cma-sidebar-collapsed .nav-label[b-2tpfw1d7uw],
    html.cma-sidebar-collapsed .nav-area-chevron[b-2tpfw1d7uw],
    html.cma-sidebar-collapsed .nav-area-panel[b-2tpfw1d7uw] { display: none; }
    html.cma-sidebar-collapsed .nav-item[b-2tpfw1d7uw],
    html.cma-sidebar-collapsed .nav-area[b-2tpfw1d7uw] { padding-left: .5rem !important; padding-right: .5rem !important; }
    html.cma-sidebar-collapsed .nav-item[b-2tpfw1d7uw]  a,
    html.cma-sidebar-collapsed .nav-area-toggle[b-2tpfw1d7uw] { justify-content: center; padding-left: 0; padding-right: 0; }
    html.cma-sidebar-collapsed .nav-area-toggle > span[b-2tpfw1d7uw] { justify-content: center; }
    html.cma-sidebar-collapsed .menu-icon[b-2tpfw1d7uw] { width: 2rem; height: 2rem; margin-right: 0; font-size: .9rem; }
}

/* Campanella delle notifiche: solo sulla testata del telefono, a destra del logo centrato. */
.nav-campanella-mobile[b-2tpfw1d7uw] { display: none; }

@media (max-width: 640.98px) {
    .nav-campanella-mobile[b-2tpfw1d7uw] {
        display: block;
        position: absolute;
        top: calc(var(--cma-safe-top, 0px) + .375rem);
        right: var(--ui-space-3);
    }
}
