/* /Components/Common/Grid/GridRowActionsDefault.razor.rz.scp.css */
.button-group[b-4mj78ymv17] {
    display: flex;
    gap: 6px;
}
/* /Components/Common/Grid/GridToolbarDefault.razor.rz.scp.css */
/* ===========================
   GridToolbarDefault – CSS
   Armonizzato col MessageCenter
   =========================== */

/* contenitore principale (stessa “cornice” del MessageCenter) */
.toolbar[b-v2c0a9dnmi] {
    border: #ddd solid 1px;
    border-radius: 5px;
    padding: 10px;
    background-color: #f9f9f9;
    max-width: 100%;
    /* altezza standard bottoni */
    --tb-btn-size: 38px;
}

/* layout interno */
.toolbar-container[b-v2c0a9dnmi] {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: flex-start;
    gap: 16px;
    flex-wrap: nowrap;
}

.toolbar-buttons[b-v2c0a9dnmi] {
    display: flex;
    gap: 8px;
    align-items: center;
}

/* ===========================
   Bottoni nella toolbar
   (GridCommandButton -> <button.k-button> di Telerik)
   Serve ::deep per superare la CSS isolation.
   =========================== */

/* icon-only button (quadrato) */
[b-v2c0a9dnmi] .toolbar .k-icon-button {
    width: var(--tb-btn-size) !important;
    min-width: var(--tb-btn-size) !important;
    height: var(--tb-btn-size) !important;
    min-height: var(--tb-btn-size) !important;
    padding: 0 !important;
    box-sizing: border-box;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
    aspect-ratio: 1 / 1;
}

/* button “normale” (con eventuale testo) → stessa altezza */
[b-v2c0a9dnmi] .toolbar .k-button:not(.k-icon-button) {
    height: var(--tb-btn-size);
}

/* icone un filo più leggibili (facoltativo) */
[b-v2c0a9dnmi] .toolbar .k-button .k-svg-icon {
    width: 1.25rem;
    height: 1.25rem;
}

/* azzera padding del contenuto testo (se presente) per compattezza */
[b-v2c0a9dnmi] .toolbar .k-button .k-button-text {
    padding: 0;
    line-height: 1;
}
/* /Components/MessageCenter/MessageCenter.razor.rz.scp.css */
/* ===========================
   MessageCenter – CSS unificato
   =========================== */

/* --- contenitore principale --- */
.message-center[b-a7q8big796] {
    border: #ddd solid 1px;
    border-radius: 5px;
    padding: 10px;
    background-color: #f9f9f9;
    max-width: 100%;
    /* Altezza standard dei bottoni (md ~ 38px). */
    --mc-filter-size: 38px;
}

/* --- layout header: filtri | comandi | status --- */
.message-center-container[b-a7q8big796] {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    flex-wrap: nowrap;
}

/* --- gruppi filtri e comandi --- */
.message-center-filters[b-a7q8big796],
.message-center-controls[b-a7q8big796] {
    display: flex;
    gap: 8px;
    align-items: center;
    justify-content: center;
}

/* ===========================
   Bottoni filtro (con badge)
   =========================== */

/* Forza i 4 filtri ad essere quadrati (serve ::deep per superare la CSS isolation) */
[b-a7q8big796] .message-filter-button.k-icon-button {
    width: var(--mc-filter-size) !important;
    min-width: var(--mc-filter-size) !important;
    height: var(--mc-filter-size) !important;
    min-height: var(--mc-filter-size) !important;
    padding: 0 !important;
    box-sizing: border-box;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
    aspect-ratio: 1 / 1;
}

/* Rimuove padding del contenuto testo del bottone Telerik */
[b-a7q8big796] .message-filter-button .k-button-text {
    padding: 0 !important;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;
}

/* --- badge solo numero --- */
.badge-only[b-a7q8big796] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-weight: bold;
    font-size: 16px;
}

