@import '_content/Soluziona.Apps.UI/Soluziona.Apps.UI.tb4wl212jp.bundle.scp.css';

/* /Components/CampoPassword.razor.rz.scp.css */
.campo-password[b-x41e35x7fl] {
    min-width: 0;
}

    .campo-password label[b-x41e35x7fl] {
        display: block;
        margin-bottom: 6px;
        font-size: 14px;
        color: #2f2926;
    }

.campo-password-box[b-x41e35x7fl] {
    display: flex;
    align-items: center;
    gap: 10px;
    height: 46px;
    padding: 0 12px;
    border: 1px solid #dfe3df;
    border-radius: 10px;
    background: #fff;
}

    .campo-password-box:focus-within[b-x41e35x7fl] {
        border-color: #61b51c;
    }

    .campo-password-box.errore[b-x41e35x7fl] {
        border-color: #c0392b;
    }

    .campo-password-box > i[b-x41e35x7fl] {
        color: #6f6f6f;
        font-size: 18px;
    }

    .campo-password-box input[b-x41e35x7fl] {
        flex: 1;
        min-width: 0;
        border: 0;
        outline: 0;
        background: transparent;
        font-size: 16px;
        font-family: inherit;
    }

.campo-password-occhio[b-x41e35x7fl] {
    border: 0;
    background: transparent;
    color: #6f6f6f;
    font-size: 20px;
    cursor: pointer;
    padding: 4px;
}

.campo-password-errore[b-x41e35x7fl] {
    margin-top: 6px;
    color: #c0392b;
    font-size: 13px;
}

@media (max-width: 767.98px) {
    .campo-password + .campo-password[b-x41e35x7fl] {
        margin-top: 14px;
    }
}
/* /Components/CardAllegato.razor.rz.scp.css */
.allegato-riga[b-h2ee5g4y9g] {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto auto; /* icona | testo | anteprima | download */
    align-items: center;
    gap: 14px;
    padding: 16px 22px;
    background: #fff;
}

    .allegato-riga + .allegato-riga[b-h2ee5g4y9g] {
        border-top: 1px solid #eee;
    }

.allegato-icona[b-h2ee5g4y9g] {
    font-size: 40px;
}

    .allegato-icona.pdf[b-h2ee5g4y9g] {
        color: #d71920;
    }

    .allegato-icona.img[b-h2ee5g4y9g] {
        color: #f28c00;
    }

.allegato-testo[b-h2ee5g4y9g] {
    min-width: 0;
}

.allegato-nome[b-h2ee5g4y9g] {
    font-size: 17px;
    font-weight: 500;
    color: #2f2926;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.allegato-meta[b-h2ee5g4y9g] {
    margin-top: 3px;
    font-size: 14px;
    color: #8a8f8a;
}

.allegato-azione[b-h2ee5g4y9g] {
    width: 44px;
    height: 44px;
    border: 0;
    border-radius: 50%;
    background: transparent;
    color: #49a913;
    font-size: 22px;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

    .allegato-azione:hover:not(:disabled)[b-h2ee5g4y9g] {
        background: #eef7e7;
    }

    .allegato-azione:disabled[b-h2ee5g4y9g] {
        opacity: .5;
        cursor: default;
    }

.spinner-doc[b-h2ee5g4y9g] {
    width: 20px;
    height: 20px;
    border: 2px solid rgba(73, 169, 19, .3);
    border-top-color: #49a913;
    border-radius: 50%;
    animation: gira-doc-b-h2ee5g4y9g .7s linear infinite;
}

@keyframes gira-doc-b-h2ee5g4y9g {
    to {
        transform: rotate(360deg);
    }
}

/* Telefono: ogni riga diventa una card separata */
@media (max-width: 640px) {
    .allegato-riga[b-h2ee5g4y9g] {
        padding: 14px;
        gap: 10px;
        border-radius: 14px;
        box-shadow: 0 2px 10px rgba(0, 0, 0, .06);
    }

        .allegato-riga + .allegato-riga[b-h2ee5g4y9g] {
            border-top: 0;
        }

    .allegato-icona[b-h2ee5g4y9g] {
        font-size: 34px;
    }
}
/* /Components/CardComunicazione.razor.rz.scp.css */

.comunicazione-card[b-bukanlkare] {
    width: 100%;
    min-height: var(--comunicazione-card-height);
    padding: 12px 0;
    border: 0;
    border-bottom: 1px solid #e9e9e9;
    display: grid;
    grid-template-columns: 58px minmax(0, 1fr) auto;
    align-items: center;
    gap: 14px;
    background: transparent;
    color: inherit;
    text-align: left;
    font-family: inherit;
    cursor: pointer;
}

    .comunicazione-card:last-child[b-bukanlkare] {
        border-bottom: 0;
    }

    .comunicazione-card:hover[b-bukanlkare] {
        background: #fafafa;
    }

    .comunicazione-card:focus[b-bukanlkare] {
        outline: none;
    }

    .comunicazione-card:focus-visible[b-bukanlkare] {
        outline: 2px solid #58bf17;
        outline-offset: 3px;
        border-radius: 12px;
    }



.comunicazione-icona[b-bukanlkare] {
    width: 48px;
    height: 48px;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
}

.comunicazione-icona i[b-bukanlkare] {
    font-size: 25px;
    line-height: 1;
}


.comunicazione-testo[b-bukanlkare] {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.comunicazione-titolo[b-bukanlkare] {
    color: #2f2926;
    font-size: 17px;
    line-height: 1.2;
    font-weight: 800;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.comunicazione-descrizione[b-bukanlkare] {
    color: #696969;
    font-size: 14px;
    line-height: 1.25;
    font-weight: 500;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.comunicazione-badge[b-bukanlkare] {
    min-width: 86px;
    padding: 8px 14px;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    line-height: 1;
    font-weight: 700;
    white-space: nowrap;
}



/* CSS for CardComunicazione component */
.comunicazione-icona-evento[b-bukanlkare] {
    background: #fff3dc;
    color: #f49a00;
}

.comunicazione-icona-riunione[b-bukanlkare] {
    background: #f1eeee;
    color: #5b514d;
}

.comunicazione-icona-amministrazione[b-bukanlkare] {
    background: #e8f4ff;
    color: #2474b8;
}

.comunicazione-icona-formazione[b-bukanlkare] {
    background: #f0e9ff;
    color: #6b3fc6;
}

.comunicazione-icona-informatica[b-bukanlkare] {
    background: #e7f4ff;
    color: #2675b8;
}

.comunicazione-icona-regolamento[b-bukanlkare] {
    background: #e9f7df;
    color: #4a9f16;
}

.comunicazione-icona-altro[b-bukanlkare] {
    background: #eeeeee;
    color: #555555;
}


.comunicazione-badge-importante[b-bukanlkare] {
    background: #fff0d9;
    color: #ef8700;
}

.comunicazione-badge-urgente[b-bukanlkare] {
    background: #ffe1e1;
    color: #d71920;
}

.comunicazione-badge-normale[b-bukanlkare] {
    background: #eeeeee;
    color: #555555;
}



@media (min-width: 900px) {
 
    .comunicazione-card[b-bukanlkare] {
        grid-template-columns: 62px minmax(0, 1fr) auto;
        gap: 16px;
        padding: 14px 0;
    }

    .comunicazione-icona[b-bukanlkare] {
        width: 52px;
        height: 52px;
    }

    .comunicazione-titolo[b-bukanlkare] {
        font-size: 18px;
    }

    .comunicazione-descrizione[b-bukanlkare] {
        font-size: 15px;
    }
}

/* Mobile */
@media (max-width: 767.98px) {
  
    .comunicazione-card[b-bukanlkare] {
        min-height: var(--comunicazione-card-height);
        grid-template-columns: 52px minmax(0, 1fr) auto;
        gap: 10px;
        padding: 11px 0;
    }

    .comunicazione-icona[b-bukanlkare] {
        width: 44px;
        height: 44px;
    }

        .comunicazione-icona i[b-bukanlkare] {
            font-size: 22px;
        }

    .comunicazione-titolo[b-bukanlkare] {
        font-size: 16px;
    }

    .comunicazione-descrizione[b-bukanlkare] {
        font-size: 13px;
    }

    .comunicazione-badge[b-bukanlkare] {
        min-width: 74px;
        padding: 7px 11px;
        font-size: 13px;
    }
}

/* Mobile stretto */
@media (max-width: 430px) {
    .comunicazione-card[b-bukanlkare] {
        grid-template-columns: 48px minmax(0, 1fr) auto;
        gap: 9px;
    }

    .comunicazione-badge[b-bukanlkare] {
        min-width: 0;
        padding: 7px 10px;
        font-size: 12px;
    }

    .comunicazione-titolo[b-bukanlkare] {
        font-size: 15px;
    }

    .comunicazione-descrizione[b-bukanlkare] {
        font-size: 12px;
    }
}
/* /Components/CardRichiesta.razor.rz.scp.css */


/* =========================
   LE TUE RICHIESTE
   ========================= */


.richiesta-card[b-6xz38rt6mn] {
    width: 100%;
    min-height: var(--richiesta-card-height);
    border: 0;
    padding: 10px 0;
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto auto; /* icona | testo | stato | freccia */
    align-items: center;
    gap: 14px;
    background: #ffffff;
    color: inherit;
    text-align: left;
    cursor: pointer;
}

    .richiesta-card:last-child[b-6xz38rt6mn] {
        border-bottom: 0;
    }

    .richiesta-card:hover[b-6xz38rt6mn] {
        background: #fafafa;
    }

    .richiesta-card:focus[b-6xz38rt6mn] {
        outline: none;
    }

    .richiesta-card:focus-visible[b-6xz38rt6mn] {
        outline: 2px solid #58bf17;
        outline-offset: 3px;
        border-radius: 12px;
    }

.richiesta-icona[b-6xz38rt6mn] {
    width: 48px;
    height: 48px;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
}

.richiesta-icona i[b-6xz38rt6mn] {
        font-size: 24px;
        line-height: 1;
    }

.richiesta-icona-ferie[b-6xz38rt6mn] {
    background: #e9f7df;
    color: #4a9f16;
}

.richiesta-icona-permesso[b-6xz38rt6mn] {
    background: #e9f7df;
    color: #4a9f16;
}

.richiesta-icona-malattia[b-6xz38rt6mn] {
    background: #e9f7df;
    color: #4a9f16;
}

.richiesta-icona-altro[b-6xz38rt6mn] {
    background: #e8f4ff;
    color: #2474b8;
}

.richiesta-testo[b-6xz38rt6mn] {
    min-width: 0;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

.richiesta-titolo[b-6xz38rt6mn] {
    color: #2f2926;
    font-size: 17px;
    line-height: 1.2;
    font-weight: 800;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.richiesta-descrizione[b-6xz38rt6mn] {
    color: #696969;
    font-size: 14px;
    line-height: 1.25;
    font-weight: 500;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.richiesta-badge[b-6xz38rt6mn] {
    min-width: 0px;
    padding: 6px 14px;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    line-height: 1;
    font-weight: 500;
    white-space: nowrap;
}

.richiesta-badge-approvata[b-6xz38rt6mn] {
    background: #e9f7df;
    color: #4a9f16;
}

.richiesta-badge-rifiutata[b-6xz38rt6mn] {
    background: #ffe1e1;
    color: #d71920;
}

.richiesta-badge-attesa[b-6xz38rt6mn] {
    background: #fff0d9;
    color: #ef8700;
}

.richiesta-badge-normale[b-6xz38rt6mn] {
    background: #eeeeee;
    color: #555555;
}





/* Desktop */
@media (min-width: 900px) {


    .richiesta-card[b-6xz38rt6mn] {
        grid-template-columns: 62px minmax(0, 1fr) auto auto;
        gap: 16px;
        padding: 14px 0;
    }

    .richiesta-icona[b-6xz38rt6mn] {
        width: 52px;
        height: 52px;
    }

    .richiesta-titolo[b-6xz38rt6mn] {
        font-size: 18px;
    }

    .richiesta-descrizione[b-6xz38rt6mn] {
        font-size: 15px;
    }
}

.richiesta-periodo[b-6xz38rt6mn],
.richiesta-data[b-6xz38rt6mn] {
    color: #696969;
    font-size: 13px;
    line-height: 1.3;
    font-weight: 400;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 100%;
}

.richiesta-periodo[b-6xz38rt6mn] {
    margin-top: 3px;
}

.richiesta-freccia[b-6xz38rt6mn] {
    color: #2f2926;
    font-size: 18px;
}
.richiesta-icona[b-6xz38rt6mn] {
    border-radius: 14px;
}


/* Mobile */
@media (max-width: 767.98px) {


    .richiesta-card[b-6xz38rt6mn] {
        min-height: var(--richiesta-card-height);
        grid-template-columns: 52px minmax(0, 1fr) auto auto;
        gap: 10px;
        padding: 11px 0;
    }

    .richiesta-icona[b-6xz38rt6mn] {
        width: 44px;
        height: 44px;
    }

        .richiesta-icona i[b-6xz38rt6mn] {
            font-size: 22px;
        }

    .richiesta-titolo[b-6xz38rt6mn] {
        font-size: 16px;
    }

    .richiesta-descrizione[b-6xz38rt6mn] {
        font-size: 13px;
    }

    .richiesta-badge[b-6xz38rt6mn] {
        min-width: 78px;
        padding: 7px 11px;
        font-size: 13px;
    }
}

@media (max-width: 430px) {
    .richiesta-card[b-6xz38rt6mn] {
        grid-template-columns: 48px minmax(0, 1fr) auto auto;
        gap: 9px;
    }

    .richiesta-badge[b-6xz38rt6mn] {
        min-width: 0;
        padding: 7px 10px;
        font-size: 12px;
    }

    .richiesta-titolo[b-6xz38rt6mn] {
        font-size: 15px;
    }

    .richiesta-descrizione[b-6xz38rt6mn] {
        font-size: 12px;
    }
}


.richiesta-card[b-6xz38rt6mn] {
    width: 100%;
    border: 0;
    padding: 10px 0;
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto auto; /* icona | testo | stato | freccia */
    align-items: center;
    gap: 14px;
    background: #ffffff;
    color: inherit;
    text-align: left;
    cursor: pointer;
}

    .richiesta-card:focus-visible[b-6xz38rt6mn] {
        outline: 2px solid #58bf17;
        outline-offset: 3px;
        border-radius: 10px;
    }

.richiesta-testo[b-6xz38rt6mn] {
    min-width: 0;
}

.richiesta-allegato[b-6xz38rt6mn] {
    width: fit-content;
    max-width: 100%;
    align-self: flex-start;
    margin-top: 7px;
    padding: 5px 9px;
    border: 1px solid #dcebd3;
    border-radius: 8px;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: #f5faf2;
    color: #428f16;
    font-size: 12px;
    font-weight: 600;
    cursor: pointer;
}

    .richiesta-allegato span[b-6xz38rt6mn] {
        min-width: 0;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .richiesta-allegato:hover[b-6xz38rt6mn] {
        border-color: #58bf17;
        background: #edf8e7;
    }

.richiesta-allegato-download[b-6xz38rt6mn] {
    flex-shrink: 0;
    margin-left: 3px;
}

@media (max-width:640px) {
    .richiesta-card[b-6xz38rt6mn] {
        grid-template-columns: auto minmax(0, 1fr) auto auto;
        gap: 10px;
    }

    .richiesta-badge[b-6xz38rt6mn] {
        grid-column: auto;
        justify-self: auto;
    }

    .richiesta-allegato[b-6xz38rt6mn] {
        max-width: 220px;
    }
}

/* /Components/PannelloRichieste.razor.rz.scp.css */
.pannello-richieste[b-uc5orhf60a] {
    width: 100%;
    min-width: 0;
    padding: 18px 14px 14px;
    background: #fff;
    border: 1px solid #eee;
    border-radius: 17px;
    box-shadow: 0 2px 10px rgba(0, 0, 0, .06);
    box-sizing: border-box;
}

.pannello-richieste-header[b-uc5orhf60a] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-bottom: 12px;
}

    .pannello-richieste-header h2[b-uc5orhf60a] {
        margin: 0;
        min-width: 0;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
        color: #3b312d;
        font-size: 20px;
        font-weight: 700;
    }

.pannello-richieste-link[b-uc5orhf60a] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 4px 0;
    border: 0;
    background: transparent;
    color: #49a913;
    font-size: 14px;
    font-weight: 600;
    white-space: nowrap;
    cursor: pointer;
}

.pannello-richieste-lista[b-uc5orhf60a] {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.pannello-richieste-vuoto[b-uc5orhf60a] {
    min-height: 90px;
    display: flex;
    align-items: center;
    color: #777;
    font-size: 15px;
}

@media (min-width: 992px) {
    .pannello-richieste[b-uc5orhf60a] {
        padding: 24px 24px 20px;
    }

    .pannello-richieste-header h2[b-uc5orhf60a] {
        font-size: 22px;
    }
}
.pannello-richieste.senza-cornice[b-uc5orhf60a] {
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}
/* /Components/PulsanteTimbratura.razor.rz.scp.css */
.timbratura-azione[b-6sh21k19uc] {
    width: 100%;
    min-width: 0;
    height: 95px;
    padding: 0 28px;
    border: 0;
    border-radius: 17px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 16px;
    background: #58bf17;
    color: #fff;
    cursor: pointer;
    transition: background-color .15s ease, transform .15s ease;
}

    .timbratura-azione strong[b-6sh21k19uc] {
        font-size: 22px;
        font-weight: 600;
        line-height: 1;
    }

    .timbratura-azione i[b-6sh21k19uc] {
        flex: 0 0 auto;
        font-size: 28px;
    }

        .timbratura-azione i:last-child[b-6sh21k19uc] {
            margin-left: 4px;
        }

    .timbratura-azione:hover[b-6sh21k19uc] {
        background: #4fac12;
    }

    .timbratura-azione:active[b-6sh21k19uc] {
        transform: scale(.99);
    }

@media (min-width: 768px) and (max-width: 1199.98px) {
    .timbratura-azione[b-6sh21k19uc] {
        height: 105px;
        padding: 0 24px;
        gap: 14px;
    }

        .timbratura-azione strong[b-6sh21k19uc] {
            font-size: 26px;
        }

        .timbratura-azione i[b-6sh21k19uc] {
            font-size: 25px;
        }

}

@media (max-width: 767.98px) {
    .timbratura-azione[b-6sh21k19uc] {
        height: 115px;
        padding: 0 20px;
        border-radius: 15px;
        gap: 12px;
    }

        .timbratura-azione strong[b-6sh21k19uc] {
            font-size: 28px;
        }

        .timbratura-azione i[b-6sh21k19uc] {
            font-size: 22px;
        }
}
/* /Components/TimbraturePendenti.razor.rz.scp.css */
/* CSS for TimbraturePendenti component */
.sync-panel[b-g28ovd47f5] {
    width: 100%;
    margin-top: 22px;
    margin-bottom: 14px;
    padding: 14px 18px;
    display: flex;
    align-items: center;
    gap: 14px;
    border: 1px solid #f1c76a;
    border-radius: 14px;
    background: #fff9e9;
    box-shadow: 0 4px 14px rgba(0,0,0,.04);
}

.sync-panel-icon[b-g28ovd47f5] {
    width: 42px;
    height: 42px;
    flex: 0 0 42px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: #fff1c6;
    color: #c88700;
}

    .sync-panel-icon i[b-g28ovd47f5] {
        font-size: 22px;
    }

.sync-panel-content[b-g28ovd47f5] {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 3px;
}

    .sync-panel-content strong[b-g28ovd47f5] {
        color: #6b4b00;
        font-size: 15px;
        font-weight: 700;
    }

    .sync-panel-content span[b-g28ovd47f5] {
        color: #806b3d;
        font-size: 13px;
        line-height: 1.35;
    }

@media (max-width: 767.98px) {

    .sync-panel[b-g28ovd47f5] {
        margin-top: 18px;
        margin-bottom: 12px;
        padding: 12px 14px;
        gap: 11px;
        border-radius: 12px;
    }

    .sync-panel-icon[b-g28ovd47f5] {
        width: 38px;
        height: 38px;
        flex-basis: 38px;
    }

        .sync-panel-icon i[b-g28ovd47f5] {
            font-size: 20px;
        }

    .sync-panel-content strong[b-g28ovd47f5] {
        font-size: 14px;
    }

    .sync-panel-content span[b-g28ovd47f5] {
        font-size: 12px;
    }
}
/* /Components/TitoloPagina.razor.rz.scp.css */
/* CSS for TitoloPagina component */
.titolo[b-ck65c2a9ym] {
    display: flex;
    flex-direction: column;
    gap: 4px;
    margin-bottom: 24px;
    color: #443b36;
}

.titolo-nome[b-ck65c2a9ym] {
    font-size: 28px;
    font-weight: 700;
    line-height: 1.15;
}

.titolo-sottonome[b-ck65c2a9ym] {
    text-transform: capitalize;
    margin-top: 5px;
    font-size: 17px;
    font-weight: 400;
    color: #6f6f6f;
}
.titolo-sottonome[b-ck65c2a9ym] {
    text-transform: capitalize;
    margin-top: 5px;
    font-size: 17px;
    font-weight: 400;
    color: #6f6f6f;
}

.titolo-sottonome.senza-maiuscole[b-ck65c2a9ym] {
    text-transform: none;
}

@media (min-width: 992px) {
    .titolo[b-ck65c2a9ym] {
        gap: 8px;
        margin-bottom: 30px;
    }

    .titolo-nome[b-ck65c2a9ym] {
        font-size: 42px;
        line-height: 1.1;
    }

    .titolo-sottonome[b-ck65c2a9ym] {
        font-size: 20px;
    }
}

/* /Layout/MainLayout.razor.rz.scp.css */
.app-shell[b-bbu2u1mjyv] {
    min-height: 100dvh;
}

.app-main[b-bbu2u1mjyv] {
    box-sizing: border-box;
    min-height: 100dvh;
    padding-bottom: 72px;
    background-image: url('/img/Sfondo_App_Mobile.png');
    background-repeat: no-repeat;
    background-position: top left;
    background-size: 100% 100%;
}

.app-content[b-bbu2u1mjyv] {
    padding: 100px 12px 12px;
}

.app-drawer-backdrop[b-bbu2u1mjyv] {
    position: fixed;
    inset: 0;
    z-index: 250;
    background: rgba(15, 23, 42, 0.45);
}

.app-update-banner[b-bbu2u1mjyv] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 10px 12px;
    background: #fff7ed;
    border-bottom: 1px solid #fed7aa;
    color: #9a3412;
    font-size: 14px;
    font-weight: 600;
}

.app-update-banner button[b-bbu2u1mjyv] {
    min-height: 34px;
    padding: 5px 12px;
    border: 1px solid #fdba74;
    border-radius: 8px;
    background: var(--testo-bianco);
    color: #9a3412;
    font-weight: 700;
    cursor: pointer;
}

/* VERSIONE APP */
.app-version[b-bbu2u1mjyv] {
    padding: 8px 12px 16px;
    color: #443b36;
    opacity: 0.6;
    font-size: 11px;
    font-weight: 400;
    line-height: 1;
    text-align: center;
}



/* MENU MOBILE */
.app-navigation[b-bbu2u1mjyv] {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 1000;
    display: flex;
    align-items: stretch;
    justify-content: space-evenly;
    width: 100%;
    height: 72px;
    padding: 0;
    background: #fff;
    border-top: 1px solid #e5e5e5;
}

    .app-navigation[b-bbu2u1mjyv]  a {
        position: relative;
        flex: 1 1 0;
        min-width: 0;
        height: 72px;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 5px;
        padding: 0;
        margin: 0;
        color: #443b36;
        font-size: 12px;
        font-weight: 400;
        line-height: 1;
        text-align: center;
        text-decoration: none;
    }

        .app-navigation[b-bbu2u1mjyv]  a:hover,
        .app-navigation[b-bbu2u1mjyv]  a:focus,
        .app-navigation[b-bbu2u1mjyv]  a:visited {
            text-decoration: none;
        }

        .app-navigation[b-bbu2u1mjyv]  a i {
            display: block;
            margin: 0;
            font-size: 22px;
            line-height: 1;
        }

        .app-navigation[b-bbu2u1mjyv]  a.active {
            color: #61b51c;
            font-weight: 500;
        }

            .app-navigation[b-bbu2u1mjyv]  a.active::before {
                content: "";
                position: absolute;
                top: 0;
                left: 50%;
                width: 48px;
                height: 3px;
                background: #61b51c;
                border-radius: 0 0 3px 3px;
                transform: translateX(-50%);
            }

/* TABLET (menu ancora in basso): lo sfondo verticale, stirato al 100% su un'area larga, deformava il logo e lo faceva
   toccare il titolo. Si usa lo sfondo orizzontale, scalato in proporzione alla larghezza (senza deformazioni). */
@media (min-width: 641px) and (max-width: 991.98px) {

    .app-main[b-bbu2u1mjyv] {
        background-image: url('/img/Sfondo_App_Desktop.png');
        background-size: 100% auto;
        background-color: #fcfaf9; /* stesso colore di fondo dell'immagine, sotto la sua altezza */
    }
}

/* MENU DESKTOP */
@media (min-width: 992px) {

    .app-main[b-bbu2u1mjyv] {
        margin-left: 220px;
        width: calc(100% - 220px);
        min-height: 100dvh;
        padding-bottom: 0;
        background-image: url('/img/Sfondo_App_Desktop.png');
        background-size: 100% 100%;
    }

    .app-content[b-bbu2u1mjyv] {
        padding: 130px 32px 32px;
    }

    .app-shell[b-bbu2u1mjyv] {
        display: block;
        min-height: 100vh;
    }

    .app-navigation[b-bbu2u1mjyv] {
        position: fixed;
        top: 0;
        left: 0;
        right: auto;
        bottom: 0;
        width: 220px;
        height: 100vh;
        box-sizing: border-box;
        flex-direction: column;
        justify-content: flex-start;
        align-items: stretch;
        gap: 8px;
        padding: 100px 16px 20px;
        border-top: 0;
        border-right: 1px solid #e5e5e5;
    }

        .app-navigation[b-bbu2u1mjyv]  a {
            flex: 0 0 auto;
            width: 100%;
            height: 58px;
            box-sizing: border-box;
            flex-direction: row;
            justify-content: flex-start;
            gap: 16px;
            padding: 0 18px;
            border-radius: 10px;
            color: #443b36;
            font-size: 15px;
            text-align: left;
        }

            .app-navigation[b-bbu2u1mjyv]  a i {
                width: 24px;
                flex: 0 0 24px;
                font-size: 22px;
                text-align: center;
            }

            .app-navigation[b-bbu2u1mjyv]  a.active {
                background: #eef7e7;
                color: #61b51c;
            }

                .app-navigation[b-bbu2u1mjyv]  a.active::before {
                    top: 6px;
                    bottom: 6px;
                    left: -16px;
                    width: 4px;
                    height: auto;
                    border-radius: 0 4px 4px 0;
                    transform: none;
                }

    .app-main[b-bbu2u1mjyv] {
        margin-left: 220px;
        width: calc(100% - 220px);
        min-width: 0;
        padding-bottom: 0;
    }
}
/* /Pages/Account.razor.rz.scp.css */
.account[b-f5o3bgdpm0] {
    max-width: 960px;
    display: flex;
    flex-direction: column;
    gap: 18px;
}

/* ===== Scheda anagrafica ===== */
.account-scheda[b-f5o3bgdpm0] {
    display: flex;
    align-items: center;
    gap: 24px;
    padding: 24px;
    background: #fff;
    border-radius: 16px;
    box-shadow: 0 2px 10px rgba(0, 0, 0, .06);
}

.account-avatar[b-f5o3bgdpm0] {
    flex: 0 0 auto;
    width: 108px;
    height: 108px;
    border-radius: 50%;
    background: #e9f5e1;
    color: #4a9f16;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 56px;
}

.account-dati[b-f5o3bgdpm0] {
    min-width: 0;
}

    .account-dati h2[b-f5o3bgdpm0] {
        margin: 0 0 4px;
        font-size: 22px;
        font-weight: 600;
        color: #3b312d;
    }

.account-matricola[b-f5o3bgdpm0] {
    color: #6f6f6f;
    font-size: 16px;
    margin-bottom: 8px;
}

.account-badge[b-f5o3bgdpm0] {
    display: inline-block;
    padding: 4px 12px;
    border-radius: 8px;
    background: #e9f5e1;
    color: #4a9f16;
    font-size: 14px;
}

/* ===== Sicurezza e accesso: scheda unica su desktop ===== */
.account-sicurezza[b-f5o3bgdpm0] {
    padding: 24px 26px;
    background: #fff;
    border-radius: 16px;
    box-shadow: 0 2px 10px rgba(0, 0, 0, .06);
}

.account-titolo-sezione[b-f5o3bgdpm0] {
    margin: 0 0 20px;
    font-size: 18px;
    font-weight: 500;
    color: #2f2926;
}

/* ===== Blocchi: icona | testo, poi campi, poi pulsante ===== */
.account-blocco[b-f5o3bgdpm0] {
    display: grid;
    grid-template-columns: 48px 1fr;
    column-gap: 14px;
    row-gap: 14px;
    align-items: start;
}

.account-icona[b-f5o3bgdpm0] {
    width: 48px;
    height: 48px;
    border-radius: 12px;
    background: #e9f5e1;
    color: #4a9f16;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 24px;
}

.account-blocco-testa[b-f5o3bgdpm0] {
    min-width: 0;
}

.account-blocco-titolo[b-f5o3bgdpm0] {
    font-size: 17px;
    font-weight: 500;
    color: #2f2926;
}

.account-blocco-sotto[b-f5o3bgdpm0] {
    font-size: 14px;
    color: #6f6f6f;
    margin-top: 2px;
}

.account-campi[b-f5o3bgdpm0] {
    grid-column: 2;
    min-width: 0;
}

.blocco-password .account-campi[b-f5o3bgdpm0] {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
}
/* password: tre colonne su tutta la larghezza */

.account-pulsante[b-f5o3bgdpm0] {
    grid-column: 1 / -1;
    height: 46px;
    border: 0;
    border-radius: 10px;
    background: var(--app-btnInvia-bg);
    color: #fff;
    font-size: 16px;
    font-weight: 500;
    font-family: inherit;
    cursor: pointer;
}

.blocco-email .account-pulsante[b-f5o3bgdpm0] {
    grid-column: 2;
}

.account-pulsante:hover:not(:disabled)[b-f5o3bgdpm0] {
    filter: brightness(.94);
}

.account-pulsante:disabled[b-f5o3bgdpm0] {
    opacity: .55;
    cursor: default;
}

.account-separatore[b-f5o3bgdpm0] {
    border: 0;
    border-top: 1px solid #ececec;
    margin: 24px 0;
    opacity: 1;
}

/* ===== Campo email ===== */
.account-campi label[b-f5o3bgdpm0] {
    display: block;
    margin-bottom: 6px;
    font-size: 14px;
    color: #2f2926;
}

.campo-email[b-f5o3bgdpm0] {
    display: flex;
    align-items: center;
    gap: 10px;
    height: 46px;
    padding: 0 12px;
    border: 1px solid #dfe3df;
    border-radius: 10px;
    background: #fff;
}

    .campo-email:focus-within[b-f5o3bgdpm0] {
        border-color: #61b51c;
    }

    .campo-email.errore[b-f5o3bgdpm0] {
        border-color: #c0392b;
    }

    .campo-email i[b-f5o3bgdpm0] {
        color: #6f6f6f;
        font-size: 18px;
    }

    .campo-email input[b-f5o3bgdpm0] {
        flex: 1;
        min-width: 0;
        border: 0;
        outline: 0;
        background: transparent;
        font-size: 16px;
        font-family: inherit;
    }

.campo-errore[b-f5o3bgdpm0] {
    margin-top: 6px;
    color: #c0392b;
    font-size: 13px;
}

/* ===== Uscita ===== */
.account-esci[b-f5o3bgdpm0] {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 14px;
    width: 100%;
    height: 64px;
    border: 0;
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 2px 10px rgba(0, 0, 0, .06);
    color: #49a913;
    font-size: 19px;
    font-family: inherit;
    cursor: pointer;
}

    .account-esci i[b-f5o3bgdpm0] {
        font-size: 26px;
    }

/* Solo per i gestori di password: presente nel DOM ma invisibile, fuori dalla griglia */
.solo-lettori-schermo[b-f5o3bgdpm0] {
    position: absolute;
    width: 1px;
    height: 1px;
    opacity: 0;
    pointer-events: none;
}

/* ===== Telefono: titolo fuori dalla scheda, campi in colonna ===== */
@media (max-width: 767.98px) {
    .account-scheda[b-f5o3bgdpm0] {
        padding: 18px;
        gap: 16px;
    }

    .account-avatar[b-f5o3bgdpm0] {
        width: 84px;
        height: 84px;
        font-size: 44px;
    }

    .account-sicurezza[b-f5o3bgdpm0] {
        padding: 0;
        background: transparent;
        box-shadow: none;
    }

    .account-titolo-sezione[b-f5o3bgdpm0] {
        margin: 8px 4px 12px;
    }

    .account-sicurezza-corpo[b-f5o3bgdpm0] {
        padding: 18px;
        background: #fff;
        border-radius: 16px;
        box-shadow: 0 2px 10px rgba(0, 0, 0, .06);
    }

    .account-campi[b-f5o3bgdpm0], .blocco-password .account-campi[b-f5o3bgdpm0] {
        grid-column: 2;
        display: block;
    }

    .account-pulsante[b-f5o3bgdpm0], .blocco-email .account-pulsante[b-f5o3bgdpm0] {
        grid-column: 2;
    }
}
/* /Pages/Allegati.razor.rz.scp.css */
/* ===== Ricerca ===== */
.allegati-ricerca[b-t2l32xlym5] {
    position: relative;
    margin: 16px 0;
}

    .allegati-ricerca i[b-t2l32xlym5] {
        position: absolute;
        left: 16px;
        top: 50%;
        transform: translateY(-50%);
        color: #8a8f8a;
        font-size: 20px;
        pointer-events: none; /* il clic sulla lente arriva al campo */
    }

    .allegati-ricerca input[b-t2l32xlym5] {
        width: 100%;
        height: 54px;
        padding: 0 16px 0 48px;
        border: 1px solid #e3e6e3;
        border-radius: 12px;
        background: #fff;
        color: #2f2926;
        font-size: 16px; /* 16px: iOS non ingrandisce la pagina al focus */
        font-family: inherit;
        box-sizing: border-box;
        outline: none;
        -webkit-appearance: none;
        appearance: none;
    }

        .allegati-ricerca input[b-t2l32xlym5]::placeholder {
            color: #8a8f8a;
        }

        .allegati-ricerca input:focus[b-t2l32xlym5] {
            border-color: #61b51c;
            box-shadow: 0 0 0 3px rgba(97, 181, 28, .15);
        }

/* ===== Filtri per categoria (scorrono in orizzontale) ===== */
.allegati-chip[b-t2l32xlym5] {
    display: flex;
    gap: 10px;
    overflow-x: auto;
    padding: 4px 4px 8px; /* spazio per il contorno del focus, che altrimenti verrebbe tagliato */
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
}

    .allegati-chip[b-t2l32xlym5]::-webkit-scrollbar {
        display: none;
    }

.chip[b-t2l32xlym5] {
    flex: 0 0 auto;
    height: 42px;
    padding: 0 22px;
    border: 1px solid #e3e6e3;
    border-radius: 10px;
    background: #fff;
    color: #2f2926;
    font-size: 15px;
    font-family: inherit;
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
    transition: background .15s, border-color .15s, color .15s;
}

    .chip:hover:not(.attivo)[b-t2l32xlym5] {
        border-color: #c9d3c4;
    }

    .chip:focus-visible[b-t2l32xlym5] {
        outline: 2px solid #58bf17;
        outline-offset: 1px;
    }

    .chip.attivo[b-t2l32xlym5] {
        background: #61b51c;
        border-color: #61b51c;
        color: #fff;
        font-weight: 500;
    }

/* ===== Intestazione elenco + ordinamento ===== */
.allegati-testata[b-t2l32xlym5] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin: 20px 0 12px;
}

    .allegati-testata h2[b-t2l32xlym5] {
        margin: 0;
        font-size: 22px;
        font-weight: 600;
        color: #3b312d;
    }

.allegati-ordina[b-t2l32xlym5] {
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    flex-shrink: 0;
    color: #49a913;
    font-weight: 500;
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
}

    .allegati-ordina:focus-within[b-t2l32xlym5] { /* la select è trasparente: il focus lo mostra l'etichetta */
        outline: 2px solid #58bf17;
        outline-offset: 3px;
        border-radius: 6px;
    }

    .allegati-ordina select[b-t2l32xlym5] {
        position: absolute;
        inset: 0;
        width: 100%;
        height: 100%;
        opacity: 0;
        cursor: pointer;
        font: inherit;
    }

/* ===== Elenco ===== */
.allegati-elenco[b-t2l32xlym5] {
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 2px 10px rgba(0, 0, 0, .06);
    overflow: hidden;
}

.allegati-vuoto[b-t2l32xlym5] {
    padding: 28px 8px;
    color: #777;
    text-align: center;
}

/* ===== Telefono: le righe diventano card separate ===== */
@media (max-width: 640px) {
    .allegati-elenco[b-t2l32xlym5] {
        background: transparent;
        box-shadow: none;
        display: grid;
        gap: 12px;
        overflow: visible;
    }

    .allegati-testata h2[b-t2l32xlym5] {
        font-size: 20px;
    }
}
/* /Pages/Home.razor.rz.scp.css */
.pannello-stato[b-sw023mbfta] {
    width: 100%;
    min-height: 245px;
    margin-top: 28px;
    padding: 38px 40px;
    display: grid;
    grid-template-columns: minmax(220px,.9fr) 1px minmax(0,1.3fr);
    gap: 30px;
    align-items: center;
    background: #fff;
    border: 1px solid #eee;
    border-radius: 16px;
    box-shadow: 0 8px 24px rgba(0,0,0,.08);
}

.stato-info[b-sw023mbfta] {
    min-width: 0;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

.stato-label[b-sw023mbfta] {
    margin-bottom: 4px;
    color: #252525;
    font-size: 16px;
    font-weight: 500;
}

.stato-valore[b-sw023mbfta] {
    margin-bottom: 34px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 5px;
    color: #f20d0d;
    font-size: 28px;
    line-height: 1.1;
    font-weight: 700;
}

.stato-sync[b-sw023mbfta] {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    color: #b97900;
    font-size: 13px;
    line-height: 1.2;
    font-weight: 600;
}

.orario-label[b-sw023mbfta] {
    margin-bottom: 8px;
    display: flex;
    align-items: center;
    gap: 10px;
    color: #272727;
    font-size: 16px;
}

    .orario-label i[b-sw023mbfta] {
        font-size: 23px;
    }

.orario-valore[b-sw023mbfta] {
    color: #3b312d;
    font-size: 36px;
    line-height: 1;
    font-weight: 500;
    font-variant-numeric: tabular-nums;
}

.stato-separatore[b-sw023mbfta] {
    align-self: stretch;
    width: 1px;
    min-height: 160px;
    background: #e4e4e4;
}

.stato-azione[b-sw023mbfta] {
    min-width: 0;
    display: flex;
    align-items: center;
    justify-content: center;
}

.btn-timbra[b-sw023mbfta] {
    width: 100%;
    max-width: 320px;
    min-width: 0;
    height: 88px;
    padding: 0 24px 0 30px;
    border: 0;
    border-radius: 17px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    background: #58bf17;
    color: #fff;
    font-size: clamp(22px,2.5vw,30px);
    font-weight: 500;
    white-space: nowrap;
    cursor: pointer;
    transition: background-color .15s ease,transform .15s ease;
}

    .btn-timbra i[b-sw023mbfta] {
        font-size: 28px;
    }

    .btn-timbra:hover[b-sw023mbfta] {
        background: #4fac12;
    }

    .btn-timbra:active[b-sw023mbfta] {
        transform: scale(.98);
    }

@media (min-width:768px) and (max-width:1199.98px) {
    .pannello-stato[b-sw023mbfta] {
        padding: 32px 30px;
        grid-template-columns: minmax(210px,.9fr) 1px minmax(0,1.2fr);
        gap: 28px;
    }

    .stato-valore[b-sw023mbfta] {
        font-size: 26px;
    }

    .stato-sync[b-sw023mbfta] {
        font-size: 12px;
    }

    .btn-timbra[b-sw023mbfta] {
        max-width: 100%;
        height: 84px;
        padding: 0 20px;
        font-size: clamp(22px,2.5vw,28px);
    }

        .btn-timbra i[b-sw023mbfta] {
            font-size: 24px;
        }
}

@media (max-width:767.98px) {
    .pannello-stato[b-sw023mbfta] {
        min-height: 0;
        margin-top: 20px;
        padding: 20px 16px;
        grid-template-columns: minmax(0,1fr) minmax(118px,.72fr);
        grid-template-areas: "info action";
        gap: 14px;
        align-items: center;
        border-radius: 14px;
    }

    .stato-info[b-sw023mbfta] {
        grid-area: info;
    }

    .stato-separatore[b-sw023mbfta] {
        display: none;
    }

    .stato-azione[b-sw023mbfta] {
        grid-area: action;
        height: 100%;
    }

    .stato-label[b-sw023mbfta] {
        margin-bottom: 5px;
        font-size: 13px;
    }

    .stato-valore[b-sw023mbfta] {
        max-width: 100%;
        margin-bottom: 24px;
        gap: 4px;
        font-size: 22px;
        white-space: normal;
        overflow-wrap: anywhere;
    }

    .stato-sync[b-sw023mbfta] {
        max-width: 100%;
        font-size: 11px;
        white-space: normal;
    }

    .orario-label[b-sw023mbfta] {
        gap: 7px;
        margin-bottom: 7px;
        font-size: 13px;
    }

        .orario-label i[b-sw023mbfta] {
            font-size: 17px;
        }

    .orario-valore[b-sw023mbfta] {
        font-size: 27px;
    }

    .btn-timbra[b-sw023mbfta] {
        height: 88px;
        padding: 0 12px;
        border-radius: 15px;
        gap: 8px;
        font-size: 14px;
    }

        .btn-timbra i[b-sw023mbfta] {
            font-size: 20px;
        }
}

@media (max-width:420px) {
    .pannello-stato[b-sw023mbfta] {
        padding: 18px 14px;
        grid-template-columns: minmax(0,1fr) 112px;
        gap: 12px;
    }

    .stato-valore[b-sw023mbfta] {
        margin-bottom: 20px;
        font-size: 21px;
    }

    .stato-sync[b-sw023mbfta] {
        font-size: 10px;
    }

    .orario-valore[b-sw023mbfta] {
        font-size: 25px;
    }

    .btn-timbra[b-sw023mbfta] {
        height: 82px;
        padding: 0 10px;
        font-size: 13px;
    }

        .btn-timbra i[b-sw023mbfta] {
            font-size: 18px;
        }
}

.home-panels-grid[b-sw023mbfta] {
    width: 100%;
    margin-top: 22px;
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 24px;
    align-items: stretch;
}

.home-panel[b-sw023mbfta] {
    width: 100%;
    min-width: 0;
    min-height: 360px;
    height: 100%;
    padding: 26px 28px 22px;
    background: #fff;
    border: 1px solid #eee;
    border-radius: 18px;
    box-shadow: 0 8px 24px rgba(0,0,0,.08);
    overflow: hidden;
}

.home-panel-header[b-sw023mbfta] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    margin-bottom: 16px;
}

    .home-panel-header h2[b-sw023mbfta] {
        margin: 0;
        color: #3b312d;
        font-size: 24px;
        line-height: 1.15;
        font-weight: 800;
    }

.home-panel-link[b-sw023mbfta] {
    flex-shrink: 0;
    padding: 4px 0;
    border: 0;
    display: inline-flex;
    align-items: center;
    gap: 7px;
    background: transparent;
    color: #49a913;
    font-size: 15px;
    line-height: 1;
    font-weight: 700;
    white-space: nowrap;
    cursor: pointer;
}

    .home-panel-link i[b-sw023mbfta] {
        font-size: 16px;
    }

comunicazioni-lista[b-sw023mbfta] {
    max-height: 246px; /* invariato: le comunicazioni non cambiano */
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;
    scrollbar-width: none;
    -ms-overflow-style: none;
}


.comunicazioni-lista[b-sw023mbfta]::-webkit-scrollbar{
    display: none;
}

.comunicazioni-empty[b-sw023mbfta]{
    min-height: 90px;
    display: flex;
    align-items: center;
    color: #777;
    font-size: 15px;
    font-weight: 500;
}

@media (min-width: 768px) and (max-width: 1199.98px) {
    .home-panels-grid[b-sw023mbfta] {
        gap: 18px;
    }

    .home-panel[b-sw023mbfta] {
        min-height: 340px;
        padding: 22px 20px 18px;
    }

    .home-panel-header h2[b-sw023mbfta] {
        font-size: 21px;
    }

    .home-panel-link[b-sw023mbfta] {
        font-size: 14px;
    }
}

@media (max-width: 767.98px) {
    .home-panels-grid[b-sw023mbfta] {
        grid-template-columns: minmax(0,1fr);
        gap: 16px;
        margin-top: 18px;
    }

    .home-panel[b-sw023mbfta] {
        min-height: auto;
        padding: 18px 14px 14px;
        border-radius: 17px;
    }

    .home-panel-header[b-sw023mbfta] {
        gap: 10px;
        margin-bottom: 12px;
    }

        .home-panel-header h2[b-sw023mbfta] {
            font-size: 21px;
        }

    .home-panel-link[b-sw023mbfta] {
        font-size: 14px;
    }

    .comunicazioni-lista[b-sw023mbfta] {
        max-height: 222px;
    }

}

@media (max-width: 420px) {
    .home-panel[b-sw023mbfta] {
        padding: 16px 12px 12px;
    }

    .home-panel-header h2[b-sw023mbfta] {
        font-size: 18px;
    }

    .home-panel-link[b-sw023mbfta] {
        gap: 4px;
        font-size: 12px;
    }

        .home-panel-link i[b-sw023mbfta] {
            font-size: 13px;
        }
}
/* /Pages/Login.razor.rz.scp.css */
.login-azienda-box[b-ojpct2jgk8] {
    margin: 18px 0;
    padding: 14px 16px;
    border-radius: 14px;
    background: #f8fbf6;
    border: 1px solid #dcefd3;
    border-left: 5px solid #58bf17;
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.login-azienda-label[b-ojpct2jgk8] {
    color: #6f6a67;
    font-size: 13px;
    line-height: 1.1;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .04em;
}

.login-azienda-name[b-ojpct2jgk8] {
    color: #3b312d;
    font-size: 24px;
    line-height: 1.15;
    font-weight: 900;
    word-break: break-word;
}
.login-page[b-ojpct2jgk8] {
    width: 100%;
    height: 100dvh;
    overflow: hidden;
    background: #f8f8f8 url('/img/Sfondo_Login_Mobile.png') top center/100% auto no-repeat;
    font-family: Arial, Helvetica, sans-serif;
}

.login-container[b-ojpct2jgk8] {
    width: 100%;
    height: 100dvh;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-end;
    box-sizing: border-box;
    padding: 0 18px 18px;
}

.login-card[b-ojpct2jgk8] {
    width: min(100%, 570px);
    box-sizing: border-box;
    padding: 22px 20px;
    background: rgba(255,255,255,.97);
    border-radius: 20px;
    box-shadow: 0 12px 32px rgba(0,0,0,.10);
    backdrop-filter: blur(5px);
}

    .login-card h1[b-ojpct2jgk8] {
        margin: 0 0 18px;
        color: var(--text);
        font-size: 22px;
        font-weight: 700;
        line-height: 1.2;
    }

.form-group[b-ojpct2jgk8] {
    margin-bottom: 16px;
}

    .form-group label[b-ojpct2jgk8] {
        display: block;
        margin: 0 0 7px 2px;
        color: var(--text);
        font-size: 15px;
        font-weight: 600;
    }

.input-wrapper[b-ojpct2jgk8] {
    position: relative;
}

[b-ojpct2jgk8] .form-input {
    width: 100%;
    height: 52px;
    box-sizing: border-box;
    padding: 0 50px;
    border: 1px solid var(--border);
    border-radius: 12px;
    outline: none;
    background: rgba(255,255,255,.94);
    color: #333;
    font-size: 16px;
    transition: border-color .15s, box-shadow .15s;
}

    [b-ojpct2jgk8] .form-input::placeholder {
        color: #999;
    }

    [b-ojpct2jgk8] .form-input:focus {
        border-color: var(--green);
        box-shadow: 0 0 0 3px rgba(98,188,19,.12);
    }

.input-icon[b-ojpct2jgk8] {
    position: absolute;
    left: 17px;
    top: 50%;
    transform: translateY(-50%);
    color: #777;
    font-size: 21px;
    pointer-events: none;
}

.password-toggle[b-ojpct2jgk8] {
    position: absolute;
    right: 8px;
    top: 50%;
    width: 42px;
    height: 42px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    transform: translateY(-50%);
    border: 0;
    background: transparent;
    color: #777;
    font-size: 21px;
    cursor: pointer;
}

    .password-toggle .input-icon[b-ojpct2jgk8] {
        position: static;
        left: auto;
        top: auto;
        transform: none;
        pointer-events: none;
    }

.login-options[b-ojpct2jgk8] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    margin: 2px 2px 18px;
}

.remember-me[b-ojpct2jgk8] {
    display: flex;
    align-items: center;
    gap: 7px;
    color: #333;
    font-size: 14px;
    cursor: pointer;
}

    .remember-me input[b-ojpct2jgk8] {
        width: 20px;
        height: 20px;
        margin: 0;
        accent-color: var(--green);
    }

.forgot-password[b-ojpct2jgk8] {
    color: var(--green-dark);
    font-size: 14px;
    text-decoration: none;
}

    .forgot-password:hover[b-ojpct2jgk8] {
        text-decoration: underline;
    }

.login-button[b-ojpct2jgk8] {
    width: 100%;
    height: 54px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    border: 0;
    border-radius: 27px;
    background: linear-gradient(105deg,#67c515,#57b80e);
    color: #fff;
    font-size: 19px;
    font-weight: 700;
    cursor: pointer;
    box-shadow: 0 7px 18px rgba(93,185,15,.20);
    transition: transform .12s, filter .12s;
}

    .login-button:hover[b-ojpct2jgk8] {
        filter: brightness(.97);
        transform: translateY(-1px);
    }

    .login-button:active[b-ojpct2jgk8] {
        transform: translateY(0);
    }

    .login-button:disabled[b-ojpct2jgk8] {
        opacity: .7;
        cursor: default;
        transform: none;
    }

.security-info[b-ojpct2jgk8] {
    width: min(100%, 570px);
    margin-top: 14px;
    color: var(--text);
    text-align: center;
}

.security-title[b-ojpct2jgk8] {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    font-size: 14px;
}

    .security-title i[b-ojpct2jgk8] {
        font-size: 21px;
    }

.security-description[b-ojpct2jgk8] {
    margin-top: 4px;
    color: #777;
    font-size: 12px;
}

.validation-summary[b-ojpct2jgk8] {
    margin-top: 12px;
    color: #c62828;
}




/* Smartphone con altezza ridotta */
@media (max-width: 767px) and (max-height: 760px) {
    .login-container[b-ojpct2jgk8] {
        padding: 0 14px 8px;
    }

    .login-card[b-ojpct2jgk8] {
        padding: 15px 18px;
        border-radius: 18px;
    }

        .login-card h1[b-ojpct2jgk8] {
            margin-bottom: 11px;
            font-size: 19px;
        }

    .form-group[b-ojpct2jgk8] {
        margin-bottom: 10px;
    }

        .form-group label[b-ojpct2jgk8] {
            margin-bottom: 5px;
            font-size: 14px;
        }

    [b-ojpct2jgk8] .form-input {
        height: 45px;
        font-size: 15px;
    }

    .input-icon[b-ojpct2jgk8] {
        font-size: 19px;
    }

    .password-toggle[b-ojpct2jgk8] {
        height: 38px;
        font-size: 19px;
    }

    .login-options[b-ojpct2jgk8] {
        margin-bottom: 10px;
        font-size: 13px;
    }

    .remember-me[b-ojpct2jgk8],
    .forgot-password[b-ojpct2jgk8] {
        font-size: 13px;
    }

        .remember-me input[b-ojpct2jgk8] {
            width: 18px;
            height: 18px;
        }

    .login-button[b-ojpct2jgk8] {
        height: 47px;
        font-size: 17px;
    }

    .security-info[b-ojpct2jgk8] {
        margin-top: 7px;
    }

    .security-description[b-ojpct2jgk8] {
        display: none;
    }
}

/* Tablet */
@media (min-width: 768px) and (max-width: 1099px) {
    .login-page[b-ojpct2jgk8] {
        background-image: url('/img/Sfondo_Login_Mobile.png');
        background-size: 100% auto;
        background-position: top center;
        background-repeat: no-repeat;
    }

    .login-container[b-ojpct2jgk8] {
        padding: 0 28px 28px;
    }

    .login-card[b-ojpct2jgk8] {
        width: 580px;
        padding: 28px 30px;
        border-radius: 22px;
    }

        .login-card h1[b-ojpct2jgk8] {
            margin-bottom: 22px;
            font-size: 24px;
        }

    .form-group[b-ojpct2jgk8] {
        margin-bottom: 19px;
    }

        .form-group label[b-ojpct2jgk8] {
            font-size: 16px;
        }

    [b-ojpct2jgk8] .form-input {
        height: 56px;
        font-size: 17px;
    }

    .login-options[b-ojpct2jgk8] {
        margin-bottom: 21px;
    }

    .remember-me[b-ojpct2jgk8],
    .forgot-password[b-ojpct2jgk8] {
        font-size: 15px;
    }

    .login-button[b-ojpct2jgk8] {
        height: 58px;
        font-size: 20px;
    }

    .security-info[b-ojpct2jgk8] {
        width: 580px;
        margin-top: 16px;
    }
}

/* Desktop */
@media (min-width: 1100px) {
    .login-page[b-ojpct2jgk8] {
        background-image: url('/img/Sfondo_Login_Desktop.png');
        background-size: cover;
        background-position: center;
        background-repeat: no-repeat;
    }

    .login-container[b-ojpct2jgk8] {
        align-items: flex-end;
        justify-content: center;
        padding: 40px clamp(70px,8vw,170px) 40px 50%;
    }

    .login-card[b-ojpct2jgk8] {
        width: min(500px,42vw);
        padding: 36px 38px 34px;
        border-radius: 24px;
    }

        .login-card h1[b-ojpct2jgk8] {
            margin-bottom: 28px;
            font-size: 26px;
        }

    .form-group[b-ojpct2jgk8] {
        margin-bottom: 25px;
    }

        .form-group label[b-ojpct2jgk8] {
            margin-bottom: 10px;
            font-size: 18px;
        }

    [b-ojpct2jgk8] .form-input {
        height: 64px;
        padding: 0 54px 0 58px;
        font-size: 18px;
    }

    .input-icon[b-ojpct2jgk8] {
        left: 18px;
        font-size: 24px;
    }

    .password-toggle[b-ojpct2jgk8] {
        right: 13px;
        width: 40px;
        height: 40px;
        font-size: 24px;
    }

    .login-options[b-ojpct2jgk8] {
        gap: 15px;
        margin: 4px 2px 28px;
    }

    .remember-me[b-ojpct2jgk8],
    .forgot-password[b-ojpct2jgk8] {
        font-size: 16px;
    }

        .remember-me input[b-ojpct2jgk8] {
            width: 23px;
            height: 23px;
        }

    .login-button[b-ojpct2jgk8] {
        height: 68px;
        border-radius: 28px;
        font-size: 22px;
    }

    .security-info[b-ojpct2jgk8] {
        width: min(500px,42vw);
        margin-top: 28px;
    }

    .security-title[b-ojpct2jgk8] {
        font-size: 17px;
    }

        .security-title i[b-ojpct2jgk8] {
            font-size: 28px;
        }

    .security-description[b-ojpct2jgk8] {
        margin-top: 10px;
        font-size: 14px;
    }
}

/* Desktop molto grande */
@media (min-width: 1600px) {
    .login-container[b-ojpct2jgk8] {
        padding-right: 10vw;
    }

    .login-card[b-ojpct2jgk8],
    .security-info[b-ojpct2jgk8] {
        width: 520px;
    }
}

/* Mobile stretto */
@media (max-width: 430px) {
   
}

/* /Pages/Modale/ModaleAnteprimaAllegato.razor.rz.scp.css */
/* La modale globale (.app-modal) è larga al massimo 680px e alta al massimo 720px: qui l'anteprima usa quasi tutto lo schermo.
   Il fondo (.app-modal-backdrop) ha 24px di margine per lato. */
.app-modal-anteprima[b-ef7oif6wsj] {
    width: min(1200px, 100%);
    max-height: calc(100dvh - 48px);
}

/* "Scarica" e "Chiudi" non devono toccarsi */
.app-modal-anteprima .app-modal-footer[b-ef7oif6wsj] {
    gap: 10px;
}

.anteprima-titolo[b-ef7oif6wsj] {
    font-weight: 700;
    color: #2f2926;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* Corpo più compatto (16px invece di 24px) per lasciare più spazio al file.
   Altezza dell'anteprima = altezza disponibile meno intestazione, piè di pagina, margini e padding (circa 240px) */
.anteprima-corpo[b-ef7oif6wsj] {
    padding: 16px;
}

    .anteprima-corpo img[b-ef7oif6wsj] {
        display: block;
        max-width: 100%;
        max-height: calc(100dvh - 240px);
        margin: 0 auto;
        border-radius: 12px;
    }

    .anteprima-corpo iframe[b-ef7oif6wsj] {
        display: block;
        width: 100%;
        height: calc(100dvh - 240px);
        min-height: 320px;
        border: 0;
        border-radius: 12px;
        background: #f3f3f3;
    }

/* Telefono: la modale è già a tutta larghezza (fondo con 12px di margine, altezza massima 92dvh) */
@media (max-width: 640px) {
    .app-modal-anteprima[b-ef7oif6wsj] {
        width: 100%;
        max-height: 92dvh;
    }

    .anteprima-corpo[b-ef7oif6wsj] {
        padding: 12px;
    }

        .anteprima-corpo img[b-ef7oif6wsj] {
            max-height: calc(92dvh - 190px);
        }

        .anteprima-corpo iframe[b-ef7oif6wsj] {
            height: calc(92dvh - 190px);
        }
}
/* /Pages/Modale/ModaleComunicazione.razor.rz.scp.css */
.comunicazione-modal-content[b-q4rg5dbcfm] {
    display: flex;
    flex-direction: column;
    gap: 24px;
}
.comunicazione-modal-head[b-q4rg5dbcfm] {
    display: grid;
    grid-template-columns: 72px minmax(0, 1fr);
    align-items: start;
    gap: 18px;
}
.comunicazione-modal-main-icon[b-q4rg5dbcfm] {
    width: 64px;
    height: 64px;
    border-radius: 20px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}
.comunicazione-modal-main-icon i[b-q4rg5dbcfm] {
    font-size: 32px;
    line-height: 1;
}

.comunicazione-modal-heading[b-q4rg5dbcfm] {
    min-width: 0;
}

.comunicazione-modal-heading h3[b-q4rg5dbcfm] {
    margin: 2px 0 12px;
    color: #2f2926;
    font-size: 25px;
    line-height: 1.18;
    font-weight: 900;
}

.comunicazione-modal-meta[b-q4rg5dbcfm] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px 14px;
    color: #6b7280;
    font-size: 14px;
    line-height: 1.2;
    font-weight: 600;
}

.comunicazione-modal-meta span:not(.comunicazione-badge)[b-q4rg5dbcfm] {
    display: inline-flex;
    align-items: center;
    gap: 7px;
}

.comunicazione-modal-meta i[b-q4rg5dbcfm] {
    color: #4a9f16;
    font-size: 15px;
}

.comunicazione-modal-descrizione[b-q4rg5dbcfm] {
    padding: 22px;
    border: 1px solid #edf2ea;
    border-radius: 18px;
    background: #fbfdf9;
    color: #3b312d;
    font-size: 17px;
    line-height: 1.55;
    font-weight: 500;
    white-space: pre-line;
}




/* CSS for CardComunicazione component */
.comunicazione-icona-evento[b-q4rg5dbcfm] {
    background: #fff3dc;
    color: #f49a00;
}

.comunicazione-icona-riunione[b-q4rg5dbcfm] {
    background: #f1eeee;
    color: #5b514d;
}

.comunicazione-icona-amministrazione[b-q4rg5dbcfm] {
    background: #e8f4ff;
    color: #2474b8;
}

.comunicazione-icona-formazione[b-q4rg5dbcfm] {
    background: #f0e9ff;
    color: #6b3fc6;
}

.comunicazione-icona-informatica[b-q4rg5dbcfm] {
    background: #e7f4ff;
    color: #2675b8;
}

.comunicazione-icona-regolamento[b-q4rg5dbcfm] {
    background: #e9f7df;
    color: #4a9f16;
}

.comunicazione-icona-altro[b-q4rg5dbcfm] {
    background: #eeeeee;
    color: #555555;
}


.comunicazione-badge-importante[b-q4rg5dbcfm] {
    background: #fff0d9;
    color: #ef8700;
}

.comunicazione-badge-urgente[b-q4rg5dbcfm] {
    background: #ffe1e1;
    color: #d71920;
}

.comunicazione-badge-normale[b-q4rg5dbcfm] {
    background: #eeeeee;
    color: #555555;
}





/* Mobile */
@media (max-width: 640px) {
   
    .comunicazione-modal-head[b-q4rg5dbcfm] {
        grid-template-columns: 56px minmax(0, 1fr);
        gap: 14px;
    }

    .comunicazione-modal-main-icon[b-q4rg5dbcfm] {
        width: 52px;
        height: 52px;
        border-radius: 17px;
    }

        .comunicazione-modal-main-icon i[b-q4rg5dbcfm] {
            font-size: 26px;
        }

    .comunicazione-modal-heading h3[b-q4rg5dbcfm] {
        margin-top: 0;
        font-size: 21px;
    }

    .comunicazione-modal-meta[b-q4rg5dbcfm] {
        font-size: 13px;
    }

    .comunicazione-modal-descrizione[b-q4rg5dbcfm] {
        padding: 18px;
        border-radius: 16px;
        font-size: 15px;
        line-height: 1.5;
    }

}
/* /Pages/Modale/ModaleElencoComunicazioni.razor.rz.scp.css */
/* =========================
   MODALE ELENCO COMUNICAZIONI
   ========================= */

.app-modal-backdrop[b-47w7yyrxh6] {
    position: fixed;
    inset: 0;
    z-index: 1000;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px;
    background: rgba(31, 41, 55, 0.38);
    backdrop-filter: blur(4px);
}

.app-modal[b-47w7yyrxh6] {
    width: min(680px, 100%);
    max-height: min(720px, 90dvh);
    display: flex;
    flex-direction: column;
    border: 1px solid #e8e8e8;
    border-radius: 22px;
    background: #ffffff;
    box-shadow: 0 24px 80px rgba(0, 0, 0, .20);
    overflow: hidden;
}

.app-modal-comunicazione[b-47w7yyrxh6] {
    animation: app-modal-enter-b-47w7yyrxh6 160ms ease-out;
}

.app-modal-elenco-comunicazioni[b-47w7yyrxh6] {
    width: min(900px, 100%);
    max-height: min(760px, 92dvh);
    overflow: visible;
}

@keyframes app-modal-enter-b-47w7yyrxh6 {
    from {
        opacity: 0;
        transform: translateY(8px) scale(.98);
    }

    to {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

/* =========================
   HEADER FILTRI FISSO
   ========================= */

.app-modal-header[b-47w7yyrxh6] {
    flex: 0 0 auto;
    min-height: 76px;
    padding: 18px 22px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    border-bottom: 1px solid #edf2ea;
    background: #ffffff;
}

.app-modal-header-filtri[b-47w7yyrxh6] {
    display: block;
    min-height: 0;
    padding: 0;
    border-bottom: 1px solid #edf2ea;
    background: #fbfdf9;
    overflow: visible;
    z-index: 20;
}

/* Riga filtri:
   Data dal + Data al + Tipo sulla stessa riga
   Cerca sotto a tutta larghezza */
.comunicazioni-filtri[b-47w7yyrxh6] {
    width: 100%;
    padding: 22px 24px 20px;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px 16px;
    align-items: end;
    background: #fbfdf9;
    overflow: visible;
}

.comunicazioni-filtro[b-47w7yyrxh6] {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 7px;
}

    .comunicazioni-filtro label[b-47w7yyrxh6] {
        margin: 0;
        color: #3b312d;
        font-size: 13px;
        line-height: 1;
        font-weight: 800;
    }

/* =========================
   INPUT DATE
   ========================= */

.form-input[b-47w7yyrxh6] {
    width: 100%;
    height: 44px;
    padding: 0 13px;
    border: 1px solid #d8ead5;
    border-radius: 13px;
    background: #ffffff;
    color: #2f2926;
    font-size: 15px;
    font-weight: 600;
    outline: none;
    box-shadow: none;
    transition: border-color .15s ease, box-shadow .15s ease;
}

    .form-input:focus[b-47w7yyrxh6] {
        border-color: #58bf17;
        box-shadow: 0 0 0 3px rgba(88, 191, 23, .14);
    }

/* =========================
   DXCOMBOBOX
   ========================= */

.combo-comunicazione[b-47w7yyrxh6] {
    width: 100%;
}

[b-47w7yyrxh6] .combo-comunicazione {
    width: 100%;
}

    [b-47w7yyrxh6] .combo-comunicazione .dxbl-text-edit {
        width: 100%;
        height: 44px;
        border: 1px solid #d8ead5;
        border-radius: 13px;
        background: #ffffff;
        color: #2f2926;
        font-size: 15px;
        font-weight: 600;
        box-shadow: none;
    }

        [b-47w7yyrxh6] .combo-comunicazione .dxbl-text-edit:focus-within {
            border-color: #58bf17;
            box-shadow: 0 0 0 3px rgba(88, 191, 23, .14);
        }

    [b-47w7yyrxh6] .combo-comunicazione input {
        font-size: 15px;
        font-weight: 600;
        color: #2f2926;
    }

/* Popup DevExpress sopra alla modale */
.combo-popup[b-47w7yyrxh6] {
    z-index: 3000 !important;
}

/* =========================
   PULSANTE CERCA
   ========================= */

.comunicazioni-filtro-azione[b-47w7yyrxh6] {
    grid-column: 1 / -1;
}

    .comunicazioni-filtro-azione label[b-47w7yyrxh6] {
        display: none;
    }

.btn-cerca-comunicazioni[b-47w7yyrxh6] {
    width: 100%;
    height: 46px;
    border: 0;
    border-radius: 14px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    background: #58bf17;
    color: #ffffff;
    font-size: 15px;
    line-height: 1;
    font-weight: 900;
    cursor: pointer;
    box-shadow: 0 8px 18px rgba(88, 191, 23, .24);
    transition: background-color .15s ease, transform .15s ease, box-shadow .15s ease;
}

    .btn-cerca-comunicazioni:hover[b-47w7yyrxh6] {
        background: #4fac12;
        box-shadow: 0 10px 22px rgba(88, 191, 23, .28);
    }

    .btn-cerca-comunicazioni:active[b-47w7yyrxh6] {
        transform: scale(.985);
    }

    .btn-cerca-comunicazioni i[b-47w7yyrxh6] {
        font-size: 16px;
    }

/* Avviso offline con aspetto simile al bottone */
.btn-cerca-comunicazioni-offline[b-47w7yyrxh6] {
    width: 100%;
    min-height: 46px;
    padding: 0 16px;
    border: 1px solid #fecaca;
    border-radius: 14px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    background: #fff1f2;
    color: #dc2626;
    font-size: 15px;
    line-height: 1.15;
    font-weight: 900;
    text-align: center;
    cursor: not-allowed;
    user-select: none;
    box-shadow: 0 8px 18px rgba(220, 38, 38, .12);
}

    .btn-cerca-comunicazioni-offline i[b-47w7yyrxh6] {
        flex: 0 0 auto;
        font-size: 17px;
        line-height: 1;
    }

    .btn-cerca-comunicazioni-offline span[b-47w7yyrxh6] {
        min-width: 0;
    }

/* =========================
   BODY SCROLLABILE
   ========================= */

/* Altezza indicativa di una CardComunicazione nella modale */
.app-modal-elenco-comunicazioni[b-47w7yyrxh6] {
    --altezza-card-comunicazione: 82px;
    --padding-body-verticale: 48px;
}

    /* Il body mostra massimo 4 comunicazioni.
   Se le comunicazioni sono più di 4, scrolla solo il body. */
    .app-modal-elenco-comunicazioni .app-modal-body[b-47w7yyrxh6] {
        flex: 0 1 auto;
        min-height: 0;
        max-height: calc((var(--altezza-card-comunicazione) * 4) + var(--padding-body-verticale));
        padding: 24px;
        overflow-y: auto;
        overflow-x: hidden;
        -webkit-overflow-scrolling: touch;
        overscroll-behavior: contain;
        scrollbar-width: none;
        background: #ffffff;
    }

        .app-modal-elenco-comunicazioni .app-modal-body[b-47w7yyrxh6]::-webkit-scrollbar {
            display: none;
        }

.comunicazione-modal-content[b-47w7yyrxh6] {
    min-height: 0;
    display: flex;
    flex-direction: column;
}

/* La lista NON deve avere scroll proprio.
   Lo scroll deve stare solo su app-modal-body. */
.comunicazioni-lista-modale[b-47w7yyrxh6] {
    max-height: none;
    overflow: visible;
}

    /* Forza una misura coerente delle card nella modale */
    .comunicazioni-lista-modale .comunicazione-card[b-47w7yyrxh6] {
        min-height: var(--altezza-card-comunicazione);
    }

/* =========================
   EMPTY / LOADING
   ========================= */

.app-modal-loading[b-47w7yyrxh6] {
    min-height: 160px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #6b7280;
    font-size: 16px;
    font-weight: 600;
}

.comunicazioni-empty[b-47w7yyrxh6] {
    min-height: 120px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #777777;
    font-size: 15px;
    font-weight: 600;
    text-align: center;
}

/* =========================
   FOOTER FISSO
   ========================= */

.app-modal-footer[b-47w7yyrxh6] {
    flex: 0 0 auto;
    padding: 16px 22px;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    border-top: 1px solid #edf2ea;
    background: #ffffff;
    z-index: 10;
}

.app-modal-button[b-47w7yyrxh6] {
    min-width: 120px;
    height: 44px;
    padding: 0 22px;
    border: 0;
    border-radius: 14px;
    background: #58bf17;
    color: #ffffff;
    font-size: 15px;
    font-weight: 800;
    cursor: pointer;
    box-shadow: 0 8px 18px rgba(88, 191, 23, .26);
    transition: background-color .15s ease, transform .15s ease;
}

    .app-modal-button:hover[b-47w7yyrxh6] {
        background: #4fac12;
    }

    .app-modal-button:active[b-47w7yyrxh6] {
        transform: scale(.98);
    }

/* =========================
   TABLET
   ========================= */

@media (max-width: 900px) {
    .app-modal-elenco-comunicazioni[b-47w7yyrxh6] {
        width: min(820px, 100%);
        --altezza-card-comunicazione: 80px;
        --padding-body-verticale: 40px;
    }

    .comunicazioni-filtri[b-47w7yyrxh6] {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        padding: 20px;
        gap: 13px;
    }

    .form-input[b-47w7yyrxh6],
    [b-47w7yyrxh6] .combo-comunicazione .dxbl-text-edit {
        height: 43px;
        font-size: 14px;
    }

    .app-modal-elenco-comunicazioni .app-modal-body[b-47w7yyrxh6] {
        padding: 20px;
    }
}

/* =========================
   MOBILE
   ========================= */

@media (max-width: 640px) {
    .app-modal-backdrop[b-47w7yyrxh6] {
        padding: 12px;
        align-items: flex-end;
    }

    .app-modal-elenco-comunicazioni[b-47w7yyrxh6] {
        width: 100%;
        max-height: 92dvh;
        border-radius: 22px 22px 18px 18px;
        --altezza-card-comunicazione: 76px;
        --padding-body-verticale: 32px;
    }

    .app-modal-header-filtri[b-47w7yyrxh6] {
        border-radius: 22px 22px 0 0;
    }

    .comunicazioni-filtri[b-47w7yyrxh6] {
        grid-template-columns: 1fr;
        padding: 16px;
        gap: 13px;
    }

    .comunicazioni-filtro-azione[b-47w7yyrxh6] {
        grid-column: auto;
    }

    .form-input[b-47w7yyrxh6],
    [b-47w7yyrxh6] .combo-comunicazione .dxbl-text-edit {
        height: 43px;
        font-size: 14px;
    }

    .btn-cerca-comunicazioni[b-47w7yyrxh6] {
        height: 44px;
        border-radius: 13px;
    }

    .btn-cerca-comunicazioni-offline[b-47w7yyrxh6] {
        min-height: 44px;
        padding: 10px 13px;
        border-radius: 13px;
        font-size: 14px;
    }

    .app-modal-elenco-comunicazioni .app-modal-body[b-47w7yyrxh6] {
        padding: 16px;
    }

    .app-modal-footer[b-47w7yyrxh6] {
        padding: 14px 16px 16px;
    }

    .app-modal-button[b-47w7yyrxh6] {
        width: 100%;
    }
}
/* /Pages/Modale/ModaleElencoRichieste.razor.rz.scp.css */
/* =========================
   MODALE ELENCO COMUNICAZIONI
   ========================= */

.app-modal-backdrop[b-e3sxis5l9h] {
    position: fixed;
    inset: 0;
    z-index: 1000;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px;
    background: rgba(31, 41, 55, 0.38);
    backdrop-filter: blur(4px);
}

.app-modal[b-e3sxis5l9h] {
    width: min(680px, 100%);
    max-height: min(720px, 90dvh);
    display: flex;
    flex-direction: column;
    border: 1px solid #e8e8e8;
    border-radius: 22px;
    background: #ffffff;
    box-shadow: 0 24px 80px rgba(0, 0, 0, .20);
    overflow: hidden;
}

.app-modal-comunicazione[b-e3sxis5l9h] {
    animation: app-modal-enter-b-e3sxis5l9h 160ms ease-out;
}

.app-modal-elenco-comunicazioni[b-e3sxis5l9h] {
    width: min(900px, 100%);
    max-height: min(760px, 92dvh);
    overflow: visible;
}

@keyframes app-modal-enter-b-e3sxis5l9h {
    from {
        opacity: 0;
        transform: translateY(8px) scale(.98);
    }

    to {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

/* =========================
   HEADER FILTRI FISSO
   ========================= */

.app-modal-header[b-e3sxis5l9h] {
    flex: 0 0 auto;
    min-height: 76px;
    padding: 18px 22px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    border-bottom: 1px solid #edf2ea;
    background: #ffffff;
}

.app-modal-header-filtri[b-e3sxis5l9h] {
    display: block;
    min-height: 0;
    padding: 0;
    border-bottom: 1px solid #edf2ea;
    background: #fbfdf9;
    overflow: visible;
    z-index: 20;
}

/* Riga filtri:
   Data dal + Data al + Tipo sulla stessa riga
   Cerca sotto a tutta larghezza */
.comunicazioni-filtri[b-e3sxis5l9h] {
    width: 100%;
    padding: 22px 24px 20px;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px 16px;
    align-items: end;
    background: #fbfdf9;
    overflow: visible;
}

.comunicazioni-filtro[b-e3sxis5l9h] {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 7px;
}

    .comunicazioni-filtro label[b-e3sxis5l9h] {
        margin: 0;
        color: #3b312d;
        font-size: 13px;
        line-height: 1;
        font-weight: 800;
    }

/* =========================
   INPUT DATE
   ========================= */

.form-input[b-e3sxis5l9h] {
    width: 100%;
    height: 44px;
    padding: 0 13px;
    border: 1px solid #d8ead5;
    border-radius: 13px;
    background: #ffffff;
    color: #2f2926;
    font-size: 15px;
    font-weight: 600;
    outline: none;
    box-shadow: none;
    transition: border-color .15s ease, box-shadow .15s ease;
}

    .form-input:focus[b-e3sxis5l9h] {
        border-color: #58bf17;
        box-shadow: 0 0 0 3px rgba(88, 191, 23, .14);
    }

/* =========================
   DXCOMBOBOX
   ========================= */

.combo-comunicazione[b-e3sxis5l9h] {
    width: 100%;
}

[b-e3sxis5l9h] .combo-comunicazione {
    width: 100%;
}

    [b-e3sxis5l9h] .combo-comunicazione .dxbl-text-edit {
        width: 100%;
        height: 44px;
        border: 1px solid #d8ead5;
        border-radius: 13px;
        background: #ffffff;
        color: #2f2926;
        font-size: 15px;
        font-weight: 600;
        box-shadow: none;
    }

        [b-e3sxis5l9h] .combo-comunicazione .dxbl-text-edit:focus-within {
            border-color: #58bf17;
            box-shadow: 0 0 0 3px rgba(88, 191, 23, .14);
        }

    [b-e3sxis5l9h] .combo-comunicazione input {
        font-size: 15px;
        font-weight: 600;
        color: #2f2926;
    }

/* Popup DevExpress sopra alla modale */
.combo-popup[b-e3sxis5l9h] {
    z-index: 3000 !important;
}

/* =========================
   PULSANTE CERCA
   ========================= */

.comunicazioni-filtro-azione[b-e3sxis5l9h] {
    grid-column: 1 / -1;
}

    .comunicazioni-filtro-azione label[b-e3sxis5l9h] {
        display: none;
    }

.btn-cerca-comunicazioni[b-e3sxis5l9h] {
    width: 100%;
    height: 46px;
    border: 0;
    border-radius: 14px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    background: #58bf17;
    color: #ffffff;
    font-size: 15px;
    line-height: 1;
    font-weight: 900;
    cursor: pointer;
    box-shadow: 0 8px 18px rgba(88, 191, 23, .24);
    transition: background-color .15s ease, transform .15s ease, box-shadow .15s ease;
}

    .btn-cerca-comunicazioni:hover[b-e3sxis5l9h] {
        background: #4fac12;
        box-shadow: 0 10px 22px rgba(88, 191, 23, .28);
    }

    .btn-cerca-comunicazioni:active[b-e3sxis5l9h] {
        transform: scale(.985);
    }

    .btn-cerca-comunicazioni i[b-e3sxis5l9h] {
        font-size: 16px;
    }

/* Avviso offline con aspetto simile al bottone */
.btn-cerca-comunicazioni-offline[b-e3sxis5l9h] {
    width: 100%;
    min-height: 46px;
    padding: 0 16px;
    border: 1px solid #fecaca;
    border-radius: 14px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    background: #fff1f2;
    color: #dc2626;
    font-size: 15px;
    line-height: 1.15;
    font-weight: 900;
    text-align: center;
    cursor: not-allowed;
    user-select: none;
    box-shadow: 0 8px 18px rgba(220, 38, 38, .12);
}

    .btn-cerca-comunicazioni-offline i[b-e3sxis5l9h] {
        flex: 0 0 auto;
        font-size: 17px;
        line-height: 1;
    }

    .btn-cerca-comunicazioni-offline span[b-e3sxis5l9h] {
        min-width: 0;
    }

/* =========================
   BODY SCROLLABILE
   ========================= */

/* Altezza indicativa di una CardComunicazione nella modale */
.app-modal-elenco-comunicazioni[b-e3sxis5l9h] {
    --altezza-card-comunicazione: 82px;
    --padding-body-verticale: 48px;
}

    /* Il body mostra massimo 4 comunicazioni.
   Se le comunicazioni sono più di 4, scrolla solo il body. */
    .app-modal-elenco-comunicazioni .app-modal-body[b-e3sxis5l9h] {
        flex: 0 1 auto;
        min-height: 0;
        max-height: calc((var(--altezza-card-comunicazione) * 4) + var(--padding-body-verticale));
        padding: 24px;
        overflow-y: auto;
        overflow-x: hidden;
        -webkit-overflow-scrolling: touch;
        overscroll-behavior: contain;
        scrollbar-width: none;
        background: #ffffff;
    }

        .app-modal-elenco-comunicazioni .app-modal-body[b-e3sxis5l9h]::-webkit-scrollbar {
            display: none;
        }

.comunicazione-modal-content[b-e3sxis5l9h] {
    min-height: 0;
    display: flex;
    flex-direction: column;
}

/* La lista NON deve avere scroll proprio.
   Lo scroll deve stare solo su app-modal-body. */
.comunicazioni-lista-modale[b-e3sxis5l9h] {
    max-height: none;
    overflow: visible;
}

    /* Forza una misura coerente delle card nella modale */
    .comunicazioni-lista-modale .comunicazione-card[b-e3sxis5l9h] {
        min-height: var(--altezza-card-comunicazione);
    }

/* =========================
   EMPTY / LOADING
   ========================= */

.app-modal-loading[b-e3sxis5l9h] {
    min-height: 160px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #6b7280;
    font-size: 16px;
    font-weight: 600;
}

.comunicazioni-empty[b-e3sxis5l9h] {
    min-height: 120px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #777777;
    font-size: 15px;
    font-weight: 600;
    text-align: center;
}

/* =========================
   FOOTER FISSO
   ========================= */

.app-modal-footer[b-e3sxis5l9h] {
    flex: 0 0 auto;
    padding: 16px 22px;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    border-top: 1px solid #edf2ea;
    background: #ffffff;
    z-index: 10;
}

.app-modal-button[b-e3sxis5l9h] {
    min-width: 120px;
    height: 44px;
    padding: 0 22px;
    border: 0;
    border-radius: 14px;
    background: #58bf17;
    color: #ffffff;
    font-size: 15px;
    font-weight: 800;
    cursor: pointer;
    box-shadow: 0 8px 18px rgba(88, 191, 23, .26);
    transition: background-color .15s ease, transform .15s ease;
}

    .app-modal-button:hover[b-e3sxis5l9h] {
        background: #4fac12;
    }

    .app-modal-button:active[b-e3sxis5l9h] {
        transform: scale(.98);
    }

/* =========================
   TABLET
   ========================= */

@media (max-width: 900px) {
    .app-modal-elenco-comunicazioni[b-e3sxis5l9h] {
        width: min(820px, 100%);
        --altezza-card-comunicazione: 80px;
        --padding-body-verticale: 40px;
    }

    .comunicazioni-filtri[b-e3sxis5l9h] {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        padding: 20px;
        gap: 13px;
    }

    .form-input[b-e3sxis5l9h],
    [b-e3sxis5l9h] .combo-comunicazione .dxbl-text-edit {
        height: 43px;
        font-size: 14px;
    }

    .app-modal-elenco-comunicazioni .app-modal-body[b-e3sxis5l9h] {
        padding: 20px;
    }
}

/* =========================
   MOBILE
   ========================= */

@media (max-width: 640px) {
    .app-modal-backdrop[b-e3sxis5l9h] {
        padding: 12px;
        align-items: flex-end;
    }

    .app-modal-elenco-comunicazioni[b-e3sxis5l9h] {
        width: 100%;
        max-height: 92dvh;
        border-radius: 22px 22px 18px 18px;
        --altezza-card-comunicazione: 76px;
        --padding-body-verticale: 32px;
    }

    .app-modal-header-filtri[b-e3sxis5l9h] {
        border-radius: 22px 22px 0 0;
    }

    .comunicazioni-filtri[b-e3sxis5l9h] {
        grid-template-columns: 1fr;
        padding: 16px;
        gap: 13px;
    }

    .comunicazioni-filtro-azione[b-e3sxis5l9h] {
        grid-column: auto;
    }

    .form-input[b-e3sxis5l9h],
    [b-e3sxis5l9h] .combo-comunicazione .dxbl-text-edit {
        height: 43px;
        font-size: 14px;
    }

    .btn-cerca-comunicazioni[b-e3sxis5l9h] {
        height: 44px;
        border-radius: 13px;
    }

    .btn-cerca-comunicazioni-offline[b-e3sxis5l9h] {
        min-height: 44px;
        padding: 10px 13px;
        border-radius: 13px;
        font-size: 14px;
    }

    .app-modal-elenco-comunicazioni .app-modal-body[b-e3sxis5l9h] {
        padding: 16px;
    }

    .app-modal-footer[b-e3sxis5l9h] {
        padding: 14px 16px 16px;
    }

    .app-modal-button[b-e3sxis5l9h] {
        width: 100%;
    }
}
/* /Pages/Modale/ModaleRichiesta.razor.rz.scp.css */
.app-modal-richiesta[b-jr7qpkgs0u] {
    width: min(680px,calc(100vw - 32px));
}

.richiesta-modal-content[b-jr7qpkgs0u] {
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.richiesta-modal-head[b-jr7qpkgs0u] {
    display: grid;
    grid-template-columns: 72px minmax(0,1fr);
    align-items: start;
    gap: 18px;
}

.richiesta-modal-main-icon[b-jr7qpkgs0u] {
    width: 64px;
    height: 64px;
    border-radius: 20px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

    .richiesta-modal-main-icon i[b-jr7qpkgs0u] {
        font-size: 32px;
        line-height: 1;
    }

.richiesta-modal-heading[b-jr7qpkgs0u] {
    min-width: 0;
}

    .richiesta-modal-heading h3[b-jr7qpkgs0u] {
        margin: 2px 0 12px;
        color: #2f2926;
        font-size: 25px;
        line-height: 1.18;
        font-weight: 900;
        text-transform: capitalize;
    }

.richiesta-modal-meta[b-jr7qpkgs0u] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px 14px;
    color: #6b7280;
    font-size: 14px;
    line-height: 1.2;
    font-weight: 600;
}

    .richiesta-modal-meta > span:not(.richiesta-badge)[b-jr7qpkgs0u] {
        display: inline-flex;
        align-items: center;
        gap: 7px;
    }

    .richiesta-modal-meta i[b-jr7qpkgs0u] {
        color: #4a9f16;
        font-size: 15px;
    }

.richiesta-modal-dettagli[b-jr7qpkgs0u] {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.richiesta-modal-riga[b-jr7qpkgs0u] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 6px 14px;
}

.richiesta-modal-etichetta[b-jr7qpkgs0u] {
    flex: 0 0 78px;
    color: #8a8f8a;
    font-size: 14px;
    font-weight: 600;
}

.richiesta-modal-valore[b-jr7qpkgs0u] {
    min-width: 0;
    color: #2f2926;
    font-size: 16px;
    font-weight: 600;
    overflow-wrap: anywhere;
}

    .richiesta-modal-valore i[b-jr7qpkgs0u] {
        color: #4a9f16;
        margin-right: 4px;
    }

.richiesta-modal-allegato[b-jr7qpkgs0u] {
    max-width: 100%;
    padding: 7px 12px;
    border: 1px solid #dcebd3;
    border-radius: 10px;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: #f5faf2;
    color: #428f16;
    font-family: inherit;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
}

    .richiesta-modal-allegato span[b-jr7qpkgs0u] {
        min-width: 0;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .richiesta-modal-allegato i[b-jr7qpkgs0u] {
        flex-shrink: 0;
    }

    .richiesta-modal-allegato:hover[b-jr7qpkgs0u] {
        border-color: #58bf17;
        background: #edf8e7;
    }

.richiesta-modal-descrizione[b-jr7qpkgs0u] {
    min-height: 90px;
    padding: 22px;
    border: 1px solid #edf2ea;
    border-radius: 18px;
    background: #fbfdf9;
    color: #3b312d;
    font-size: 17px;
    line-height: 1.55;
    font-weight: 500;
    white-space: pre-line;
    overflow-wrap: anywhere;
}

.richiesta-modal-notestatus[b-jr7qpkgs0u] {
    min-height: 90px;
    padding: 22px;
    border: 1px solid #edf2ea;
    border-radius: 18px;
    font-size: 17px;
    line-height: 1.55;
    font-weight: 500;
    white-space: pre-line;
    overflow-wrap: anywhere;
}



.richiesta-badge[b-jr7qpkgs0u] {
    padding: 7px 12px;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 13px;
    line-height: 1;
    font-weight: 700;
    white-space: nowrap;
}

.richiesta-icona-ferie[b-jr7qpkgs0u] {
    background: #e9f7df;
    color: #4a9f16;
}

.richiesta-icona-permesso[b-jr7qpkgs0u] {
    background: #fff3dc;
    color: #f49a00;
}

.richiesta-icona-malattia[b-jr7qpkgs0u] {
    background: #ffe1e1;
    color: #e11d48;
}

.richiesta-icona-altro[b-jr7qpkgs0u] {
    background: #eee;
    color: #555;
}

.richiesta-badge-approvata[b-jr7qpkgs0u] {
    background: #e9f7df;
    color: #4a9f16;
}

.richiesta-badge-rifiutata[b-jr7qpkgs0u] {
    background: #ffe1e1;
    color: #d71920;
}

.richiesta-badge-attesa[b-jr7qpkgs0u] {
    background: #fff0d9;
    color: #ef8700;
}

.richiesta-badge-normale[b-jr7qpkgs0u] {
    background: #eee;
    color: #555;
}

@media (max-width:640px) {
    .app-modal-richiesta[b-jr7qpkgs0u] {
        width: calc(100vw - 24px);
    }

    .richiesta-modal-content[b-jr7qpkgs0u] {
        gap: 18px;
    }

    .richiesta-modal-head[b-jr7qpkgs0u] {
        grid-template-columns: 56px minmax(0,1fr);
        gap: 14px;
    }

    .richiesta-modal-main-icon[b-jr7qpkgs0u] {
        width: 52px;
        height: 52px;
        border-radius: 17px;
    }

        .richiesta-modal-main-icon i[b-jr7qpkgs0u] {
            font-size: 26px;
        }

    .richiesta-modal-heading h3[b-jr7qpkgs0u] {
        margin-top: 0;
        margin-bottom: 10px;
        font-size: 21px;
    }

    .richiesta-modal-meta[b-jr7qpkgs0u] {
        align-items: flex-start;
        flex-direction: column;
        gap: 9px;
        font-size: 13px;
    }

    .richiesta-modal-etichetta[b-jr7qpkgs0u] {
        flex-basis: 70px;
        font-size: 13px;
    }

    .richiesta-modal-valore[b-jr7qpkgs0u] {
        font-size: 15px;
    }

    .richiesta-modal-descrizione[b-jr7qpkgs0u] {
        min-height: 75px;
        padding: 18px;
        border-radius: 16px;
        font-size: 15px;
        line-height: 1.5;
    }

    .richiesta-modal-notestatus[b-jr7qpkgs0u] {
        min-height: 75px;
        padding: 18px;
        border-radius: 16px;
        font-size: 15px;
        line-height: 1.5;
    }


    .richiesta-badge[b-jr7qpkgs0u] {
        padding: 6px 10px;
        font-size: 12px;
    }
}
/* /Pages/Richieste.razor.rz.scp.css */
/* Layout a due colonne (desktop) / una colonna (mobile) */
.richieste-grid[b-tz7rkih1wd] {
    display: grid;
    grid-template-columns: 1fr;
    gap: 16px;
}

.richieste-colonna-form[b-tz7rkih1wd] {
    display: flex;
    flex-direction: column;
    gap: 14px;
    min-width: 0;
}

/* Selettore tipo a "pillola" */
.richiesta-tipi[b-tz7rkih1wd] {
    display: flex;
    background: #fff;
    border-radius: 16px;
    padding: 5px;
    box-shadow: 0 2px 10px rgba(0, 0, 0, .06);
}

.richiesta-tipo[b-tz7rkih1wd] {
    flex: 1 1 0;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 44px;
    border: 0;
    border-radius: 12px;
    background: transparent;
    color: #443b36;
    font-size: 15px;
    cursor: pointer;
}

    .richiesta-tipo i[b-tz7rkih1wd] {
        font-size: 18px;
    }

    .richiesta-tipo.attivo[b-tz7rkih1wd] {
        background: #61b51c;
        color: #fff;
        font-weight: 500;
    }

    /* separatore sottile tra le tab non attive */
    .richiesta-tipo + .richiesta-tipo:not(.attivo)[b-tz7rkih1wd] {
        border-left: 1px solid #ececec;
        border-radius: 0;
    }

/* Card del form */
.richiesta-form-card[b-tz7rkih1wd] {
    background: #fff;
    border-radius: 16px;
    padding: 16px;
    box-shadow: 0 2px 10px rgba(0, 0, 0, .06);
}

@media (min-width: 992px) {
    .richieste-grid[b-tz7rkih1wd] {
        grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr);
        gap: 24px;
        align-items: start;
    }

    /* Colonna recenti più stretta: titolo del pannello su una sola riga */
    .richieste-colonna-recenti[b-tz7rkih1wd]  .pannello-richieste-header h2 {
        font-size: 20px;
    }
}


.richiesta-form[b-tz7rkih1wd] {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.campi-data[b-tz7rkih1wd] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
    margin-bottom: 4px;
}

.campo-gruppo[b-tz7rkih1wd] {
    min-width: 0;
}

.campo-gruppo label[b-tz7rkih1wd] {
    display: block;
    margin-bottom: 6px;
    font-size: 14px;
    color: #2b2522;
}


/* Casella a due righe: data sopra, ora sotto */
.campo-data-ora[b-tz7rkih1wd] {
    border: 1px solid #dfe3df;
    border-radius: 12px;
    overflow: hidden;
    background: #fff;
}

.campo-riga[b-tz7rkih1wd] {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 0 12px;
    min-height: 44px;
}

    .campo-riga + .campo-riga[b-tz7rkih1wd] {
        border-top: 1px solid #ececec;
    }

    .campo-riga i[b-tz7rkih1wd] {
        font-size: 18px;
        color: #443b36;
    }

    /* Gli InputDate sono componenti Blazor: serve ::deep */
    .campo-riga[b-tz7rkih1wd]  input {
        position: relative;
        flex: 1 1 auto;
        align-self: stretch; /* il campo occupa tutta l'altezza della riga */
        min-width: 0;
        border: 0;
        outline: 0;
        background: transparent;
        font-size: 15px;
        color: #2b2522;
        font-family: inherit;
    }

    /* Nasconde l'icona nativa del browser (calendario/orologio) ma la estende a tutto il campo:
       il selettore si apre con un tocco/click ovunque nella riga */
    .campo-riga[b-tz7rkih1wd]  input::-webkit-calendar-picker-indicator {
        position: absolute;
        inset: 0;
        width: 100%;
        height: 100%;
        opacity: 0;
        cursor: pointer;
    }

/* Messaggi di validazione di Blazor */
[b-tz7rkih1wd] .validation-message {
    color: #c0392b;
    font-size: 13px;
}

.campo-testo[b-tz7rkih1wd] {
    position: relative;
    border: 1px solid #dfe3df;
    border-radius: 12px;
    background: #fff;
}

    .campo-testo[b-tz7rkih1wd]  textarea {
        display: block;
        width: 100%;
        min-height: 96px;
        padding: 12px 12px 28px; /* spazio in basso per il contatore */
        border: 0;
        outline: 0;
        border-radius: 12px;
        background: transparent;
        resize: none;
        font-size: 15px;
        font-family: inherit;
        color: #2b2522;
        box-sizing: border-box;
    }

        .campo-testo[b-tz7rkih1wd]  textarea::placeholder {
            color: #8a8f8a;
        }

.contatore[b-tz7rkih1wd] {
    position: absolute;
    right: 12px;
    bottom: 8px;
    font-size: 13px;
    color: #8a8f8a;
    pointer-events: none;
}

.contatore.contatore-limite[b-tz7rkih1wd] {
color: #c0392b;
}

.label-opzionale[b-tz7rkih1wd] {
    color: #8a8f8a;
}

.allegato-drop[b-tz7rkih1wd] {
    position: relative;
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 16px;
    border: 1.5px dashed #cfd6cf;
    border-radius: 12px;
    background: #fff;
    transition: background .15s, border-color .15s;
}

    /* InputFile trasparente su tutta l'area: gestisce sia click sia drop */
    .allegato-drop[b-tz7rkih1wd]  input[type="file"] {
        position: absolute;
        inset: 0;
        width: 100%;
        height: 100%;
        opacity: 0;
        cursor: pointer;
    }

    .allegato-drop.allegato-drop-over[b-tz7rkih1wd] {
        background: #f1f8ea;
        border-color: #61b51c;
    }

    .allegato-drop.allegato-drop-pieno[b-tz7rkih1wd] {
        border-style: solid;
        border-color: #61b51c;
        background: #f7fbf2;
    }

.allegato-icona[b-tz7rkih1wd] {
    font-size: 34px;
    color: #61b51c;
    flex: 0 0 auto;
}

.allegato-testo[b-tz7rkih1wd] {
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
    font-size: 15px;
    color: #443b36;
}

.allegato-testo small[b-tz7rkih1wd] {
    font-size: 13px;
    color: #8a8f8a;
}

.allegato-nome[b-tz7rkih1wd] {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.allegato-rimuovi[b-tz7rkih1wd] {
    margin-top: 8px;
    padding: 0;
    border: 0;
    background: transparent;
    color: #c0392b;
    font-size: 13px;
    cursor: pointer;
}

.richiesta-avviso[b-tz7rkih1wd] {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    margin-top: 8px;
    padding: 10px 12px;
    border-radius: 10px;
    background: #fff7ed;
    color: #9a3412;
    font-size: 13px;
}

.btn-invia[b-tz7rkih1wd] {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    width: 100%;
    min-height: 52px;
    border: 0;
    border-radius: 12px;
    background: var(--app-btnInvia-bg);
    color: #fff;
    font-size: 17px;
    font-weight: 500;
    font-family: inherit;
    cursor: pointer;
    transition: background .15s, opacity .15s;
}

    .btn-invia:hover:not(:disabled)[b-tz7rkih1wd] {
        background: #56a318;
    }

    .btn-invia:disabled[b-tz7rkih1wd] {
        opacity: .7;
        cursor: default;
    }

    .btn-invia i[b-tz7rkih1wd] {
        font-size: 16px;
    }

.spinner-invio[b-tz7rkih1wd] {
    width: 18px;
    height: 18px;
    border: 2px solid rgba(255, 255, 255, .4);
    border-top-color: #fff;
    border-radius: 50%;
    animation: gira-invio-b-tz7rkih1wd .7s linear infinite;
}

@keyframes gira-invio-b-tz7rkih1wd {
    to {
        transform: rotate(360deg);
    }
}

.richieste-colonna-recenti[b-tz7rkih1wd] {
    min-width: 0;
}
/* /Pages/Timbratura.razor.rz.scp.css */
/* CSS pagina Timbratura */

.timbratura-page[b-bakzygu83s] {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.sol-card[b-bakzygu83s] {
    background: #fff;
    border: 1px solid #eee;
    border-radius: 18px;
    box-shadow: 0 6px 20px rgba(0,0,0,.06);
}

/* Orologio */

.timbratura-orologio[b-bakzygu83s] {
    padding: 24px;
    text-align: center;
}

.timbratura-ora[b-bakzygu83s] {
    color: #443b36;
    font-size: 58px;
    font-weight: 600;
    line-height: 1;
    font-variant-numeric: tabular-nums;
}

.timbratura-data[b-bakzygu83s] {
    margin-top: 10px;
    color: #666;
    font-size: 17px;
    text-transform: capitalize;
}

/* Pulsante */

.timbratura-azioni[b-bakzygu83s] {
    width: 100%;
}

/* Stato */

.timbratura-stato[b-bakzygu83s] {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 18px;
}

.timbratura-stato-icon[b-bakzygu83s] {
    width: 58px;
    height: 58px;
    flex: 0 0 58px;
    border-radius: 50%;
    background: #61b51c;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
}

    .timbratura-stato-icon i[b-bakzygu83s] {
        font-size: 30px;
    }

.timbratura-stato strong[b-bakzygu83s] {
    display: block;
    margin-bottom: 4px;
    color: #443b36;
    font-size: 20px;
}

.timbratura-stato span[b-bakzygu83s] {
    color: #61b51c;
    font-weight: 600;
}

/* Riepilogo */

.timbratura-riepilogo[b-bakzygu83s] {
    padding: 22px 24px;
}

    .timbratura-riepilogo h2[b-bakzygu83s] {
        margin: 0 0 16px;
        color: #443b36;
        font-size: 21px;
        font-weight: 700;
    }

/* Singola coppia ingresso/uscita */

.timbratura-riga[b-bakzygu83s] {
    position: relative;
    padding: 18px 4px;
    border-bottom: 1px solid #eee;
}

    .timbratura-riga:last-child[b-bakzygu83s] {
        border-bottom: 0;
    }

    .timbratura-riga.da-sincronizzare[b-bakzygu83s] {
        margin: 4px -8px;
        padding: 14px 12px 18px;
        border: 1px solid #f0d08a;
        border-radius: 12px;
        background: #fffaf0;
    }

.timbratura-dati[b-bakzygu83s] {
    display: grid;
    grid-template-columns: minmax(0,1fr) 1px minmax(0,1fr);
    gap: 24px;
    align-items: center;
}

.timbratura-colonna[b-bakzygu83s] {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.timbratura-intestazione[b-bakzygu83s] {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 15px;
    font-weight: 700;
}

    .timbratura-intestazione i[b-bakzygu83s] {
        font-size: 20px;
    }

    .timbratura-intestazione.entrata[b-bakzygu83s] {
        color: #55b914;
    }

    .timbratura-intestazione.uscita[b-bakzygu83s] {
        color: #443b36;
    }

.timbratura-colonna strong[b-bakzygu83s] {
    color: #443b36;
    font-size: 28px;
    font-weight: 800;
    line-height: 1.1;
    font-variant-numeric: tabular-nums;
}

.timbratura-separatore[b-bakzygu83s] {
    width: 1px;
    height: 48px;
    background: #e5e5e5;
}

.timbratura-effettiva[b-bakzygu83s] {
    color: #817973;
    font-size: 12px;
}

.timbratura-aperta[b-bakzygu83s] {
    color: #55b914;
    font-size: 17px;
    font-weight: 700;
}

/* Timbratura ancora solo locale */

.timbratura-sync[b-bakzygu83s] {
    width: fit-content;
    margin-bottom: 12px;
    padding: 5px 9px;
    display: flex;
    align-items: center;
    gap: 6px;
    border-radius: 8px;
    background: #fff0c9;
    color: #956600;
    font-size: 12px;
    font-weight: 700;
}

    .timbratura-sync i[b-bakzygu83s] {
        font-size: 15px;
    }

/* Nessuna timbratura */

.timbratura-vuota[b-bakzygu83s] {
    min-height: 70px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    color: #6f6864;
    text-align: center;
}

    .timbratura-vuota i[b-bakzygu83s] {
        font-size: 23px;
    }

/* Desktop */

@media (min-width: 992px) {
    .timbratura-page[b-bakzygu83s] {
        gap: 16px;
    }

    .timbratura-orologio[b-bakzygu83s] {
        padding: 24px;
    }

    .timbratura-ora[b-bakzygu83s] {
        font-size: 64px;
    }

    .timbratura-stato[b-bakzygu83s] {
        padding: 20px 24px;
    }

    .timbratura-riepilogo[b-bakzygu83s] {
        padding: 26px 32px;
    }

    .timbratura-riga.da-sincronizzare[b-bakzygu83s] {
        margin-left: -10px;
        margin-right: -10px;
        padding-left: 16px;
        padding-right: 16px;
    }
}

/* Tablet */

@media (min-width: 576px) and (max-width: 991.98px) {
    .timbratura-orologio[b-bakzygu83s] {
        padding: 22px;
    }

    .timbratura-ora[b-bakzygu83s] {
        font-size: 54px;
    }

    .timbratura-riepilogo[b-bakzygu83s] {
        padding: 20px 22px;
    }

    .timbratura-dati[b-bakzygu83s] {
        gap: 18px;
    }

    .timbratura-colonna strong[b-bakzygu83s] {
        font-size: 26px;
    }
}

/* Mobile */

@media (max-width: 575.98px) {
    .timbratura-page[b-bakzygu83s] {
        gap: 12px;
    }

    .sol-card[b-bakzygu83s] {
        border-radius: 14px;
    }

    .timbratura-orologio[b-bakzygu83s] {
        padding: 19px 14px;
    }

    .timbratura-ora[b-bakzygu83s] {
        font-size: 48px;
    }

    .timbratura-data[b-bakzygu83s] {
        margin-top: 8px;
        font-size: 14px;
    }

    .timbratura-stato[b-bakzygu83s] {
        gap: 12px;
        padding: 14px;
    }

    .timbratura-stato-icon[b-bakzygu83s] {
        width: 48px;
        height: 48px;
        flex-basis: 48px;
    }

        .timbratura-stato-icon i[b-bakzygu83s] {
            font-size: 25px;
        }

    .timbratura-stato strong[b-bakzygu83s] {
        font-size: 17px;
    }

    .timbratura-stato div[b-bakzygu83s] {
        font-size: 13px;
    }

    .timbratura-riepilogo[b-bakzygu83s] {
        padding: 17px 15px;
    }

        .timbratura-riepilogo h2[b-bakzygu83s] {
            margin-bottom: 12px;
            font-size: 19px;
        }

    .timbratura-riga[b-bakzygu83s] {
        padding: 15px 2px;
    }

        .timbratura-riga.da-sincronizzare[b-bakzygu83s] {
            margin: 4px -5px;
            padding: 12px 9px 15px;
            border-radius: 10px;
        }

    .timbratura-dati[b-bakzygu83s] {
        grid-template-columns: minmax(0,1fr) 1px minmax(0,1fr);
        gap: 11px;
    }

    .timbratura-intestazione[b-bakzygu83s] {
        gap: 6px;
        font-size: 13px;
    }

        .timbratura-intestazione i[b-bakzygu83s] {
            font-size: 17px;
        }

    .timbratura-colonna strong[b-bakzygu83s] {
        font-size: 23px;
    }

    .timbratura-effettiva[b-bakzygu83s] {
        font-size: 11px;
    }

    .timbratura-aperta[b-bakzygu83s] {
        font-size: 14px;
    }

    .timbratura-separatore[b-bakzygu83s] {
        height: 44px;
    }

    .timbratura-sync[b-bakzygu83s] {
        margin-bottom: 10px;
        padding: 4px 7px;
        font-size: 11px;
    }

        .timbratura-sync i[b-bakzygu83s] {
            font-size: 13px;
        }

    .timbratura-vuota[b-bakzygu83s] {
        min-height: 62px;
        font-size: 13px;
    }
}