/* --- cerchietto del numero --- */
.badge-count[b-a7q8big796],
.badge-placeholder[b-a7q8big796] {
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background-color: #fff;
    color: #000;
    font-size: 13px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.badge-placeholder[b-a7q8big796] {
    opacity: 0.3;
}

/* ===========================
   Bottoni comandi (nav/elimina)
   =========================== */

/* Allinea l’altezza dei comandi all’altezza dei filtri */
[b-a7q8big796] .message-center-controls .k-button {
    height: var(--mc-filter-size);
}

/* --- area messaggio corrente --- */
.status-message[b-a7q8big796] {
    flex-grow: 1;
    padding: 8px 16px;
    border-radius: 5px;
    font-size: 0.9rem;
    box-shadow: 0 2px 4px rgb(0 0 0 / 10%);
    min-height: 40px;
}

/* --- varianti stato --- */
.status-success[b-a7q8big796] {
    background-color: #e6f9e6;
    color: #2d662d;
}

.status-warning[b-a7q8big796] {
    background-color: #fff8e1;
    color: #655303;
}

.status-danger[b-a7q8big796] {
    background-color: #fdecea;
    color: #721c24;
}

.status-system[b-a7q8big796] {
    background-color: #fff3e0;
    color: #bf5600;
}

.status-default[b-a7q8big796] {
    background-color: #f8f9fa;
    color: #6c757d;
    text-align: center;
}
/* /Shared/MainLayout.razor.rz.scp.css */
/* Layout base (teniamo la struttura del template) */
.page[b-uqzpzan2pk] {
    position: relative;
    display: flex;
    flex-direction: column;
}

main[b-uqzpzan2pk] {
    flex: 1;
}

/* Sidebar: colori delegati a site.css (kill del viola) */
.sidebar[b-uqzpzan2pk] {
    background: var(--ps-sidebar-bg) !important;
    color: var(--ps-sidebar-fg) !important;
}

/* Top row: struttura + GRAFICA (gradiente brand→P) */
.top-row[b-uqzpzan2pk] {
    display: flex;
    align-items: center;
    height: var(--ps-topbar-h, 3.5rem);
    /* Gradiente orizzontale: sinistra “brand area”, destra colore P */
    background: linear-gradient( 90deg, var(--ps-topbar-grad-left) 0%, var(--ps-topbar-grad-right) 100% );
}

    /* Spaziatura link nella top-row */
    .top-row[b-uqzpzan2pk]  a,
    .top-row .btn-link[b-uqzpzan2pk] {
        white-space: nowrap;
        margin-left: 1.5rem;
        /* GRAFICA link: grassetto + lime del logo */
        font-weight: 700;
        color: var(--ps-topbar-link) !important;
        text-decoration: none;
    }

        .top-row[b-uqzpzan2pk]  a:first-child {
            overflow: hidden;
            text-overflow: ellipsis;
        }

        .top-row[b-uqzpzan2pk]  a:hover,
        .top-row .btn-link:hover[b-uqzpzan2pk],
        .top-row[b-uqzpzan2pk]  a:focus,
        .top-row .btn-link:focus[b-uqzpzan2pk] {
            color: var(--ps-topbar-link-hover) !important;
            text-decoration: none;
        }

/* Small screens */
@media (max-width: 640.98px) {
    .top-row:not(.auth)[b-uqzpzan2pk] {
        display: none;
    }

    .top-row.auth[b-uqzpzan2pk] {
        justify-content: space-between;
    }

    /* FIX: usare ::deep anche qui per colpire i link dentro LoginDisplay */
    .top-row[b-uqzpzan2pk]  a, .top-row .btn-link[b-uqzpzan2pk] {
        margin-left: 0;
    }
}

/* Wide screens */
@media (min-width: 641px) {
    .page[b-uqzpzan2pk] {
        flex-direction: row;
    }

    .sidebar[b-uqzpzan2pk] {
        width: 250px;
        height: 100vh;
        position: sticky;
        top: 0;
    }

    .top-row[b-uqzpzan2pk] {
        position: sticky;
        top: 0;
        z-index: 1; /* lasciato invariato (solo grafica in questa fase) */
    }

    .top-row[b-uqzpzan2pk], article[b-uqzpzan2pk] {
        padding-left: 2rem !important;
        padding-right: 1.5rem !important;
    }

    /* Allinea a destra i link (Login, Register, ecc.) nella topbar principale */
    .page > main > .top-row[b-uqzpzan2pk] {
        justify-content: flex-end;
    }
}

/* Topbar (grafico): nascondi "About" e "Register" solo nella topbar */
.top-row[b-uqzpzan2pk]  a[href^="https://docs.microsoft.com/aspnet"],
.top-row[b-uqzpzan2pk]  a[href*="Identity/Account/Register"],
.top-row[b-uqzpzan2pk]  a[href$="/Identity/Account/Register"] {
    display: none !important;
}

/* /Shared/NavMenu.razor.rz.scp.css */
.navbar-toggler[b-ux8whaofmv] {
    background-color: rgba(255, 255, 255, 0.1);
}

.top-row[b-ux8whaofmv] {
    height: 3.5rem;
    background-color: rgba(0,0,0,0.4);
}

.navbar-brand[b-ux8whaofmv] {
    font-size: 1.1rem;
}

/* Solo struttura; colori gestiti centralmente in site.css */
.nav-item[b-ux8whaofmv] {
    font-size: 0.9rem;
    padding-bottom: 0.5rem;
}

    .nav-item:first-of-type[b-ux8whaofmv] {
        padding-top: 1rem;
    }

    .nav-item:last-of-type[b-ux8whaofmv] {
        padding-bottom: 1rem;
    }

    /* Rettangolo arrotondato della voce, spaziature e layout */
    .nav-item[b-ux8whaofmv]  a {
        border-radius: 8px;
        height: 3rem;
        line-height: 3rem;
        display: flex;
        align-items: center;
        padding-inline-start: var(--ps-icon-left); /* distanza icona-bordo sinistro */
        gap: var(--ps-icon-gap); /* distanza icona-testo */
    }

    /* Dimensioni icone Telerik (SVG); colore ereditato */
    .nav-item[b-ux8whaofmv]  .k-svg-icon,
    .nav-item[b-ux8whaofmv]  .k-icon {
        width: 1.25rem;
        height: 1.25rem;
        flex: 0 0 auto;
    }

/* Wide screens */
@media (min-width: 641px) {
    .navbar-toggler[b-ux8whaofmv] {
        display: none;
    }

    .collapse[b-ux8whaofmv] {
        display: block;
    }
    /* Never collapse the sidebar for wide screens */
    .nav-scrollable[b-ux8whaofmv] {
        height: calc(100vh - 3.5rem);
        overflow-y: auto;
    }
}
